Vanna AI: RAG-фреймворк для генерации SQL и поддержки СУБД

Vanna AI: RAG-фреймворк для генерации SQL и поддержки СУБД 117

Open-source Python-фреймворк на основе технологии RAG, преобразующий вопросы на естественном языке в SQL-запросы. Поддерживает множество баз данных и языковых моделей.

#Ai工具箱 #Ai编程建站

Vanna AI: RAG-фреймворк для генерации SQL и поддержки СУБДОписание

Что такое Vanna ai?

vanna — это фреймворк RAG, специально разработанный для генерации SQL и поддерживающий множество систем управления реляционными базами данных (RDBMS), таких как PostgreSQL, MySQL и Oracle. vanna может автоматически получать структуру базы данных (таблицы и схемы) и обладает функцией самообучения, позволяющей сохранять корректные связи SQL-запросов.

Функциональные особенности Vanna AI

  • Преобразование естественного языка в SQL: пользователи могут напрямую вводить вопросы на естественном языке, а Vanna AI преобразует их в соответствующие SQL-запросы, без необходимости владеть сложным синтаксисом SQL.

  • Высокая точность: благодаря семантическому поиску и расширению контекста модели RAG, Vanna AI значительно повышает точность генерации SQL, особенно при работе со сложными наборами данных.

  • Способность к самообучению: Vanna AI может автоматически обучаться на успешно выполненных запросах, а пользователи могут оптимизировать модель, предоставляя обратную связь, постепенно повышая точность.

  • Безопасность: содержимое базы данных пользователя не отправляется в LLM или векторную базу данных, выполнение SQL полностью происходит в локальной среде, что обеспечивает безопасность данных.

  • Поддержка баз данных: поддерживает множество SQL-баз данных, таких как Snowflake, BigQuery, PostgreSQL и другие, пользователи могут легко подключаться к различным базам данных для выполнения запросов.

  • Гибкий выбор фронтенда: пользователи могут взаимодействовать с Vanna AI через Jupyter Notebook, Slackbot, веб-приложение, приложение на Streamlit или собственный фронтенд.

Сценарии применения Vanna AI

  • Бизнес-аналитика: помогает бизнес-аналитикам быстро получать и анализировать данные о продажах, клиентах, запасах и т.д., способствуя более быстрому и точному принятию решений на основе данных.

  • Финансовый анализ: помогает финансовым специалистам проводить сложный финансовый анализ данных и оценку рисков.

  • Медицинские исследования: помогает медицинским исследователям извлекать ценную информацию из больших объёмов клинических данных.

  • Образовательная сфера: помогает студентам и преподавателям лучше понимать и анализировать образовательные данные.

  • Маркетинговые исследования: предоставляет маркетинговым исследователям инструменты для быстрого анализа поведения потребителей и рыночных тенденций.

Способ установки Vanna AI

1. Установка Vanna

pip install vanna

2. Импорт и инициализация Vanna

from vanna.openai.openai_chat import OpenAI_Chat
from vanna.chromadb.chromadb_vector import ChromaDB_VectorStore
class MyVanna(ChromaDB_VectorStore, OpenAI_Chat):
    def __init__(self, config=None):
        ChromaDB_VectorStore.__init__(self, config=config)
        OpenAI_Chat.__init__(self, config=config)
vn = MyVanna(config={'api_key': 'sk-...', 'model': 'gpt-4-...'})

3. Обучение Vanna

vn.train(ddl="CREATE TABLE IF NOT EXISTS my_table (...)")
vn.train(documentation="Our business defines XYZ as ...")
vn.train(sql="SELECT name, age FROM my_table WHERE ...")

4. Использование Vanna для выполнения запросов

result = vn.ask("What are the top 10 customers by sales?")
GitHub代码库:https://github.com/vanna-ai/vanna

Репозиторий кода на GitHub:https://github.com/vanna-ai/vanna

Инструменты по теме "Vanna AI: RAG-фреймворк для генерации SQL и поддержки СУБД"