
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