Package: evadb
Database system for AI-powered appsFollow EvaDBEvaDB enables software developers to build AI apps in a few lines of code. Its powerful SQL API simplifies AI app development for both structured and unstructured data. EvaDB's benefits include:🔮 Easy toconnect the EvaDB query engine with your data sources, such as PostgreSQL or S3 buckets, and build AI-powered apps with SQL queries.Structured Data SourcesUnstructured Data SourcesApplication Data SourcesPostgreSQLSQLiteMySQLMariaDBClickhouseSnowflakeLocal filesystemAWS S3 bucketGithubMore details on the supported data sources isavailable here.🤝Query your connected data with a pre-trained AI modelfrom Hugging Face, OpenAI, YOLO, Stable Diffusion, etc.Hugging FaceOpenAIYOLOAudio ClassificationAutomatic Speech RecognitionText ClassificationSummarizationText2Text GenerationText GenerationImage ClassificationImage SegmentationImage-to-TextObject DetectionDepth Estimationgpt-4gpt-4-0314gpt-4-32kgpt-4-32k-0314gpt-3.5-turbogpt-3.5-turbo-0301yolov8n.ptyolov8s.ptyolov8m.ptyolov8l.ptyolov8x.ptMore details on the supported AI models isavailable here🔧 Create or fine-tune AI models for regression, classification, and time series forecasting.RegressionClassificationTime Series ForecastingLudwigSklearnXgboostLudwigXboostStatsforecastNeuralforecastMore details on the supported AutoML frameworks isavailable here.💰 Faster AI queries thanks to AI-centric query optimizations such as caching, batching, and parallel processing.Function result caching helps reuse results of expensive AI function calls.LLM batching reduces token usage and dollars spent on LLM calls.Parallel query processing saves money and time spent on running AI models by better utilizing CPUs and/or GPUs.Query predicate re-ordering and predicate push-down accelerates queries over both structured and unstructured data.More details on the optimizations in EvaDB isavailable here.👋 Hey! If you're excited about our vision of bringing AI inside database systems, show some ❤️ by:⭐ starring ourGitHub 🐙 Repo📟 joining ourSlack Community🐦 following us onTwitter📝 following us onMediumWe would love to learn about your AI app. Please complete this 1-minute form:https://v0fbgcue0cm.typeform.com/to/BZHZWeZmQuick LinksQuick LinksDocumentationWhy EvaDBHow does EvaDB workIllustrative QueriesIllustrative AppsMore Illustrative QueriesArchitecture of EvaDBCommunity and SupportContributingStar HistoryLicenseDocumentationYou can find the complete documentation of EvaDB atevadb.ai/docs📚✨🚀Why EvaDBIn the world of AI, we've reached a stage where many AI tasks that were traditionally handled by AI or ML engineers can now be automated. EvaDB enables software developers with the ability to perform advanced AI tasks without needing to delve into the intricate details.EvaDB covers many AI applications, including regression, classification, image recognition, question answering, and many other generative AI applications. EvaDB targets 99% of AI problems that are often repetitive and can be automated with a simple function call in an SQL query. Until now, there is no comprehensive open-source framework for bringing AI into an existing SQL database system with a principled AI optimization framework, and that's where EvaDB comes in.Our target audience is software developers who may not necessarily have a background in AI but require AI capabilities to solve specific problems. We target programmers who write simple SQL queries inside their CRUD apps. With EvaDB, it is possible to easily add AI features to these apps by calling built-in AI functions in the queries.How does EvaDB workConnect EvaDB to your SQL and vector database systems with the`CREATE DATABASE`and`CREATE INDEX`statements.Write SQL queries with AI functions to get inference results:Pick a pre-trained AI model from Hugging Face, Open AI, Ultralytics, PyTorch, and built-in AI frameworks for generative AI, NLP, and vision applications;or pick from a variety of state-of-the-art ML engines for classic ML use-cases (classification, regression, etc.);or bring your custom model built with any AI/ML framework using `CREATE FUNCTION`.Follow thegetting startedguide to get on-boarded as fast as possible.Illustrative QueriesGet insights about Github stargazers using GPT4.SELECTname,country,email,programming_languages,social_media,GPT4(prompt,topics_of_interest)FROMgpt4all_StargazerInsights;--- Prompt to GPT-4Youaregiven10rowsofinput,eachrowisseparatedbytwonewlinecharacters.Categorizethetopicslistedineachrowintooneormoreofthefollowing3technicalareas-MachineLearning,Databases,andWebdevelopment.Ifthetopicslistedarenotrelatedtoanyofthese3areas,outputasingleN/A.Donotmissanyinputrow.Donotaddanyadditionaltextornumberstoyouroutput.Theoutputrowsmustbeseparatedbytwonewlinecharacters.Eachinputrowmustgenerateexactlyoneoutputrow.Forexample,theinputrow[Recommendationsystems,Deepneuralnetworks,Postgres]mustgenerateonlytheoutputrow[MachineLearning,Databases].Theinputrow[enterpreneurship,startups,venturecapital]mustgeneratetheoutputrowN/A.Build a vector index on the feature embeddings returned by the SIFT Feature Extractor on a collection of Reddit images. Return the top-5 similar images for a given image.CREATEINDEXreddit_sift_image_indexONreddit_dataset(SiftFeatureExtractor(data))USINGFAISSSELECTnameFROMreddit_datasetORDERBYSimilarity(SiftFeatureExtractor(Open('reddit-images/g1074_d4mxztt.jpg')),SiftFeatureExtractor(data))LIMIT5Illustrative AppsHere are some illustrative AI apps built using EvaDB (each notebook can be opened on Google Colab):🔮Sentiment Analysis using LLM within PostgreSQL🔮ChatGPT-based Video Question Answering🔮Text Summarization on PDF Documents🔮Analysing Traffic Flow with YOLO🔮Examining Emotions of Movie🔮Image Similarity SearchMore Illustrative QueriesGet a transcript from a video stored in a table using a Speech Recognition model. Then, ask questions on the extracted transcript using ChatGPT.CREATETABLEtext_summaryASSELECTSpeechRecognizer(audio)FROMukraine_video;SELECTChatGPT('Is this video summary related to Ukraine russia war',text)FROMtext_summary;Train a classic ML model for prediction using theLudwig AIengine.CREATEFUNCTIONIFNOTEXISTSPredictHouseRentFROM(SELECT*FROMHomeRentals)TYPELudwigPREDICT'rental_price'TIME_LIMIT120;Architecture of EvaDBEvaDB's AI-centric query optimizer takes a query as input and generates a query plan. The query engine takes the query plan and hits the relevant backends to efficiently process the query:
1. SQL Database Systems (Structured Data)
2. AI Frameworks (Transform Unstructured Data to Structured Data; Unstructured data includes PDFs, text, images, etc. stored locally or on the cloud)
3. Vector Database Systems (Feature Embeddings)Community and SupportWe would love to learn about your AI app. Please complete this 1-minute form:https://v0fbgcue0cm.typeform.com/to/BZHZWeZmIf you run into any bugs or have any comments, you can reach us on ourSlack Community 📟or create aGithub Issue :bug:.Here is EvaDB's publicroadmap 🛤️. We prioritize features based on user feedback, so we'd love to hear from you!ContributingWe are a lean team on a mission to bring AI inside database systems! All kinds of contributions to EvaDB are appreciated 🙌 If you'd like to get involved, here's information on where we could use your help:contribution guide🤗CI Status:Star HistoryLicenseCopyright (c)Georgia Tech Database Group.
Licensed under anApache License.