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

20行Python代碼,利用Streamlit和Vanna,讓SQL數(shù)據(jù)庫(kù)擁有智能聊天機(jī)器人

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
在這里,我們將使用Vanna API密鑰,將Vanna Retrieval Augmentation模型設(shè)置為“chinook”,該模型具有此數(shù)據(jù)庫(kù)的元數(shù)據(jù),并連接到SQLite數(shù)據(jù)庫(kù),這樣我們就可以運(yùn)行生成的SQL語(yǔ)句。

一、前言

出于說明目的,本指南優(yōu)化了代碼行數(shù)來進(jìn)行演示。對(duì)于功能更豐富的聊天機(jī)器人代碼,可以參考如下GitHub存儲(chǔ)庫(kù)。

【GitHub Repo】:https://github.com/vanna-ai/vanna-streamlit

首先,讓我們看看最終的產(chǎn)品。給定一個(gè)包含有關(guān)唱片銷售信息的示例SQLite數(shù)據(jù)庫(kù),我們可以制作一個(gè)文本框,允許用戶使用自然語(yǔ)言提問,然后:

  • 基于問題生成SQL語(yǔ)句。
  • 以表格形式顯示結(jié)果。
  • 以圖表形式顯示結(jié)果。

,時(shí)長(zhǎng)00:15

聊天機(jī)器人的運(yùn)行示例

二、Streamlit和Vanna

現(xiàn)在讓我們來分解一下。首先,我們將導(dǎo)入兩個(gè)Python軟件包:Streamlit和Vanna。

  • Streamlit提供用戶界面。
  • Vanna提供使用LLM(即人工智能)生成SQL的基礎(chǔ)設(shè)施。
import vanna as vn
import streamlit as st

三、設(shè)置

3.1 模型設(shè)置

在這里,我們將使用Vanna API密鑰,將Vanna Retrieval Augmentation模型設(shè)置為“chinook”,該模型具有此數(shù)據(jù)庫(kù)的元數(shù)據(jù),并連接到SQLite數(shù)據(jù)庫(kù),這樣我們就可以運(yùn)行生成的SQL語(yǔ)句。

vn.set_api_key(st.secrets["vanna_api_key"])
vn.set_model('chinook')
vn.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')

3.2 設(shè)置文本框

my_question = st.text_input("Ask me a question that I can turn into SQL", key="my_question")

圖片圖片

3.3 使用AI生成SQL語(yǔ)句

sql = vn.generate_sql(my_question)
st.code(sql, language='sql')

圖片圖片

3.4 顯示表格

df = vn.run_sql(sql)    
st.dataframe(df, use_container_width=True)

3.5 使用AI生成圖表并顯示

fig = vn.get_plotly_figure(plotly_code=vn.generate_plotly_code(questinotallow=my_question, sql=sql, df=df), df=df)
st.plotly_chart(fig, use_container_width=True)

圖片圖片

四、將所有內(nèi)容整合在一起

這實(shí)際上就是示例中顯示的完整代碼!

import vanna as vn
import streamlit as st

vn.set_api_key(st.secrets["vanna_api_key"])
vn.set_model('chinook')
vn.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')

my_question = st.session_state.get("my_question", default=None)
if my_question is None:
    st.image("chinook-schema.png", use_column_width=True)
    my_question = st.text_input("Ask me a question that I can turn into SQL", key="my_question")
else:
    st.title(my_question)
    sql = vn.generate_sql(my_question)
    st.code(sql, language='sql')
    df = vn.run_sql(sql)    
    st.dataframe(df, use_container_width=True)
    fig = vn.get_plotly_figure(plotly_code=vn.generate_plotly_code(questinotallow=my_question, sql=sql, df=df), df=df)
    st.plotly_chart(fig, use_container_width=True)
    st.button("Ask another question", on_click=lambda: st.session_state.clear())

圖片圖片

五、更多內(nèi)容

如果想了解Vanna更多內(nèi)容及下載相關(guān)源碼,可通過如下鏈接查詢。

【GitHub】:https://github.com/vanna-ai/vanna

責(zé)任編輯:武曉燕 來源: Python學(xué)研大本營(yíng)
相關(guān)推薦

2019-04-19 14:40:15

代碼Python機(jī)器人

2019-04-19 16:30:30

Python機(jī)器人代碼

2018-06-08 16:18:43

Python微信聊天機(jī)器人

2024-11-01 14:52:24

2022-07-05 06:42:01

聊天機(jī)器人人工智能

2019-01-25 16:30:34

機(jī)器人機(jī)器學(xué)習(xí)人工智能

2016-10-25 14:42:52

白宮開源機(jī)器人代碼

2021-11-30 10:56:43

ChatterBot機(jī)器人人工智能

2023-09-28 20:57:23

Meta人工智能聊天機(jī)器人

2024-07-01 07:35:11

2023-12-13 16:25:46

聊天機(jī)器人數(shù)據(jù)中心人工智能

2020-01-09 11:24:37

人工智能技術(shù)機(jī)器人

2020-02-02 09:19:14

聊天機(jī)器人機(jī)器人智能

2019-12-19 16:08:40

人工智能機(jī)器人數(shù)據(jù)

2022-07-03 10:23:06

機(jī)器人場(chǎng)景個(gè)性化

2023-06-29 15:04:21

微軟ChatGPT

2016-02-16 14:46:33

聊天機(jī)器人機(jī)器學(xué)習(xí)自然語(yǔ)言

2023-12-18 19:05:34

2017-03-28 12:21:21

機(jī)器人定義
點(diǎn)贊
收藏

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