利用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相结合,我们在数据分析领域迎来了更加便捷的时代。在这一趋势下,我们可以更专注于业务需求,更高效地从数据中获取有价值的信息。

相关推荐
“AI国潮设计-小江”23 分钟前
《Python+SDXL实战:用ControlNet批量生成“英歌舞麻将糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc
Rocky Ding*1 小时前
深入浅出完整解析FLUX.2、Seedream(即梦)、Z-image、Qwen-Image、GLM-Image核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·扩散模型·ai-native
后端小肥肠1 小时前
Claude Opus 5.5 做视频:从口播稿到成片,全流程跑通
人工智能·aigc·agent
c萱4 小时前
AI产品经理——03Prompt Engineering提示词工程
ai·prompt·aigc·产品经理·ai编程·ai-native
Martina_03215 小时前
AI生成的模块场景一烘焙就有黑边?用6步检查Lightmap UV、纹素密度与Padding
人工智能·游戏·3d·aigc·uv·游戏策划·关卡设计
阿明副业观察8 小时前
AI视频创作流程怎么做?完整指南与工具推荐
大数据·人工智能·aigc·音视频·ai写作
“AI国潮设计-小江”8 小时前
《Python+SDXL实战:用ControlNet批量生成“英歌舞草莓蛋糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc
Dawson Zhu8 小时前
《Agentic Design Patterns》第 2 章导读:路由(Routing)
人工智能·语言模型·架构·aigc·agi
Martina_03218 小时前
AI生成的盔甲换动作后漂移?用6步检查挂点、骨架映射与 Bind Pose
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
Rocky Ding*9 小时前
深度解析LlamaGen核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·llamagen