Skip to content

Commit

Permalink
release: merge staging into master (georgia-tech-db#1032)
Browse files Browse the repository at this point in the history
Co-authored-by: Joy Arulraj <[email protected]>
Co-authored-by: Andy Xu <[email protected]>
Co-authored-by: Jiashen Cao <[email protected]>
Co-authored-by: rohith mulumudy <[email protected]>
Co-authored-by: Chitti Ankith <[email protected]>
Co-authored-by: Ankith Reddy Chitti <[email protected]>
  • Loading branch information
7 people authored and a0x8o committed Oct 30, 2023
1 parent fb7418a commit 30d7834
Show file tree
Hide file tree
Showing 40 changed files with 1,347 additions and 2 deletions.
125 changes: 123 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
<!-- <a href="https://pepy.tech/project/evadb">
=======
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
Expand All @@ -88,15 +89,23 @@
<<<<<<< HEAD
=======
=======
=======
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
>>>>>>> c63abee7 (release: merge staging into master (#1032))
<p align="center">
<a href="https://evadb.readthedocs.io">
<img src="https://raw.githubusercontent.com/georgia-tech-db/evadb/master/docs/images/evadb/evadb-full-logo.svg" width="500" alt="EvaDB">
<img src="https://raw.githubusercontent.com/georgia-tech-db/evadb/master/docs/images/evadb/evadb-full-logo.svg" width="40%" alt="EvaDB">
</a>
</p>
#
<p align="center"><i><b>Bring AI inside your database system and build AI-powered apps</b></i></p>
<<<<<<< HEAD
>>>>>>> cd39ae6e (docs: Update README.md)
=======
<<<<<<< HEAD
>>>>>>> c63abee7 (release: merge staging into master (#1032))
<div align="center">
<a href="https://colab.research.google.com/github/georgia-tech-db/evadb/blob/master/tutorials/03-emotion-analysis.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Check out EvaDB on Colab"/>
Expand All @@ -117,6 +126,9 @@
<!-- <a href="https://pepy.tech/project/evadb">
>>>>>>> ad6dc032 (docs: Update README.md)
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> c63abee7 (release: merge staging into master (#1032))
=======
<p align="center">
<a href="https://github.com/georgia-tech-db/evadb/fork" target="blank">
Expand Down Expand Up @@ -177,8 +189,11 @@
<img alt="Coverage Status" src="https://coveralls.io/repos/github/georgia-tech-db/eva/badge.svg?branch=master"/>
<!-- <a href="https://pepy.tech/project/evadb">
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
<<<<<<< HEAD
=======
>>>>>>> cd39ae6e (docs: Update README.md)
=======
>>>>>>> c63abee7 (release: merge staging into master (#1032))
<img alt="Downloads" src="https://static.pepy.tech/badge/evadb"/>
</a> -->
<br />
Expand Down Expand Up @@ -212,6 +227,9 @@ EvaDB enables software developers to build AI apps in a few lines of code. Its p

<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> c63abee7 (release: merge staging into master (#1032))
- [Quick Links](#quick-links)
- [Documentation](#documentation)
- [Why EvaDB](#why-evadb)
Expand All @@ -225,6 +243,7 @@ EvaDB enables software developers to build AI apps in a few lines of code. Its p
- [Star History](#star-history)
- [License](#license)
=======
<<<<<<< HEAD
=======
- [Quick Links](#quick-links)
>>>>>>> 2dacff69 (feat: sync master staging (#1050))
Expand All @@ -239,6 +258,14 @@ EvaDB enables software developers to build AI apps in a few lines of code. Its p
- [Contributing](#contributing)
- [Star History](#star-history)
- [License](#license)
=======
- [Documentation](#documentation)
- [Why EvaDB](#why-evadb)
- [How does EvaDB work](#how-does-evadb-work)
- [Community and Support](#community-and-support)
- [Illustrative Queries](#illustrative-queries)
- [Illustrative Apps](#illustrative-apps)
>>>>>>> c63abee7 (release: merge staging into master (#1032))
## Documentation

Expand Down Expand Up @@ -379,6 +406,73 @@ SELECT name FROM reddit_dataset ORDER BY

## Illustrative Apps

Here are some illustrative AI apps built using EvaDB (each notebook can be opened on Google Colab):

* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/13-privategpt.html">PrivateGPT</a>
* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/08-chatgpt.html">ChatGPT-based Video Question Answering</a>
* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/12-query-pdf.html">Querying PDF Documents</a>
* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/02-object-detection.html">Analysing Traffic Flow with YOLO</a>
* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/03-emotion-analysis.html">Examining Emotions of Movie</a>
* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/07-object-segmentation-huggingface.html">Image Segmentation with Hugging Face</a>
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))

<<<<<<< HEAD
You can find the complete documentation of EvaDB at [evadb.ai/docs](https://evadb.ai/docs/) 📚✨🚀

## Why EvaDB

In 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 work

<details>
<ul>
<li>Connect EvaDB to your database system with the `CREATE DATABASE` statement.</li>
<li>Write SQL queries with AI functions to get inference results:</li>
<ul>
<li>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;</li>
<li>or pick from a variety of state-of-the-art ML engines for classic ML use-cases (classification, regression, etc.);</li>
<li>or bring your custom model built with any AI/ML framework using `CREATE FUNCTION`.</li>
</ul>
</ul>

Follow the [getting started](https://evadb.readthedocs.io/en/stable/source/overview/getting-started.html) guide to get on-boarded as fast as possible.
</details>

## Illustrative Queries

* Run the MNIST Image Classification model to obtain digit labels for each frame in the video.

```sql
SELECT MnistImageClassifier(data).label FROM mnist_video;
```

* Build a vector index on the feature embeddings returned by the SIFT Feature Extractor on a collection of Reddit images.

```sql
CREATE INDEX reddit_sift_image_index
ON reddit_dataset (SiftFeatureExtractor(data))
USING FAISS
```

* Retrieve the top-5 most similar images for the given image using the index.

```sql
SELECT name FROM reddit_dataset ORDER BY
Similarity(
SiftFeatureExtractor(Open('reddit-images/g1074_d4mxztt.jpg')),
SiftFeatureExtractor(data)
)
LIMIT 5
```

## Illustrative Apps

Here are some illustrative AI apps built using EvaDB (each notebook can be opened on Google Colab):

* 🔮 <a href="https://evadb.readthedocs.io/en/stable/source/usecases/sentiment-analysis.html">Sentiment Analysis using LLM within PostgreSQL</a>
Expand Down Expand Up @@ -427,15 +521,28 @@ EvaDB's AI-centric query optimizer takes a query as input and generates a query

<details>

<<<<<<< HEAD
* Get a transcript from a video stored in a table using a Speech Recognition model. Then, ask questions on the extracted transcript using ChatGPT.
=======
* Store the text returned by a Speech Recognition model on the audio component of a video in a table.
>>>>>>> c63abee7 (release: merge staging into master (#1032))
```sql
CREATE TABLE text_summary AS
SELECT SpeechRecognizer(audio) FROM ukraine_video;
<<<<<<< HEAD
=======
```

* Run ChatGPT on the `text` column in a table.

```sql
>>>>>>> c63abee7 (release: merge staging into master (#1032))
SELECT ChatGPT('Is this video summary related to Ukraine russia war', text)
FROM text_summary;
```

<<<<<<< HEAD
* Train a classic ML model for prediction using the <a href="https://ludwig.ai/latest/">Ludwig AI</a> engine.

```sql
Expand All @@ -444,6 +551,16 @@ CREATE FUNCTION IF NOT EXISTS PredictHouseRent FROM
TYPE Ludwig
PREDICT 'rental_price'
TIME_LIMIT 120;
=======
* Train an ML model using the <a href="https://ludwig.ai/latest/">Ludwig AI</a> engine to predict a column in a table.

```sql
CREATE UDF IF NOT EXISTS PredictHouseRent FROM
( SELECT * FROM HomeRentals )
TYPE Ludwig
'predict' 'rental_price'
'time_limit' 120;
>>>>>>> c63abee7 (release: merge staging into master (#1032))
```

</details>
Expand All @@ -453,7 +570,11 @@ TIME_LIMIT 120;
<details>
EvaDB'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)
<<<<<<< HEAD
2. AI Frameworks (Transform Unstructured Data to Structured Data; Unstructured data includes PDFs, text, images, etc. stored locally or on the cloud)
=======
2. AI Frameworks (Transform Unstructured Data to Structured Data, Unstructured data includes PDFs, images, podcasts, etc. stored on cloud buckets or local filesystem)
>>>>>>> c63abee7 (release: merge staging into master (#1032))
3. Vector Database Systems (Feature Embeddings)
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
Expand Down
41 changes: 41 additions & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,23 @@ parts:
=======
- file: source/overview/connect-to-database
title: Connect to Database
<<<<<<< HEAD
- file: source/overview/model-inference
title: Model inference
- file: source/overview/concepts
title: Concepts
sections:
- file: source/overview/concepts/data-sources
title: Data Sources
=======
- file: source/overview/concepts
title: Concepts
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
#- file: source/overview/faq

- caption: Use Cases
chapters:
<<<<<<< HEAD
- file: source/usecases/sentiment-analysis.rst
title: Sentiment Analysis
- file: source/usecases/question-answering.rst
Expand All @@ -75,7 +81,32 @@ parts:
title: Home Rental Prediction
# - file: source/usecases/privategpt.rst
# title: PrivateGPT
<<<<<<< HEAD
>>>>>>> 40a10ce1 (Bump v0.3.4+ dev)
=======
=======
- file: source/usecases/food-review.rst
title: Sentiment Analysis
- file: source/usecases/image-classification.rst
title: Image Classification
- file: source/usecases/similar-image-search.rst
title: Image Search
- file: source/usecases/qa-video.rst
title: Video Question Answering
- file: source/usecases/08-chatgpt.ipynb
title: ChatGPT-based Video Question Answering
- file: source/usecases/12-query-pdf.ipynb
title: PDF Question Answering
- file: source/usecases/02-object-detection.ipynb
title: Object Detection
- file: source/usecases/03-emotion-analysis.ipynb
title: Emotions Analysis
- file: source/usecases/07-object-segmentation-huggingface.ipynb
title: Image Segmentation
- file: source/usecases/13-privategpt.ipynb
title: PrivateGPT
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
>>>>>>> c63abee7 (release: merge staging into master (#1032))

- caption: User Reference
chapters:
Expand Down Expand Up @@ -121,6 +152,16 @@ parts:
- file: source/reference/evaql/delete
- file: source/reference/evaql/rename
- file: source/reference/evaql/use
<<<<<<< HEAD
=======

- file: source/reference/databases/index
title: Data Sources
sections:
- file: source/reference/databases/postgres
- file: source/reference/databases/sqlite
- file: source/reference/databases/mysql
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))

<<<<<<< HEAD
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
Expand Down
30 changes: 30 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,15 @@
# directories to ignore when looking for source files.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "README.md", "images/reference/README.md"]
<<<<<<< HEAD
<<<<<<< HEAD

=======
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
=======
>>>>>>> c63abee7 (release: merge staging into master (#1032))

=======
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = "github-dark"
Expand Down Expand Up @@ -178,6 +183,25 @@
nitpick_ignore_regex = [('py:class', r'.*')]
<<<<<<< HEAD
=======
<<<<<<< HEAD
=======


for i in os.listdir("../tutorials"):
if i in [
"13-privategpt.ipynb",
"08-chatgpt.ipynb",
"12-query-pdf.ipynb",
"02-object-detection.ipynb",
"03-emotion-analysis.ipynb",
"07-object-segmentation-huggingface.ipynb",
"chatgpt.png",
]:
shutil.copy(f"../tutorials/{i}", "./source/usecases/")

nb_execution_mode = "off"
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
>>>>>>> c63abee7 (release: merge staging into master (#1032))

<<<<<<< HEAD

Expand Down Expand Up @@ -209,11 +233,17 @@ def setup(app):
app.add_js_file("js/top-navigation.js", defer="defer")
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> c63abee7 (release: merge staging into master (#1032))
app.add_js_file("https://cdn.jsdelivr.net/npm/@docsearch/[email protected]/dist/umd/index.js",defer="defer")
app.add_js_file("js/algolia.js",defer="defer")
=======
>>>>>>> 8c5b63dc (release: merge staging into master (#1032))
<<<<<<< HEAD
=======
app.add_js_file("https://cdn.jsdelivr.net/npm/@docsearch/[email protected]/dist/umd/index.js",defer="defer")
app.add_js_file("js/algolia.js",defer="defer")
>>>>>>> 40a10ce1 (Bump v0.3.4+ dev)
=======
>>>>>>> c63abee7 (release: merge staging into master (#1032))
Loading

0 comments on commit 30d7834

Please sign in to comment.