自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Text2SQL工具:Vanna介紹與安裝

開發(fā) 開源 人工智能
Vanna 是一個開源的 Python RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成)框架,用于將自然語言問題轉(zhuǎn)換為精確的 SQL 查詢,并在數(shù)據(jù)庫上執(zhí)行這些查詢以返回結(jié)果和可視化圖表。

一、什么是Vanna

Vanna 是一個開源的 Python RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成)框架,用于將自然語言問題轉(zhuǎn)換為精確的 SQL 查詢,并在數(shù)據(jù)庫上執(zhí)行這些查詢以返回結(jié)果和可視化圖表。

比如你提問:查詢年齡25歲以上的人員清單。

Vanna就可以將其轉(zhuǎn)為sql語句。

圖片

二、Vanna的工作原理

1. 訓(xùn)練 RAG 模型

  • 數(shù)據(jù)準(zhǔn)備:導(dǎo)入數(shù)據(jù)庫的元數(shù)據(jù)(如表結(jié)構(gòu) DDL 語句)、文檔(如業(yè)務(wù)術(shù)語解釋)和示例 SQL 查詢。
  • 向量化存儲:將上述數(shù)據(jù)轉(zhuǎn)換為向量并存儲在本地向量數(shù)據(jù)庫(如 ChromaDB)中。

2. 生成 SQL

  • 用戶輸入自然語言問題后,Vanna 從向量庫中檢索相關(guān)上下文,結(jié)合 LLM(如 GPT-4、Qwen、DeepSeek等)生成 SQL 語句。
  • 生成的 SQL 可自動執(zhí)行并返回結(jié)果,支持?jǐn)?shù)據(jù)可視化(如圖表展示)

以下是Vanna的整體工作原理:

圖片

三、Vanna的環(huán)境配置

3.1 創(chuàng)建屬于vanna的虛擬環(huán)境

在這里選擇了python3.11.x的版本。

conda create -n my_vanna pythnotallow==3.11.9

圖片

圖片

3.2 安裝vanna環(huán)境依賴

pip install vanna[chromadb,mysql]

圖片

由于我們采用openai接口的方式使用vanna,因此需要安裝openai庫。

pip install openai

圖片

經(jīng)過以上配置,我們就可以通過vanna來生成sql了。

注意:以上通過pip安裝過程中涉及到其他依賴庫的安裝,因此建議通過在線方式進(jìn)行安裝。

涉及到的環(huán)境:

