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

使用Langchain構(gòu)建簡單的數(shù)據(jù)庫Agent

數(shù)據(jù)庫 其他數(shù)據(jù)庫
如果對內(nèi)容有什么疑問和建議可以私信和留言,也可以添加我加入大模型交流群,一起討論大模型在創(chuàng)作、RAG和agent中的應(yīng)用。?

上篇文章我們介紹了一個使用RAG進行SQL生成的項目(RAG做SQL生成處理表格,一個10.1k※的開源工具vanna)。這篇文章我們介紹一個使用LangChain實現(xiàn)SQLagent的方法,LangChain直接內(nèi)置了自己的SQLagent實現(xiàn)-—SQLDatabaseChain。這個方法使用 SQL Alchemy 與數(shù)據(jù)庫交互。感興趣的可以考慮一下這兩個方案是否可以融合,這樣保證SQL的準(zhǔn)確性從而提升最終結(jié)果的準(zhǔn)確率。下面將介紹今天主要內(nèi)容的實現(xiàn)步驟:

實現(xiàn)步驟

首先,我們得有一個數(shù)據(jù)庫。這里我們用的是ClickHouse,一個開源的、面向列的SQL數(shù)據(jù)庫管理系統(tǒng),特別適合大數(shù)據(jù)分析。安裝起來超級簡單,一行命令就搞定。

接下來,我們得讓Agent學(xué)會和ClickHouse交流。這里就需要用到clickhouse-sqlalchemy這個包了。安裝它之后,我們就可以建立數(shù)據(jù)庫連接,然后初始化我們的Toolkit。這個Toolkit就像是我們的Agent的工具箱,里面裝滿了有用的工具。

現(xiàn)在,讓我們來創(chuàng)建一個SQLDatabaseChain的Agent。這個Agent可以直接和數(shù)據(jù)庫交互,回答問題。我們只需要定義一些工具,比如查詢表結(jié)構(gòu)、執(zhí)行SQL查詢等。然后,我們就可以快速創(chuàng)建并運行這個Agent了。

環(huán)境搭建

今天用到的主要安裝包如下,其它可以根據(jù)提示安裝:

# 安裝 clickhouse-sqlalchemy 包來連接 ClickHouse
pip install clickhouse-sqlalchemy langchain

運行代碼

代碼大概是這樣的:

from langchain.agents import AgentExecutor, AgentType
from langchain.sql_database_toolkit import SQLDatabaseToolkit




# 設(shè)置數(shù)據(jù)庫連接
uri = 'clickhouse+native://localhost/ecommerce'
db = SQLDatabase.from_uri(uri)




# 初始化工具箱
toolkit = SQLDatabaseToolkit(db=db, llm=OpenAI(temperature=0))




# 創(chuàng)建并運行基于 OpenAI 函數(shù)的 Agent
agent_executor = create_sql_agent(
    llm=ChatOpenAI(temperature=0.1, model='gpt-4-1106-preview'),
    toolkit=toolkit,
    verbose=True,
    agent_type=AgentType.OPENAI_FUNCTIONS
)
# 運行 Agent,回答數(shù)據(jù)相關(guān)問題
agent_executor.run("我們有多少來自上海的活躍客戶?")

運行這段代碼后,Agent就會根據(jù)我們的問題去數(shù)據(jù)庫里找到答案,然后告訴我們。比如,它會告訴我們有多少來自上海的活躍客戶。這個Agent的好處在于,它可以直接理解我們的問題,然后去數(shù)據(jù)庫里找到答案。我們不需要自己寫SQL查詢,也不需要擔(dān)心查詢的語法問題。Agent會幫我們搞定一切。

如果對內(nèi)容有什么疑問和建議可以私信和留言,也可以添加我加入大模型交流群,一起討論大模型在創(chuàng)作、RAG和agent中的應(yīng)用。

責(zé)任編輯:武曉燕 來源: 哎呀AIYA
相關(guān)推薦

2023-11-10 14:46:41

OpenAIPinecone

2022-04-08 11:25:58

數(shù)據(jù)庫操作AbilityData

2010-06-30 08:27:45

SQL Server數(shù)

2021-03-14 10:21:36

數(shù)據(jù)庫區(qū)塊鏈DNS

2011-03-01 14:52:31

EXCEL財務(wù)分析?數(shù)據(jù)庫

2012-12-20 11:16:16

IBMdW

2020-11-24 17:22:15

數(shù)據(jù)庫MySQL技術(shù)

2018-01-04 10:43:43

OracleMysqlJava

2009-11-20 15:03:29

2009-07-01 11:08:14

JSP DestoryJSP Init數(shù)據(jù)庫鏈接

2011-03-21 17:00:23

MySQL數(shù)據(jù)庫

2009-09-09 13:07:37

創(chuàng)建Linq數(shù)據(jù)庫

2017-06-22 16:00:07

數(shù)據(jù)庫NoSQL遷移實踐

2009-09-17 09:57:08

linq創(chuàng)建數(shù)據(jù)庫

2010-09-17 20:28:29

2010-06-28 10:06:09

SQL Server數(shù)

2011-04-06 09:09:17

MySQL數(shù)據(jù)庫備份

2010-05-14 11:04:17

連接MySQL

2019-01-02 09:30:59

MySQL數(shù)據(jù)庫日志審計

2009-07-16 11:04:17

Jython連接數(shù)據(jù)庫
點贊
收藏

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