
Vanna AI
Vanna AI简介
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等,用户可以轻松连接不同的数据库进行查询。
灵活的前端选择:用户可以选择使用Jupyter Notebook、Slackbot、Web应用、Streamlit应用或自定义前端与Vanna AI进行交互。
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