利用AI SQL Agent进行项目实战

前言

随着AI应用时代的到来,我们迎来了用更少的SQL知识来进行高效数据分析的时代。其中,sqlite3作为一款轻量级的关系型数据库,为我们提供了小巧、易安装、本地化友好的特性,特别适合用于数据分析的演示、模型跑数等场景。在这个新的范式下,我们可以借助AI的力量,用自然语言表达数据分析需求,由AI理解并生成相应的SQL,再通过sqlite3进行数据库通信。

sqlite3简介

sqlite3是一款轻量级的关系型数据库,非常适合在小型项目中使用。它的小巧体积和简单的安装过程使得它成为了本地化友好的数据库选择。

AIGC 新的数据库查询范式

利用AIGC实现数据库查询业务得益于LLM的自然语言处理能力。随着大模型能力的提升和Agent的产品力,未来与数据库交互,甚至管理,会由销售、经理等非技术人员来做,极大降低了门槛,AIGC也是通过这种方式进入一切行业。LLM在理解了Question的数据需求后,生成SQL, 并通过LangChain等开发的SQL Agent交给数据库执行,执行结果再由LLM进行处理,用户就得到了结果。

项目实战

下面以星星百货做一个简单的项目实战

创建数据表

python 复制代码
# 导入sqlite3库, python 内置
import sqlite3

# 连接到SQLite数据库
# 如果不存在,将创建一个新的数据库文件。
conn = sqlite3.connect('StarStore.db')
# 创建一个游标对象,游标用于执行SQL查询和管理结果集。
cursor = conn.cursor()

cursor.execute('''
        CREATE TABLE StarGoods (
            ID INTEGER PRIMARY KEY, 
            Name TEXT NOT NULL, 
            Type TEXT NOT NULL, 
            Source TEXT NOT NULL, 
            PurchasePrice REAL, 
            SalePrice REAL
        );
    ''')
star_goods = [ 
  ('螺蛳粉', 'StarFood', '广西', 34.5, 40.9),
  ('绿豆饼', 'StarFood', '南昌', 16.5, 23.2),
  ('鸡中翅', 'StarFood', '杭州', 34.6, 44.2)
]

for goods in star_goods:
  cursor.execute('''
    INSERT INTO StarGoods(Name, Type, Source, PurchasePrice, SalePrice)
    VALUES (?, ?, ?, ?, ?)
  ''',goods)

# 提交事务 确认
conn.commit()
conn.close()

首先,我们连接到数据库StarStore,接着创建了一个数据表,StarGoods, 包启ID、类型、产地、进价、货价等字段,还可以有其它的, 此处省略。接着准备了一些初始化数据,循环插入数据表。完成后,关闭数据库的连接。

LangChain来接管数据库

python 复制代码
pip install langchain-experimental
!pip install OpenAI==0.28.1

接下来用langchain完成剩下的操作

python 复制代码
# 工具库里有数据库工具,可以整合各种数据库
from langchain.utilities import SQLDatabase
from langchain.llms import OpenAI
# langchain chain 利用链式组合各种AI组件
from langchain_experimental.sql import SQLDatabaseChain
# 读取文件,sqlite协议
db = SQLDatabase.from_uri("sqlite:///StarStore.db")
# 大模型
llm = OpenAI(temperature=0, verbose=True, api_key='')
# 链起来
db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)
response = db_chain.run('有多少种不同的货物')
print(response)

Db_chain.run() 查询了一些与货物相关的问题,Chain会将这些自然语言转换成SQL语句,并查询数据库,拿到查询结果后,又转换成自然语言输出。下图看输出即可理解。

我们再试一下其他条件

总结

AI SQL Agent的出现为数据分析提供了更加智能、高效的解决方案。它不仅让我们能够用更少的SQL知识进行数据分析,还提供了以自然语言进行数据查询的全新方式。通过将sqlite3与AI相结合,我们在数据分析领域迎来了更加便捷的时代。在这一趋势下,我们可以更专注于业务需求,更高效地从数据中获取有价值的信息。

相关推荐
多恩Stone34 分钟前
【3DV 进阶-9】Hunyuan3D2.1 中的 MoE
人工智能·pytorch·python·算法·aigc
视觉&物联智能2 小时前
【杂谈】-音频深度伪造技术:识别与防范全攻略
人工智能·web安全·ai·aigc·音视频·agi
Mintopia2 小时前
🎓 高校与企业合作:WebAIGC前沿技术的产学研转化路径
人工智能·aigc·编程语言
墨风如雪10 小时前
快手可灵2.0炸场:告别面瘫机器人,你的JPG照片现在能拿奥斯卡了
aigc
泯泷12 小时前
AI 界的“USB-C”协议来了:让你的 AI 拥有即插即用的“手和脚”
aigc·openai·ai编程
蜜獾云12 小时前
Stable Diffusion aki v4下载
ai·ai作画·aigc
胡玉洋13 小时前
跨时空便民服务站
ai·ai作画·llm·aigc·ai编程·ai写作
袁庭新13 小时前
2025年11月总结
人工智能·aigc
oden14 小时前
拒绝一眼假!高效洗掉AI文章的“机器味”(附去机器化实战指南)
aigc·ai编程
用户51914958484516 小时前
滥用ESC10:通过注册表配置不当实现权限提升的ADCS攻击分析
人工智能·aigc