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 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/vannaDépôt de code GitHub :https://github.com/vanna-ai/vanna
Assistant scénario▸
Apps AI
Actualités AI