GPT应用-使用中文操作数据库

这篇具有很好参考价值的文章主要介绍了GPT应用-使用中文操作数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GPT应用-使用中文操作数据库

本次尝试使用langchain来操作数据库;

环境配置

下面是数据库相关的表,使用Mysql5.7 数据库,数据库名students

下面是相关表的介绍

学生表,有名字、分数、和老师的备注

GPT应用-使用中文操作数据库

学生父母表,其中有学生的名字,父母的电话

GPT应用-使用中文操作数据库

代码介绍

下面是notebook 内容的相关介绍

安装langchain和pymysql依赖

%pip install langchain
%pip install pymysql

配置OPENAI_API_KEY,在openAI获取key

%env OPENAI_API_KEY=sk-d8X5qdQlAnTdOHzCiOdZT3B

引入依赖

from langchain import OpenAI, SQLDatabase, SQLDatabaseChain

配置数据库连接

db = SQLDatabase.from_uri("mysql+pymysql://root:root@127.0.0.1/students")
llm = OpenAI(temperature=0)

创建SQLDatabaseChain,chain是langchain中的一个重要概念,可以从他的官网了解,例如我们可以将接口访问封装成一个Chain等。

这里我们使用的是langchain提供的访问数据库的Chain,官方还提供了更多的chain。

db_chain = SQLDatabaseChain(llm=llm, database=db, verbose=True)

开始询问,我们直接使用中文问,因为我们配置了verbose=True,所以他将中间产生的SQL也输出了

db_chain.run("全班有多少个学生?")

GPT应用-使用中文操作数据库

db_chain.run("他们的名字是什么?")

GPT应用-使用中文操作数据库

db_chain.run("他们的平均分是多少?")

GPT应用-使用中文操作数据库

db_chain.run("去除0分之后的平均分是多少")

GPT应用-使用中文操作数据库

db_chain.run("谁的了0分?")

GPT应用-使用中文操作数据库

db_chain.run("谁的了0分以及为什么")

GPT应用-使用中文操作数据库

db_chain.run("说得了0分,给出父母的电话")

GPT应用-使用中文操作数据库

通过以上的实例演示,能够看到非常好的效果,大家可以多测试,欢迎交流学习

更多实例参考:https://github.com/malone231214/gpthub文章来源地址https://www.toymoban.com/news/detail-470399.html

SQL

DROP TABLE IF EXISTS `parents`;
​
CREATE TABLE `parents` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `student_name` varchar(20) DEFAULT '',
  `parent_name` varchar(20) DEFAULT NULL,
  `parent_mobile` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
​
LOCK TABLES `parents` WRITE;
/*!40000 ALTER TABLE `parents` DISABLE KEYS */;
​
INSERT INTO `parents` (`id`, `student_name`, `parent_name`, `parent_mobile`)
VALUES
    (1,'Alex','Barry','0881234567'),
    (2,'Alice','Jessica','0891234567'),
    (3,'Jack','Simon','0876666666'),
    (5,'Ophelia','Tracy','0881111111');
​
/*!40000 ALTER TABLE `parents` ENABLE KEYS */;
UNLOCK TABLES;
​
​
# Dump of table students
# ------------------------------------------------------------
​
DROP TABLE IF EXISTS `students`;
​
CREATE TABLE `students` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(11) DEFAULT NULL,
  `score` int(11) DEFAULT NULL,
  `teacher_note` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
