From d65243eddf75fc443193a65bd7276c012e75c2dd Mon Sep 17 00:00:00 2001 From: Connor Shorten Date: Mon, 3 Feb 2025 21:50:41 -0500 Subject: [PATCH] Update readme.md Signed-off-by: Connor Shorten --- readme.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 476e4a7..7b0257a 100644 --- a/readme.md +++ b/readme.md @@ -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)