
Vanna AI
Vanna AI簡介
Vanna ai是什么?
vanna 一個 RAG 框架,該框架專門用于生成 SQL 和支持多種關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),如 PostgreSQL、MySQL 和 Oracle 等。vanna 可以自動獲取數(shù)據(jù)庫的庫表結(jié)構(gòu),并具備自我學(xué)習(xí)功能,能存儲正確的 SQL 查詢關(guān)系。
Vanna AI功能特點
自然語言到SQL的轉(zhuǎn)換:用戶可以直接輸入自然語言問題,Vanna AI會將其轉(zhuǎn)換為相應(yīng)的SQL查詢語句,無需用戶掌握復(fù)雜的SQL語法。
高準確性:通過RAG模型的語義檢索和上下文增強,Vanna AI大幅提高了SQL生成的準確性,尤其在復(fù)雜數(shù)據(jù)集上表現(xiàn)優(yōu)異。
自我學(xué)習(xí)能力:Vanna AI可以在成功執(zhí)行的查詢上自動訓(xùn)練,用戶也可以通過提供反饋優(yōu)化模型,從而逐步提高準確性。
安全性:用戶的數(shù)據(jù)庫內(nèi)容不會發(fā)送到LLM或向量數(shù)據(jù)庫,SQL執(zhí)行完全在本地環(huán)境中進行,確保數(shù)據(jù)安全。
支持數(shù)據(jù)庫:支持多種SQL數(shù)據(jù)庫,如Snowflake、BigQuery、PostgreSQL等,用戶可以輕松連接不同的數(shù)據(jù)庫進行查詢。
靈活的前端選擇:用戶可以選擇使用Jupyter Notebook、Slackbot、Web應(yīng)用、Streamlit應(yīng)用或自定義前端與Vanna AI進行交互。
Vanna AI應(yīng)用場景
商業(yè)智能:幫助業(yè)務(wù)分析師快速獲取和分析銷售、客戶、庫存等數(shù)據(jù),促進更快、更準確的數(shù)據(jù)驅(qū)動決策。
金融分析:協(xié)助金融專業(yè)人士進行復(fù)雜的財務(wù)數(shù)據(jù)分析和風險評估。
醫(yī)療研究:支持醫(yī)療研究人員從大量臨床數(shù)據(jù)中提取有價值的信息。
教育領(lǐng)域:幫助學(xué)生和教育工作者更好地理解和分析教育數(shù)據(jù)。
市場調(diào)研:為市場研究人員提供快速分析消費者行為和市場趨勢的工具。
Vanna AI安裝方法
1. 安裝Vanna
pip install vanna
2. 導(dǎo)入并初始化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. 訓(xùn)練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