当前位置:   article > 正文

LangChain+sqlite3简化sql操作 =>解放双手_sqldatabasechain

sqldatabasechain

浅聊一下

数据库的操作想来掘友们是炉火纯青,但是每一条增删改查语句还是得要我们自己来写,今天我带来了LangChain+sql,为大家释放双手,提高效率…

开始

解析

image.png

我们首先使用LLM大模型来对我们提出的问题或者操作进行自然语言分析,分析完之后,再交给LangChain相关模块进行操作,再给你返回结果,返回的结果可以是json,图表等等格式,你要做的就是泡杯茶等它出结果,对比传统的数据库操作方法,着实是解放了双手…

进入colab

我们先来到[colab]

image.png

我们将使用LangChain和sqlite来完成今天的实验,sqlite是一个轻量级关系型数据库,一般在测试产品想法的时候会用到…我们不需要下载它,直接引入+使用就好

创建sqlite数据库

sqlite是python自带的本地数据库,我们在这里直接引入就好,创建了一个FlowerShop.db

接下来便是连接数据库,和其他数据库的连接操作类似

cursor.execute()在括号中插入sql执行

最后遍历flowers数组,完成sqlite数据库的初始化

点击播放键运行,数据库就创建并且初始化完成了

image.png

# 轻量级关系型数据库 大佬一般在测试产品想法的时候用它
# 本地数据库 Python自带
import sqlite3
conn = sqlite3.connect('FlowerShop.db')
cursor = conn.cursor()
cursor.execute('''
  CREATE TABLE FLOWERS(
    ID INTEGER PRIMARY KEY,
    Name TEXT NOT NULL,
    Type TEXT NOT NULL,
    Source TEXT NOT NULL,
    PurchasePrice REAL,
    SalePrice REAL,
    StockQuantity INTEGER,
    SoldQuantity INTEGER,
    ExpiryDate DATE,
    Description TEXT,
    EntryDate DATE DEFAULT CURRENT_DATE
  );
''')

flowers = [ ('Rose', 'Flower', 'France', 1.2, 2.5, 100, 10, '2023-12-31', 'A beautiful red rose'), ('Tulip', 'Flower', 'Netherlands', 0.8, 2.0, 150, 25, '2024-12-31', 'A colorful tulip'), ('Lily', 'Flower', 'China', 1.5, 3.0, 80, 5, '2023-12-31', 'An elegant white lily'), ('Daisy', 'Flower', 'USA', 0.7, 1.8, 120, 15, '2023-12-31', 'A cheerful daisy flower'), ('Orchid', 'Flower', 'Brazil', 2.0, 4.0, 50, 2, '2023-12-31', 'A delicate purple orchid')]
for flower in flowers:
  cursor.execute('''
    INSERT INTO Flowers(Name,Type,Source,PurchasePrice,SalePrice,StockQuantity,SoldQuantity,ExpiryDate,Description)
    VALUES(?,?,?,?,?,?,?,?,?);
  ''',flower)
conn.commit()
conn.close()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

下载配置

下载一下我们需要用到的框架,点击播放键运行

!pip install openai==0.28.1 #LLM
!pip install langchain #AI框架
!pip install langchain-experimental # 实验 sql

  • 1
  • 2
  • 3
  • 4

提出问题

# Langchain 来将llm 和用户间chain起来 连数据库  八爪鱼
# langchain 有一个模块叫utilities 工具库
from langchain.utilities import SQLDatabase
# 大模型模块
from langchain.llms import OpenAI
from langchain_experimental.sql import SQLDatabaseChain
# 返回数据库对象
db = SQLDatabase.from_uri("sqlite:///FlowerShop.db")
# 返回openai实例 (verbose=True)细节打印出来
llm = OpenAI(temperature=0, verbose=True, api_key='------你的OpenAI-Key-------')
# Chain 起来这些
# langchain 提供了各种chain
db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)
response = db_chain.run("有多少种不同的鲜花")
print(response)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

先导入LangChain 的工具库和模块

再通过数据库 URI 创建数据库对象db和创建openai实例

db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)这里就是将LangChan和数据库链接起来的秘诀,使用 LangChain 提供的工具库创建数据库链

最后run一下得到结果

image.png

再测试一下

image.png

测试添加数据操作:

image.png

结尾

我们可以看到,不用我们再写代码了,导入LangChain,它就能帮我们出色的完成数据库任务,解放双手,从我做起…

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/896099
推荐阅读
相关标签