将自然语言处理与数据库查询相结合 AIGC正在悄然地引领LLM新趋势?

序言

在上一篇AIGC文章我们感受到了LangChain框架的魅力,让书写AIGC变得更加得心应手。而在最近呢,GPTs应用商店也正式发布 ,正当我们感叹AIGC的魔力时,人工智能正在飞速的进步,改变引领着未来科技发展的趋势。

在当今数字化的时代,技术的发展不断推动着创新的浪潮,而自然语言处理(Natural Language Processing, NLP)和数据库查询的结合 正成为一种引人注目的新趋势。那么今天就让我们一起探讨在PythonLangChain技术的支持下,如何将这两者融合,实现更高效的数据库开发和SQL数据分析。

Figure : Example of multiple agents in a ChatDev environment

一、Copilt:代码生成的未来

我们今天需要借助的工具依旧是使用python语言编码的开发工具------Coplit,它可以通过整合自然语言处理和代码生成技术,从而提高我们的生产效率。我们可以使用LLM描述问题以及需求,然后Copilt将自动生成相应的代码,为我们答疑解难!

1. 首先我们需要新建一个笔记本,然后再开始编写代码

二、SQL生成及分析的新思路

举个例子,在数据库查询方面,新思路的提出是SQL语句不再是必需的。 ORM工具如SQLAlchemy使得通过Python对象进行数据库操作成为可能。这种更高级的抽象层使得开发者可以更专注于业务逻辑而非底层的SQL语法。

  1. 首先,我们使用Python自带的sqlite3模块创建一个轻量级关系型数据库,并向其中插入一些花卉相关的数据。
python 复制代码
# 轻量关系型数据库,大佬一般在测试产品想法的时候用它
# 本地数据库  python自带sqlite3驱动库
import sqlite3
# 数据库连接句柄
conn = sqlite3.connect('FlowerShop.db')
# 创建一个游标对象
cursor = conn.cursor()
# 执行SQL 完全支持sql 的三大范式
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()

三、AIGC和自然语言处理的融合

AIGC(人工智能生成代码)的应用正日益扩展至自然语言处理领域。通过LangChain和大型NLP模型(如ChatGPT),我们能够借助自然语言提出问题,并由系统生成相应的数据库查询语句,实现无缝的交互。

  1. 然后我们需要进行text2SQL(将自然语言转换为SQL查询语句),需要安装一些必要的相关的工具和库,我们安装了0.28.1版本的openai大模型,以及langchain和langchain试验阶段的工具。
python 复制代码
# text2SQL
!pip install openai==0.28.1 # llm
!pip install langchain  # AI 框架
!pip install langchain-experimental # 最新实验阶段的工具 sql

四. 新的数据库查询范式

接着,我们思考一个问题,如果是在现阶段让我们写完成在数据库插入数据并且实现AIGC功能你会怎么做?

首先,我们需要人为的完成LLM功能,然后我们在相应的数据库操作工具中调用数据库并执行对应的SQL语句。

而正是这些重复繁琐的操作大大降低了开发者的生产效率,通过AIGC和自然语言处理的融合,我们需要关注的重点不再是代码逻辑而是业务逻辑。 每个人都可以成为开发者,只需要提出问题,借助 chatgpt 自然语言处理能力,生成SQL,自动执行SQL,拿到结果,根据需求生成对应的LLM(JSON还是图表),最后得到答案,结束!

python 复制代码
# 引入LangChain模块
from langchain.utilities import SQLDatabase
from langchain.llms import OpenAI
from langchain_experimental.sql import SQLDatabaseChain

# 连接到数据库
db = SQLDatabase.from_uri("sqlite:///FlowerShop.db")

# 初始化OpenAI实例
llm = OpenAI(temperature=0, verbose=True, api_key='Your API_KEY')

# 使用LangChain构建链
db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)

# 用户提问:有多少种不同的鲜花
response = db_chain.run("有多少种不同的鲜花")

# 打印响应结果
print(response)

总结

  • 用户可以通过自然语言向系统提出问题,而无需深入了解数据库查询语言。

  • 利用ChatGPT的自然语言处理能力,系统能够将用户提出的问题转化为数据库查询语句,实现智能的语义理解。

  • LangChain作为连接工具,将生成的SQL语句传递给数据库,并自动执行查询。

  • 系统根据用户需求,可以将查询结果以JSON格式或图表形式呈现,满足不同用户的需求。

在这个充满创新的时代,将自然语言处理与数据库查询相结合,为开发者和用户提供更智能、高效的体验。这种前瞻性的探索不仅推动了技术的发展,也为数据分析和应用提供了新的可能性。在未来,我们有望看到更多类似的技术整合,为数字化世界带来更多便利和智能。

那么到了这里我们今天的文章就结束啦~

创作不易,如果感觉这个文章对你有帮助的话,点个赞吧♥

更多内容:上一篇AIGC文章

ReacheMe : GitHub Gitee

相关推荐
实在智能RPA4 分钟前
Agent能适配不同行业的合规要求吗?——2026年企业级AI Agent合规技术架构与落地全解析
人工智能·ai·架构
柯西劝我别收敛6 分钟前
[AI-INFRA] HAMI VGPU 系列02:HAMI-Device-Plugin
人工智能
lizz66613 分钟前
Hermes-Agent 新手安装指南(言简意赅版)
人工智能·ai
Logintern0913 分钟前
【大语言模型应用】利用 DuckDuckGo 和 Tavily 搜索引擎
人工智能·搜索引擎·语言模型
Karl_wei16 分钟前
Vide Coding 的基础:LLM 大模型
llm·ai编程·领域驱动设计
chao_66666624 分钟前
2026定制AI玩具/AI硬件头部厂商全解析,定制需求选型参考
人工智能
gorgeous(๑>؂<๑)29 分钟前
【CVPR26-陶大程-南洋理工】启发式推理先验助力数据高效型指代目标检测
人工智能·目标检测·计算机视觉
Sharewinfo_BJ33 分钟前
香港Databricks AI DAYS参会笔记:Agentic Analytics离我们还有多远
大数据·人工智能·数据分析·powerbi
羽师1 小时前
RAG工作流程的执行时机
人工智能