返回顶部
首页 > 资讯 > 数据库 >LangChain 使用文本描述的方式操作MySQL中的数据
  • 159
分享到

LangChain 使用文本描述的方式操作MySQL中的数据

langchainmysql 2023-08-16 17:08:53 159人浏览 泡泡鱼
摘要

一、LanGChain 使用文本描述的方式操作Mysql中的数据 在 LangChain 中提供了 sqlDatabaseChain ,可以通过语义文本去操作 mysql中的数据,例如在 MySQL 中有如下表数据: 用户表 CREATE

一、LanGChain 使用文本描述的方式操作Mysql中的数据

LangChain 中提供了 sqlDatabaseChain ,可以通过语义文本去操作 mysql中的数据,例如在 MySQL 中有如下表数据:

用户表

CREATE TABLE `user` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',  `name` varchar(255) DEFAULT NULL COMMENT '姓名',  `age` int DEFAULT NULL COMMENT '年龄',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';

写入测试数据:

INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (1, '张三', 20);INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (2, '李四', 60);INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (3, '王五', 30);INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (4, '赵六', 31);INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (5, '小明', 35);INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (6, '小红', 25);INSERT INTO `langchain`.`user`(`id`, `name`, `age`) VALUES (7, '小蓝', 40);

角色表

CREATE TABLE `role` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',  `role` varchar(255) DEFAULT NULL COMMENT '角色名',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表';

写入测试数据:

INSERT INTO `langchain`.`role`(`id`, `role`) VALUES (1, 'admin');INSERT INTO `langchain`.`role`(`id`, `role`) VALUES (2, 'common');INSERT INTO `langchain`.`role`(`id`, `role`) VALUES (3, 'role1');INSERT INTO `langchain`.`role`(`id`, `role`) VALUES (4, 'role2');INSERT INTO `langchain`.`role`(`id`, `role`) VALUES (5, 'role3');

工作组表:

CREATE TABLE `work_group` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',  `group` varchar(255) DEFAULT NULL COMMENT '工作组',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作组表';

写入测试数据:

INSERT INTO `langchain`.`work_group`(`id`, `group`) VALUES (1, 'A');INSERT INTO `langchain`.`work_group`(`id`, `group`) VALUES (2, 'B');INSERT INTO `langchain`.`work_group`(`id`, `group`) VALUES (3, 'C');INSERT INTO `langchain`.`work_group`(`id`, `group`) VALUES (4, 'E');

用户角色关系表

CREATE TABLE `user_role_mapping` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',  `user_id` int DEFAULT NULL COMMENT '用户ID',  `role_id` int DEFAULT NULL COMMENT '角色ID',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户角色关系表';

写入测试数据:

INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (1, 1, 1);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (2, 1, 2);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (3, 1, 3);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (4, 2, 4);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (5, 2, 5);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (6, 3, 2);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (7, 4, 2);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (8, 5, 2);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (9, 6, 2);INSERT INTO `langchain`.`user_role_mapping`(`id`, `user_id`, `role_id`) VALUES (10, 7, 5);

用户工作组关系表

CREATE TABLE `user_work_group_mapping` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',  `user_id` int DEFAULT NULL COMMENT '用户ID',  `group_id` int DEFAULT NULL COMMENT '工作组ID',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户工作组关系表';

写入测试数据:

INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (1, 1, 1);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (2, 1, 2);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (3, 1, 3);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (4, 2, 1);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (5, 2, 2);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (6, 2, 3);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (7, 3, 2);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (8, 3, 3);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (9, 4, 1);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (10, 4, 2);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (11, 5, 2);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (12, 5, 4);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (13, 6, 3);INSERT INTO `langchain`.`user_work_group_mapping`(`id`, `user_id`, `group_id`) VALUES (14, 7, 2);

构建 SQLDatabaseChain

from langchain import OpenAI, SQLDatabase, SQLDatabaseChainimport osdb_user = "root"db_passWord = "root"db_host = "127.0.0.1"db_name = "langchain"db = SQLDatabase.from_uri(f"mysql+pymysql://{db_user}:{db_password}@{db_host}/{db_name}")openai_api_key = os.environ["OPENAI_API_KEY"]llm = OpenAI(temperature=0, openai_api_key=openai_api_key)db_chain = SQLDatabaseChain(llm=llm, database=db, verbose=True)

使用文本描述操作数据:

questions = "有多少个用户"res = db_chain.run(questions)print("问题:", questions, "解答:", res)

在这里插入图片描述

questions = "统计30岁以下的人员信息"res = db_chain.run(questions)print("问题:", questions, "解答:", res)

在这里插入图片描述

questions = "统计每个工作组下的人员"res = db_chain.run(questions)print("问题:", questions, "解答:", res)

在这里插入图片描述

questions = "统计每个工作组下的人员数量"res = db_chain.run(questions)print("问题:", questions, "解答:", res)

在这里插入图片描述

questions = "统计每个校色下的人员数量"res = db_chain.run(questions)print("问题:", questions, "解答:", res)

在这里插入图片描述

questions = "统计30岁以下人员的工作组和角色"res = db_chain.run(questions)print("问题:", questions, "解答:", res)

在这里插入图片描述

来源地址:https://blog.csdn.net/qq_43692950/article/details/131378699

您可能感兴趣的文档:

--结束END--

本文标题: LangChain 使用文本描述的方式操作MySQL中的数据

