基于通义千问模型搭建自己的千问chat--数据库设计
随着通义千问大语言模型的发布以及API、SDK的发布,规划利用通义千问大模型开放赋能能力去搭建一个千问chat,主要分享需求、数据库设计、技术选型、业务功能设计、接口设计、代码实现、测试、发布
·
随着通义千问大语言模型的发布以及API、SDK的发布,规划利用通义千问大模型开放赋能能力去搭建一个千问chat,说干就干。
数据库表设计:
| 1 | 用户表 | chat_user |
| 2 | 会话表 | chat_session |
| 3 | 问答表 | chat_message |
| 4 | qa类别表 | chat_knowledge_classinfo |
| 5 | qa信息表 | chat_knowledge_info |
| 6 | qa 问答会话表 | chat_knowledge_session |
| 7 | qa问答表 | chat_knowledge_message |
chat_user:
/*
Navicat MySQL Data Transfer
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_user
-- ----------------------------
DROP TABLE IF EXISTS `chat_user`;
CREATE TABLE `chat_user` (
`id` int NOT NULL AUTO_INCREMENT,
`phone` varchar(50) DEFAULT NULL,
`userpassword` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`realname` varchar(50) DEFAULT NULL,
`enable` tinyint(1) DEFAULT '1',
`token` varchar(255) DEFAULT NULL,
`logintime` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb3;
chat_session:
/*
Navicat MySQL Data Transfer
Date: 2024-12-27 11:22:24
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_session
-- ----------------------------
DROP TABLE IF EXISTS `chat_session`;
CREATE TABLE `chat_session` (
`id` int NOT NULL AUTO_INCREMENT,
`sessionid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`userid` int NOT NULL,
`sessiontitle` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`createtime` varchar(50) DEFAULT NULL,
`enable` tinyint DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=150 DEFAULT CHARSET=utf8mb3;
chat_message:
/*
Navicat MySQL Data Transfer
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_message
-- ----------------------------
DROP TABLE IF EXISTS `chat_message`;
CREATE TABLE `chat_message` (
`id` int NOT NULL AUTO_INCREMENT,
`sessionid` varchar(50) DEFAULT NULL,
`messageid` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`createtime` varchar(50) DEFAULT NULL,
`content` text,
`sendertype` tinyint DEFAULT '1',
`enable` tinyint DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=939 DEFAULT CHARSET=utf8mb3;
chat_knowledge_classinfo:
/*
Navicat MySQL Data Transfer
Date: 2024-12-27 11:23:03
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_knowledge_classinfo
-- ----------------------------
DROP TABLE IF EXISTS `chat_knowledge_classinfo`;
CREATE TABLE `chat_knowledge_classinfo` (
`id` int NOT NULL AUTO_INCREMENT,
`fatherid` int DEFAULT '0',
`classname` varchar(50) DEFAULT NULL,
`enable` tinyint DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb3;
chat_knowledge_info:
/*
Navicat MySQL Data Transfer
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_knowledge_info
-- ----------------------------
DROP TABLE IF EXISTS `chat_knowledge_info`;
CREATE TABLE `chat_knowledge_info` (
`id` int NOT NULL AUTO_INCREMENT,
`knowledge_id` varchar(100) DEFAULT NULL,
`knowledge_title` varchar(50) DEFAULT NULL,
`knowledge_des` text CHARACTER SET utf8 COLLATE utf8_general_ci,
`knowledge_content` text,
`classid` int DEFAULT NULL,
`fatherclassid` int DEFAULT NULL,
`enable` tinyint DEFAULT NULL,
`createtime` varchar(50) DEFAULT NULL,
`usenum` int DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=166 DEFAULT CHARSET=utf8mb3;
chat_knowledge_session:
/*
Navicat MySQL Data Transfer
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_knowledge_session
-- ----------------------------
DROP TABLE IF EXISTS `chat_knowledge_session`;
CREATE TABLE `chat_knowledge_session` (
`id` int NOT NULL AUTO_INCREMENT,
`sessionid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`userid` int NOT NULL,
`sessiontitle` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`createtime` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`enable` tinyint DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8mb3;
chat_knowledge_message :
/*
Navicat MySQL Data Transfer
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for chat_knowledge_message
-- ----------------------------
DROP TABLE IF EXISTS `chat_knowledge_message`;
CREATE TABLE `chat_knowledge_message` (
`id` int NOT NULL AUTO_INCREMENT,
`sessionid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`messageid` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`createtime` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci,
`sendertype` tinyint DEFAULT '1',
`enable` tinyint DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1637 DEFAULT CHARSET=utf8mb3;
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)