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

相关推荐
发哥来了1 小时前
东莞AI培训课程横向对比:五家机构教学与就业质量评测
大数据·人工智能·机器学习·ai·aigc
92year1 小时前
TradingAgents 源码拆解:用 LangGraph 搭一个多 Agent 交易团队
aigc
青山师2 小时前
【大模型提示词工程深度解析:从原理到工业级实践、实践案例】
大模型·prompt·aigc·ai编程·llama·claude·agi
92year3 小时前
Mastra Observational Memory 实战:给你的 AI Agent 装一个"会遗忘"的大脑
aigc
周末程序猿3 小时前
技术总结|十分钟了解GEO
人工智能·aigc
周末程序猿3 小时前
技术总结|十分钟了解大模型投毒
人工智能·aigc
sunneo4 小时前
专栏E-产品品牌与叙事-00-专栏简介
人工智能·产品运营·aigc·产品经理·ai-native
SmartBrain4 小时前
Harness 工程建设与 AI 平台建设对比
大数据·人工智能·华为·aigc
发哥来了14 小时前
AI视频生成模型选型指南:五大核心维度对比评测
大数据·人工智能·机器学习·ai·aigc
发哥来了14 小时前
AI驱动生产线的实际落地:一个东莞厂商的技术选型实录
大数据·人工智能·机器学习·ai·aigc