本文链接: https://lsjlt.com/news/371825.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • LangChain 使用文本描述的方式操作MySQL中的数据
    一、LangChain 使用文本描述的方式操作MySQL中的数据 在 LangChain 中提供了 SQLDatabaseChain ,可以通过语义文本去操作 MySQL中的数据,例如在 MySQL 中有如下表数据: 用户表 CREATE ...
    99+
    2023-08-16
    langchain mysql
  • mysql中怎么操作文本数据
    这篇文章给大家介绍mysql中怎么操作文本数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、 建立测试表,准备数据 首先建立一个用于测试的表示学生信息的表,字段有id、姓名、年龄、...
    99+
    2024-04-02
  • 基本操作mysql数据库的方法
    下文主要给大家带来基本操作mysql数据库的方法,希望这些内容能够带给大家实际用处,这也是我编辑基本操作mysql数据库的方法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库的基本操作:Sql...
    99+
    2024-04-02
  • 操作mysql数据表的基本方法
    本文主要给大家介绍操作mysql数据表的基本方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下操作mysql数据表的基本方法吧。1.创建数据表cre...
    99+
    2024-04-02
  • 在Linux系统中使用Python脚本操作MySQL数据库的方法
    在Linux系统中使用Python脚本操作MySQL数据库的方法随着数据处理和存储的需求不断增加,MySQL数据库成为了开发者们常用的选择之一。在Linux系统中,使用Python脚本与MySQL数据库进行交互十分便捷,本文将介绍如何在Li...
    99+
    2023-10-22
    Python Linux MySQL
  • MySQL的约束类型、数据库操作、数据表操作大全(简述)
    目录 一.数据库的操作语法 二.MySQL数据库约束 三.数据类型 四.数据表操作 作者简介: tq02,一个想成为编程高手的梦中人作者主页: tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主学习专栏:  &...
    99+
    2023-09-14
    数据库 mysql 笔记 sql
  • 操作mysql数据库表的基本方法
    下面一起来了解下操作mysql数据库表的基本方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望操作mysql数据库表的基本方法这篇短内容是你想要的。表的操作表示数据库存储数据的基本单位,由若干个字段组成...
    99+
    2024-04-02
  • python类中成员描述符的使用方法
    这篇文章将为大家详细讲解有关python类中成员描述符的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多...
    99+
    2023-06-14
  • C#操作文本文件的实现方式
    本篇内容主要讲解“C#操作文本文件的实现方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作文本文件的实现方式”吧!C#操作文本文件是如何实现的呢?让我们开始讲述吧:using ...
    99+
    2023-06-17
  • mysql中数据表基本操作的示例
    这篇文章主要介绍mysql中数据表基本操作的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!案例:创建数据库company,按照下面两个表给出的表结构在company数据库中创建两...
    99+
    2024-04-02
  • python 操作mysql数据中fetchone()和fetchall()方式
    fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() 返回多个元组,即返回多个记录(rows),如果没有结果 则返回 () 需要注明:在MySQL中...
    99+
    2022-05-24
    python mysql fetchone fetchall
  • mysql 数据库的基本操作1
    mysql数据库管理 day01相关概念问题数据库介绍? 存储数据的仓库 数据库服务都那些公司在使用? 购物网站 游戏网站 金融网站 数据服务存储的是什么数据?帐号信息...
    99+
    2024-04-02
  • MSSQL转MySQL数据库的实际操作方式
    这篇文章主要介绍“MSSQL转MySQL数据库的实际操作方式”,在日常操作中,相信很多人在MSSQL转MySQL数据库的实际操作方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • django中操作mysql数据库的方法
    目录1.准备工作(django连接数据库)2.django操作数据库(ORM)2.1 ORM简介2.2 创建表和字段2.3 字段的增删改查2.4 单表数据的增删改查2.4.1单表数据的查询2.4.2单表数据的增加2.4....
    99+
    2024-04-02
  • Python操作使用MySQL数据库方法
    下面一起来了解下Python操作使用MySQL数据库方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python操作使用MySQL数据库方法这篇短内容是你想要的。一,安装mysql 如果是w...
    99+
    2024-04-02
  • MYSQL数据库插入数据的基本操作
    下文主要给大家带来MYSQL数据库插入数据的基本操作,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL数据库插入数据的基本操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。插入数据在建立一...
    99+
    2024-04-02
  • MySQL数据库中数据表的基本操作有哪些
    这篇文章主要讲解了“MySQL数据库中数据表的基本操作有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库中数据表的基本操作有哪些”吧!前言:库名、表名、列名等等不能和关键字...
    99+
    2023-06-21
  • MySQL 数据库中数据表超详细的基本操作
    目录1. 查看当前数据库中的表2. 创建表3. 查看指定表结构4. 删除表5. 往表中新增数据6. 查找表中的数据6.1 全列查询6.2 指定列查询6.3 查询字段为表达式6.4 给...
    99+
    2024-04-02
  • 计算机中对数据库物理存储方式的描述称为什么
    这篇文章给大家分享的是有关计算机中对数据库物理存储方式的描述称为什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对数据库物理存储方式的描述称为“内模式”。内模式给出了数据库物理...
    99+
    2024-04-02
  • MySQL数据操作-DML语句的使用
    说明 DML(Data Manipulation Language)数据操作语言,是指对数据库进行增删改的操作指令,主要有INSERT、UPDATE、DELETE三种,代表插入、更新与删除,这是学习MySQL...
    99+
    2022-05-14
    MySQL dml语句 mysql 数据操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作