annotated-types                          0.7.0
anyio                                    4.8.0
asgiref                                  3.8.1
attrs                                    25.1.0
backoff                                  2.2.1
bcrypt                                   4.2.1
blinker                                  1.9.0
build                                    1.2.2.post1
cachetools                               5.5.1
certifi                                  2025.1.31
charset-normalizer                       3.4.1
chroma-hnswlib                           0.7.6
chromadb                                 0.6.3
click                                    8.1.8
colorama                                 0.4.6
coloredlogs                              15.0.1
Deprecated                               1.2.18
distro                                   1.9.0
durationpy                               0.9
fastapi                                  0.115.8
filelock                                 3.17.0
flasgger                                 0.9.7.1
Flask                                    3.1.0
flask-sock                               0.7.0
flatbuffers                              25.2.10
fsspec                                   2025.2.0
google-auth                              2.38.0
googleapis-common-protos                 1.67.0
greenlet                                 3.1.1
grpcio                                   1.70.0
h11                                      0.14.0
httpcore                                 1.0.7
httptools                                0.6.4
httpx                                    0.28.1
huggingface-hub                          0.29.0
humanfriendly                            10.0
idna                                     3.10
importlib_metadata                       8.5.0
importlib_resources                      6.5.2
itsdangerous                             2.2.0
Jinja2                                   3.1.5
jiter                                    0.8.2
jsonschema                               4.23.0
jsonschema-specifications                2024.10.1
kaleido                                  0.2.1
kubernetes                               32.0.1
markdown-it-py                           3.0.0
MarkupSafe                               3.0.2
mdurl                                    0.1.2
mistune                                  3.1.2
mmh3                                     5.1.0
monotonic                                1.6
mpmath                                   1.3.0
narwhals                                 1.27.1
numpy                                    2.2.3
oauthlib                                 3.2.2
onnxruntime                              1.20.1
openai                                   1.63.2
opentelemetry-api                        1.30.0
opentelemetry-exporter-otlp-proto-common 1.30.0
opentelemetry-exporter-otlp-proto-grpc   1.30.0
opentelemetry-instrumentation            0.51b0
opentelemetry-instrumentation-asgi       0.51b0
opentelemetry-instrumentation-fastapi    0.51b0
opentelemetry-proto                      1.30.0
opentelemetry-sdk                        1.30.0
opentelemetry-semantic-conventions       0.51b0
opentelemetry-util-http                  0.51b0
orjson                                   3.10.15
overrides                                7.7.0
packaging                                24.2
pandas                                   2.2.3
pip                                      25.0
plotly                                   6.0.0
posthog                                  3.14.1
protobuf                                 5.29.3
pyasn1                                   0.6.1
pyasn1_modules                           0.4.1
pydantic                                 2.10.6
pydantic_core                            2.27.2
Pygments                                 2.19.1
PyMySQL                                  1.1.1
PyPika                                   0.48.9
pyproject_hooks                          1.2.0
pyreadline3                              3.5.4
python-dateutil                          2.9.0.post0
python-dotenv                            1.0.1
pytz                                     2025.1
PyYAML                                   6.0.2
referencing                              0.36.2
requests                                 2.32.3
requests-oauthlib                        2.0.0
rich                                     13.9.4
rpds-py                                  0.22.3
rsa                                      4.9
setuptools                               75.8.0
shellingham                              1.5.4
simple-websocket                         1.1.0
six                                      1.17.0
sniffio                                  1.3.1
SQLAlchemy                               2.0.38
sqlparse                                 0.5.3
starlette                                0.45.3
sympy                                    1.13.3
tabulate                                 0.9.0
tenacity                                 9.0.0
tokenizers                               0.21.0
tqdm                                     4.67.1
typer                                    0.15.1
typing_extensions                        4.12.2
tzdata                                   2025.1
urllib3                                  2.3.0
uvicorn                                  0.34.0
vanna                                    0.7.6
watchfiles                               1.0.4
websocket-client                         1.8.0
websockets                               15.0
Werkzeug                                 3.1.3
wheel                                    0.45.1
wrapt                                    1.17.2
wsproto                                  1.2.0
zipp                                     3.21.0

四、Vanna的環(huán)境配置

4.1 注冊vanna的API

官網(wǎng)地址如下:

https://vanna.ai/

僅需通過email就可以免費注冊,然后到個人中心去找到自己的api key。

圖片

注冊之后,每天享有100K的免費Token。

圖片

4.2  vanna在線測試

根據(jù)官網(wǎng)給的示例,我們只需要傳遞自己的apikey就可以進(jìn)行測試。

import vanna
from vanna.remote import VannaDefault
vn = VannaDefault(model='chinook', api_key='6474fcc9348a48feb0c997c707c2004b')
vn.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')
vn.ask("What are the top 10 albums by sales?")

測試結(jié)果如下,可以看到利用vanna自己的服務(wù)器和數(shù)據(jù)庫能夠成功獲得sql語句與sql結(jié)果。(API已失效,自己可以免費申請)

圖片

4.3  vanna私有化測試

本地mysql數(shù)據(jù)庫的user表:

圖片

通過代碼測試,可以看到能夠成功提取年齡大于30歲的用戶。

圖片圖片

責(zé)任編輯:龐桂玉 來源: Python伊甸園
相關(guān)推薦

2024-12-05 12:22:43

2025-04-21 04:10:00

2010-06-22 15:24:11

autoconf安裝

2025-02-24 09:04:20

2024-09-10 14:31:57

2024-07-31 14:07:00

RAGSQL技術(shù)

2010-06-22 15:13:32

autoconf安裝

2010-06-22 15:26:58

autoconf安裝

2010-07-12 14:06:12

SQL Server代

2009-07-20 15:37:26

JRuby安裝JRuby配置

2011-05-04 09:02:20

簽名工具代碼BlackBerry

2010-09-13 14:25:03

2022-10-09 08:33:44

WSL 2Linux

2011-08-04 16:17:39

iPhone 開發(fā)工具

2011-08-04 16:28:01

iPhone 開發(fā)工具 Accessoriz

2010-12-22 12:54:03

Linux性能監(jiān)測

2010-04-12 17:38:25

BlackBerry開

2010-05-25 09:19:13

MySQL管理工具

2010-04-30 14:59:51

Server 2008FCI
點贊
收藏

51CTO技術(shù)棧公眾號