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 d65243e commit cc7d62a
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
# Weaviate Gorilla
# Weaviate Gorilla 🦍

The capabilities of Large Language Models (LLMs) are rapidly accelerating largely thanks to their integration with external tools. Querying databases is among the most effective of these integrations, enabling LLMs to access private or continually updating data. This repo benchmarks how well Large Language Models can utilize Weaviate's query APIs in the Function Calling framework. The following result table summarizes our most recent experimental results.

![Weaviate Gorilla Leaderboard](./visuals/new-result-table.png)

## Natural Language Commands to Weaviate Queries
## Natural Language Commands to Weaviate Queries ▶️

Illustrated below, the Weaviate Gorilla translates natural language commands into Weaviate queries.

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

## Function Calling
## 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
## 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
## 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
## News 🗞️

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

Expand Down

0 comments on commit cc7d62a

Please sign in to comment.