​
LOCK TABLES `students` WRITE;
/*!40000 ALTER TABLE `students` DISABLE KEYS */;
​
INSERT INTO `students` (`id`, `name`, `score`, `teacher_note`)
VALUES
    (1,'Alex',100,'Alex did perfectly every day in the class. There is no surprise he got the full mark.'),
    (2,'Alice',70,'Alice needs a lot of improvements.'),
    (3,'Jack',75,'Even it's not the best, Jack has already improved. Keep going.'),
    (4,'Ophelia',0,'Unfortunately, Ophelia missed the test.'),
    (5,'Zack',60,'Zack needs to do better.');
​
/*!40000 ALTER TABLE `students` ENABLE KEYS */;
UNLOCK TABLES;

参考

  • https://python.langchain.com/en/latest/modules/chains/examples/sqlite.html
  • https://github.com/sugarforever/LangChain-SQL-Chain

到了这里,关于GPT应用-使用中文操作数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库应用:MySQL数据库SQL高级语句与操作

    目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.MySQL中6种常见的约束 二、实验  1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.主键表和外键表  三、总结 克隆表:将数据表的数据记录生成到新的表中。 (1)克隆表 ① 先创建再导入 ② 创建

    2024年02月13日
    浏览(81)
  • quarkus数据库篇之三:单应用同时操作多个数据库

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 一个应用同时连接多个数据库进行操作,这是常见的场景,quarkus也不例外,今天就随本文一起来实战多数据源操作 如下图,今天要创建名为 multi-db-demo 的应用,此应用同时连接两个数据库,名为

    2024年02月12日
    浏览(36)
  • 数据库系统原理及MySQL应用教程实验四MySQL数据库表数据的查询操作

    1.掌握SELECT 语句的基本语法格式。 2.掌握SELECT 语句的执行方法。 3.掌握SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用。 验证性实验:在公司的部门员工管理数据库的bumen表和yuangong表上进行信息查询。 设计性试验:将在student表和score表上进行查询。 ( 一 ) 验证性实验 在

    2024年02月05日
    浏览(57)
  • java之路 —— 连接数据库知识与操作应用

    项目很多小伙伴学习后端的时候以及学习数据库的时候,在后端程序中,有很多的数据来自前端的传递或者后端本身创建的,这些数据都是需要的,学过数据库的小伙伴知道,数据存放到数据库里才容易管理以及安全、方便。那么我们就会需要将程序与数据库进行连接并执行

    2024年02月03日
    浏览(51)
  • DB-GPT:强强联合Langchain-Vicuna的应用实战开源项目,彻底改变与数据库的交互方式

    今天看到 蚂蚁科技 Magic 开源的DB-GPT项目,觉得创意很好,集成了当前LLM的主流技术,主要如下 Langchain: 构建在LLM之上的应用开发框架 HuggingFace: 模型标准,提供大模型管理功能 Vicuna: 一个令GPT-4惊艳的开源聊天机器人,基于LLaMA模型和ShareGPT数据集训练的,能够达到接近Cha

    2024年02月15日
    浏览(41)
  • 使用Langchain+GPT+向量数据库chromadb 来创建文档对话机器人

    使用Langchain+GPT+向量数据库chromadb 来创建文档对话机器人 文件存放地址 参考: https://python.langchain.com/docs/use_cases/chatbots https://python.langchain.com/docs/integrations/vectorstores/chroma https://blog.csdn.net/v_JULY_v/article/details/131552592?ops_request_misc=%257B%2522request%255Fid%2522%253A%252216945020581680022659096

    2024年02月03日
    浏览(44)
  • 大数据技术原理与应用实验3——NoSQL和关系数据库的操作比较

    (1)理解四种数据库(MySQL、HBase、Redis和MongoDB)的概念以及不同点; (2)熟练使用四种数据库操作常用的Shell命令; (3)熟悉四种数据库操作常用的Java API。 (1)Linux操作系统(CentOS7.5) (2)VMware Workstation Pro 15.5 (3)远程终端工具Xshell7 (4)Xftp7传输工具 (5)Hadoop版本:

    2024年02月02日
    浏览(45)
  • 大语言模型Prompt工程之使用GPT4生成图数据库Cypher

    Here’s the table of contents:     使用GPT4测试了生成Cypher的能力,没想到大型语言模型(LLM,Large Language Model)效果能好成这样,非常惊艳!     之前的文章中介绍了,使图数据库快速搭建一个可配置图谱问答系统的功能。其中Cypher的解析、组合生成和意图识别等能力是依赖于

    2023年04月22日
    浏览(40)
  • 【python】flask操作数据库工具SQLAlchemy,详细用法和应用实战

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,

    2024年04月17日
    浏览(53)
  • 大语言模型Prompt工程之使用GPT3.5生成图数据库Cypher

    Here’s the table of contents:     使用GPT3.5测试了生成Cypher的能力,相比于GPT4生成Cypher的能力,GPT3.5对于自然语言任务指令的理解稍差一些。     通过测试发现,设计合适的Prompt工程以后,GPT3.5可以基于样例准确生成Cypher,但是对于样例没有覆盖的问句,Cypher经常会错误生成

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包