Skip to content

Commit

Permalink
Update readme.md
Browse files Browse the repository at this point in the history
Signed-off-by: Connor Shorten <[email protected]>
  • Loading branch information
CShorten authored Feb 4, 2025
1 parent a2c1414 commit d65243e
Showing 1 changed file with 24 additions and 2 deletions.
26 changes: 24 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,34 @@ The capabilities of Large Language Models (LLMs) are rapidly accelerating largel

## Natural Language Commands to Weaviate Queries

Illustrated below, the Weaviate Gorilla translates natural language commands into Weaviate queries. We separate Weaviate queries into 3 categories of difficulty (simple, moderate, complex) based on how many unique query operators they require.
Illustrated below, the Weaviate Gorilla translates natural language commands into Weaviate queries.

![NL Command to API Visual](./visuals/nl-command-to-apis.png)
![NL Command to API Visual](./visuals/nl-command-to-api.png)

## Function Calling

Defined in [OpenAI’s developer documentation](https://platform.openai.com/docs/guides/function-calling), "function calling enables developers to connect language models to external data and systems. You can define a set of functions as tools that the model has access to, and it can use them when appropriate based on the conversation history. You can then execute those functions on the application side, and provide results back to the model.

![Function Calling](./visuals/simple-function-calling.png)

## Synthetic Data Generation

This repo additionally contains a visualization app for inspecting synthetic queries for testing Weaviate Query writing. For more info, please see `/app`!

![Labeling GUI](./visuals/main-gui.png)

## Pydantic is the new SQL

Our work explores a hypothesis that Pydantic, and their use in Structured LLM Outputs, is the new SQL. Pydantic models in frameworks such as Function Calling define tool arguments as a JSON-valued custom object. We can easily use this to format reliable database queries with LLMs, this further limits the risk of SQL injection attacks with Text-to-SQL systems.

The following image depicts synthetic queries from the BIRD dataset, one of the most popular Text-to-SQL datasets used in academic research.

![bird](./visuals/bird-examples.png)

## News

🔬 Querying Databases with Function Calling on ArXiv - [link](https://arxiv.org/abs/2502.00032)

🎙️ Shishir Patil and Tianjun Zhang on the Weaviate Podcast - [link](https://www.youtube.com/watch?v=HUtYOLX7HZ4)

🎥 Fine-tuning LLMs to use Weaviate's GraphQL APIs on Weaviate Youtube - [link](https://www.youtube.com/watch?v=Zqxd1BnoQQQ)
Expand Down

0 comments on commit d65243e

Please sign in to comment.