久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

LLMs之Vanna:Vanna(利用自然語言查詢數(shù)據(jù)庫的SQL工具+底層基于RAG)的簡介,、安裝,、使用方法之詳細攻略

 處女座的程序猿 2024-01-20 發(fā)布于上海

LLMs之Vanna:Vanna(利用自然語言查詢數(shù)據(jù)庫的SQL工具+底層基于RAG)的簡介、安裝,、使用方法之詳細攻略


Vanna的簡介

Vanna是一個基于MIT許可的開源Python RAG(檢索增強生成)框架,用于SQL生成和相關(guān)功能,。

Vanna的工作原理分為兩個簡單步驟:在您的數(shù)據(jù)上訓(xùn)練一個RAG“模型”,然后提問問題,這將返回可以設(shè)置自動在您的數(shù)據(jù)庫上運行的SQL查詢。
>> 在您的數(shù)據(jù)上訓(xùn)練一個RAG“模型”,。
>> 提問問題,。

如果您不知道什么是RAG,不用擔(dān)心 - 您不需要知道在底層如何工作就能使用它。您只需要知道您需要“訓(xùn)練”一個模型,它會存儲一些元數(shù)據(jù),然后用它來“提問”問題,。

查看基類以獲取有關(guān)底層工作原理的更多詳細信息,。

Vanna.AI是一個基于語言模型的SQL代理,允許用戶通過簡單的自然語言問題獲得數(shù)據(jù)庫中的洞察信息。它提供開源的Python包以及各種前端集成方式,可以部署在自己的基礎(chǔ)設(shè)施上運行,。
>> 系統(tǒng)的準(zhǔn)確性取決于提供的訓(xùn)練數(shù)據(jù)量和質(zhì)量,更多的數(shù)據(jù)可以支持復(fù)雜數(shù)據(jù)集提高準(zhǔn)確率,。
>> 用戶數(shù)據(jù)庫內(nèi)容不會發(fā)送到語言模型,只有架構(gòu)、文檔和查詢信息存儲在元數(shù)據(jù)層中,從保障數(shù)據(jù)安全性,。
>> 使用越多,模型通過不斷增加訓(xùn)練數(shù)據(jù)會持續(xù)提升,實現(xiàn)自我學(xué)習(xí)效果,。
>> 支持許多常見數(shù)據(jù)庫如Snowflake、BigQuery,、Postgres,也可以通過連接器支持任意數(shù)據(jù)庫,。
>> 提供免費版和付費版兩種計劃,區(qū)別在于查詢限制和語言模型版本的不同。
>> 該系統(tǒng)強調(diào)以開源方式提供,保障數(shù)據(jù)安全并支持定制化部署是其一大賣點,。

GitHub地址https://github.com/vanna-ai/vanna

文檔地址Vanna Docs: How It Works

1,、用戶界面

這是我們使用Vanna構(gòu)建的一些用戶界面。您可以直接使用它們,或?qū)⑺鼈冏鳛樽远x界面的起點,。

2,、RAG vs. Fine-Tuning

RAG

微調(diào)

可在LLMs之間移植

如果數(shù)據(jù)變得過時,可以輕松刪除訓(xùn)練數(shù)據(jù)

比微調(diào)更便宜

更具未來性 - 如果有更好的LLM出現(xiàn),可以輕松替換

如果需要最小化提示中的標(biāo)記,可以選擇微調(diào)

啟動較慢

訓(xùn)練和運行費用昂貴(一般情況下)

3、為什么選擇Vanna?

在復(fù)雜數(shù)據(jù)集上具有高準(zhǔn)確性

Vanna的能力與您提供的訓(xùn)練數(shù)據(jù)密切相關(guān),。

更多的訓(xùn)練數(shù)據(jù)對于大型和復(fù)雜數(shù)據(jù)集的準(zhǔn)確性更有幫助,。

安全和私密

您的數(shù)據(jù)庫內(nèi)容永遠不會發(fā)送到LLM或向量數(shù)據(jù)庫。

SQL執(zhí)行發(fā)生在您的本地環(huán)境中,。

自學(xué)習(xí)

如果通過Jupyter使用,您可以選擇在成功執(zhí)行的查詢上“自動訓(xùn)練”它,。

如果通過其他界面使用,您可以要求界面提示用戶對結(jié)果提供反饋。

正確的問題和SQL對存儲供將來參考,使未來的結(jié)果更準(zhǔn)確。

支持任何SQL數(shù)據(jù)庫

該軟件包允許您連接到您可以使用Python連接的任何SQL數(shù)據(jù)庫,。

選擇您的前端

大多數(shù)人從Jupyter Notebook開始,。

通過Slackbot、Web應(yīng)用程序,、Streamlit應(yīng)用程序或自定義前端向最終用戶公開,。

4、擴展Vanna

Vanna旨在連接到任何數(shù)據(jù)庫,、LLM和向量數(shù)據(jù)庫,。有一個VannaBase抽象基類定義了一些基本功能。該軟件包提供了與OpenAI和ChromaDB一起使用的實現(xiàn),。您可以輕松擴展Vanna以使用自己的LLM或向量數(shù)據(jù)庫,。詳細信息請參閱文檔。

Vanna的安裝和使用方法

查看文檔以獲取有關(guān)您所需數(shù)據(jù)庫,、LLM等的具體信息,。

如果您想在訓(xùn)練后了解其工作方式,可以嘗試此Colab筆記本。

1,、安裝

pip install vanna
有一些可選包可以安裝,詳細信息請參閱文檔,。



導(dǎo)入
如果您要自定義LLM或向量數(shù)據(jù)庫,請參閱文檔。
import vanna as vn

2,、訓(xùn)練

根據(jù)您的用例,您可能需要或不需要運行這些vn.train命令,。詳細信息請參閱文檔。

(1),、使用DDL語句訓(xùn)練

DDL語句包含有關(guān)數(shù)據(jù)庫中表名,、列、數(shù)據(jù)類型和關(guān)系的信息,。

vn.train(ddl="""
    CREATE TABLE IF NOT EXISTS my-table (
        id INT PRIMARY KEY,
        name VARCHAR(100),
        age INT
    )
""")

(2),、使用文檔訓(xùn)練

有時您可能希望添加關(guān)于業(yè)務(wù)術(shù)語或定義的文檔。

vn.train(documentation="Our business defines XYZ as ...")

(3),、使用SQL訓(xùn)練

您還可以將SQL查詢添加到訓(xùn)練數(shù)據(jù)中,。如果您已經(jīng)有一些查詢可用,只需從編輯器中復(fù)制并粘貼它們即可開始生成新的SQL。

vn.train(sql="SELECT name, age FROM my-table WHERE name = 'John Doe'")

3,、提問問題

vn.ask("What are the top 10 customers by sales?")

您將得到SQL查詢結(jié)果,以及連接到數(shù)據(jù)庫時的表格和自動生成的Plotly圖表。

Vanna的應(yīng)用案例

更新中……

1,、基礎(chǔ)用法

!pip install vanna
import vanna
from vanna.remote import VannaDefault
vn = VannaDefault(model='chinook', api_key=vanna.get_api_key('my-email@example.com'))
vn.connect_to_sqlite('https:///Chinook.sqlite')
vn.ask('What are the top 10 artists by sales?')

from vanna.flask import VannaFlaskApp
VannaFlaskApp(vn).run()

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多