Vanna AI : framework RAG pour la génération SQL et la prise en charge des SGBD relationnels

Vanna AI : framework RAG pour la génération SQL et la prise en charge des SGBD relationnels 104

Un framework Python open source basé sur la technologie RAG, qui convertit les questions en langage naturel en requêtes SQL et prend en charge plusieurs bases de données et modèles de langage.

#Ai工具箱 #Ai编程建站

Vanna AI : framework RAG pour la génération SQL et la prise en charge des SGBD relationnelsIntroduction

Qu'est-ce que Vanna ai ?

vanna est un framework RAG spécialement conçu pour générer du SQL et prenant en charge plusieurs systèmes de gestion de bases de données relationnelles (RDBMS), tels que PostgreSQL, MySQL et Oracle, entre autres. vanna peut automatiquement obtenir la structure des tables de la base de données et dispose d'une fonction d'auto-apprentissage, capable de stocker les relations correctes des requêtes SQL.

Fonctionnalités de Vanna AI

  • Conversion du langage naturel vers SQL : les utilisateurs peuvent saisir directement des questions en langage naturel, et Vanna AI les convertira en instructions de requête SQL correspondantes, sans qu'ils aient besoin de maîtriser la syntaxe SQL complexe.

  • Haute précision : grâce à la recherche sémantique et à l'enrichissement contextuel du modèle RAG, Vanna AI améliore considérablement la précision de la génération SQL, en particulier sur des ensembles de données complexes.

  • Capacité d'auto-apprentissage : Vanna AI peut s'entraîner automatiquement sur des requêtes exécutées avec succès, et les utilisateurs peuvent également optimiser le modèle en fournissant des commentaires, améliorant ainsi progressivement la précision.

  • Sécurité : le contenu de la base de données de l'utilisateur n'est pas envoyé au LLM ni à la base de données vectorielle, et l'exécution SQL se fait entièrement dans l'environnement local, garantissant la sécurité des données.

  • Prise en charge des bases de données : prise en charge de plusieurs bases de données SQL, telles que Snowflake, BigQuery, PostgreSQL, etc., permettant aux utilisateurs de connecter facilement différentes bases de données pour effectuer des requêtes.

  • Choix flexible du frontal : les utilisateurs peuvent choisir d'utiliser Jupyter Notebook, Slackbot, application Web, application Streamlit ou un frontal personnalisé pour interagir avec Vanna AI.

Scénarios d'application de Vanna AI

  • Business Intelligence : aide les analystes métier à obtenir et analyser rapidement les données de ventes, clients, stocks, etc., favorisant des décisions plus rapides et plus précises basées sur les données.

  • Analyse financière : assiste les professionnels de la finance dans les analyses financières complexes et l'évaluation des risques.

  • Recherche médicale : aide les chercheurs médicaux à extraire des informations précieuses à partir de grandes quantités de données cliniques.

  • Domaine éducatif : aide les étudiants et les éducateurs à mieux comprendre et analyser les données éducatives.

  • Études de marché : fournit aux chercheurs en marketing des outils permettant d'analyser rapidement le comportement des consommateurs et les tendances du marché.

Méthode d'installation de Vanna AI

1. Installer Vanna

pip install vanna

2. Importer et initialiser 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. Entraîner 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. Utiliser Vanna pour effectuer des requêtes

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

Dépôt de code GitHub :https://github.com/vanna-ai/vanna

Outils liés à Vanna AI : framework RAG pour la génération SQL et la prise en charge des SGBD relationnels