Files
urbanLifeline/urbanLifelineServ/.bin/database/postgres/sql/createTableAI.sql

169 lines
9.9 KiB
MySQL
Raw Normal View History

2025-12-15 15:26:05 +08:00
CREATE SCHEMA IF NOT EXISTS ai;
-- AI智能体配置
DROP TABLE IF EXISTS ai.tb_agent CASCADE;
CREATE TABLE ai.tb_agent(
optsn VARCHAR(50) NOT NULL, -- 流水号
agent_id VARCHAR(50) NOT NULL, -- 智能体ID
name VARCHAR(50) NOT NULL, -- 智能体名称
description VARCHAR(500) DEFAULT NULL, -- 智能体描述
link VARCHAR(500) DEFAULT NULL, -- 智能体url
api_key VARCHAR(500) NOT NULL, -- dify智能体APIKEY
introduce VARCHAR(500) NOT NULL, -- 引导词
prompt_cards JSONB DEFAULT '[]'::jsonb, -- 提示卡片数组 [{file_id:'', prompt:''}]
category VARCHAR(50) NOT NULL, -- 分类
creator VARCHAR(50) DEFAULT NULL, -- 创建者
updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (agent_id),
UNIQUE (optsn),
UNIQUE (api_key)
);
-- AI智能体对话
DROP TABLE IF EXISTS ai.tb_chat CASCADE;
CREATE TABLE ai.tb_chat(
optsn VARCHAR(50) NOT NULL, -- 流水号
chat_id VARCHAR(50) NOT NULL, -- 对话ID
agent_id VARCHAR(50) NOT NULL, -- 智能体ID
user_id VARCHAR(50) NOT NULL, -- 用户ID
2025-12-16 13:31:21 +08:00
user_type BOOLEAN NOT NULL DEFAULT true, -- 用户类型 true-系统内部人员 false-系统外部人员
2025-12-15 15:26:05 +08:00
title VARCHAR(500) NOT NULL, -- 对话标题
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (chat_id),
UNIQUE (optsn)
);
-- AI智能体对话消息
DROP TABLE IF EXISTS ai.tb_chat_message CASCADE;
CREATE TABLE ai.tb_chat_message(
optsn VARCHAR(50) NOT NULL, -- 流水号
message_id VARCHAR(50) NOT NULL, -- 消息ID
chat_id VARCHAR(50) NOT NULL, -- 对话ID
2025-12-16 13:31:21 +08:00
role VARCHAR(50) NOT NULL, -- 角色user-用户/assistant-智能体/recipient-来客
2025-12-15 15:26:05 +08:00
content TEXT NOT NULL, -- 消息内容
files VARCHAR(50)[] DEFAULT NULL, -- 文件id数组
2025-12-16 13:31:21 +08:00
comment VARCHAR(50) DEFAULT NULL, -- 评价
2025-12-15 15:26:05 +08:00
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (message_id),
UNIQUE (optsn)
);
-- 知识库配置 bidding和workcase2个服务使用
DROP TABLE IF EXISTS ai.tb_knowledge CASCADE;
CREATE TABLE ai.tb_knowledge(
-- 知识库dify相关配置
optsn VARCHAR(50) NOT NULL, -- 流水号
knowledge_id VARCHAR(50) NOT NULL, -- 知识库ID
title VARCHAR(255) NOT NULL, -- 知识库标题
avatar VARCHAR(255) DEFAULT NULL, -- 知识库头像
description VARCHAR(500) DEFAULT NULL, -- 知识库描述
dify_dataset_id VARCHAR(100) DEFAULT NULL, -- Dify知识库IDDataset ID
dify_indexing_technique VARCHAR(50) DEFAULT 'high_quality', -- Dify索引方式high_quality/economy
embedding_model VARCHAR(100) DEFAULT NULL, -- 向量模型名称
embedding_model_provider VARCHAR(100) DEFAULT NULL, -- 向量模型提供商
rerank_model VARCHAR(100) DEFAULT NULL, -- Rerank模型名称
rerank_model_provider VARCHAR(100) DEFAULT NULL, -- Rerank模型提供商
reranking_enable BOOLEAN DEFAULT false, -- 是否启用Rerank
retrieval_top_k INTEGER DEFAULT 2, -- 检索Top K返回前K个结果
retrieval_score_threshold DECIMAL(3,2) DEFAULT 0.00, -- 检索分数阈值0.00-1.00
document_count INTEGER DEFAULT 0, -- 文档数量
total_chunks INTEGER DEFAULT 0, -- 总分段数
-- 下面是服务使用
service VARCHAR(50) DEFAULT NULL, -- 所属服务 workcase、bidding
project_id VARCHAR(50) DEFAULT NULL, -- bidding所属项目ID
category VARCHAR(50) DEFAULT NULL, -- 所属分类 workcase 内部知识库、外部知识库
creator VARCHAR(50) NOT NULL, -- 创建者用户ID
dept_path VARCHAR(50) DEFAULT NULL, -- 创建者部门路径
updater VARCHAR(50) DEFAULT NULL, -- 更新者
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (optsn),
UNIQUE (knowledge_id),
UNIQUE (dify_dataset_id)
);
-- 知识库配置表字段注释
COMMENT ON TABLE ai.tb_knowledge IS '知识库配置表';
COMMENT ON COLUMN ai.tb_knowledge.optsn IS '流水号';
COMMENT ON COLUMN ai.tb_knowledge.knowledge_id IS '知识库ID';
COMMENT ON COLUMN ai.tb_knowledge.title IS '知识库标题';
COMMENT ON COLUMN ai.tb_knowledge.avatar IS '知识库头像';
COMMENT ON COLUMN ai.tb_knowledge.description IS '知识库描述';
COMMENT ON COLUMN ai.tb_knowledge.dify_dataset_id IS 'Dify知识库IDDataset ID';
COMMENT ON COLUMN ai.tb_knowledge.dify_indexing_technique IS 'Dify索引方式high_quality/economy';
COMMENT ON COLUMN ai.tb_knowledge.embedding_model IS '向量模型名称';
COMMENT ON COLUMN ai.tb_knowledge.embedding_model_provider IS '向量模型提供商';
COMMENT ON COLUMN ai.tb_knowledge.rerank_model IS 'Rerank模型名称';
COMMENT ON COLUMN ai.tb_knowledge.rerank_model_provider IS 'Rerank模型提供商';
COMMENT ON COLUMN ai.tb_knowledge.reranking_enable IS '是否启用Rerank';
COMMENT ON COLUMN ai.tb_knowledge.retrieval_top_k IS '检索Top K返回前K个结果';
COMMENT ON COLUMN ai.tb_knowledge.retrieval_score_threshold IS '检索分数阈值0.00-1.00';
COMMENT ON COLUMN ai.tb_knowledge.document_count IS '文档数量';
COMMENT ON COLUMN ai.tb_knowledge.total_chunks IS '总分段数';
COMMENT ON COLUMN ai.tb_knowledge.service IS '所属服务 workcase、bidding';
COMMENT ON COLUMN ai.tb_knowledge.project_id IS 'bidding所属项目ID';
COMMENT ON COLUMN ai.tb_knowledge.category IS '所属分类 workcase 内部知识库、外部知识库';
COMMENT ON COLUMN ai.tb_knowledge.creator IS '创建者用户ID';
COMMENT ON COLUMN ai.tb_knowledge.dept_path IS '创建者部门路径';
COMMENT ON COLUMN ai.tb_knowledge.updater IS '更新者';
COMMENT ON COLUMN ai.tb_knowledge.create_time IS '创建时间';
COMMENT ON COLUMN ai.tb_knowledge.update_time IS '更新时间';
COMMENT ON COLUMN ai.tb_knowledge.delete_time IS '删除时间';
COMMENT ON COLUMN ai.tb_knowledge.deleted IS '是否删除';
-- bidding知识库根据project等变化
-- workcase知识库固定8个
-- workcase外部知识库4个知识库
-- 1. 设备操作指南
-- 2. 常见故障解决方案
-- 3. 三包外服务政策
-- 4. 配件咨询话术
-- workcase内部知识库4个知识库
-- 1. 技术维修手册
-- 2. 产品参数明细
-- 3. 内部服务流程规范
-- 4. 客户服务话术模板
-- 知识库文件 文件上传dify知识库对dify内的文件修改不生成新版本 只有重新上传才生成新版本
DROP TABLE IF EXISTS ai.tb_knowledge_file CASCADE;
CREATE TABLE ai.tb_knowledge_file(
optsn VARCHAR(50) NOT NULL, -- 流水号
knowledge_id VARCHAR(50) NOT NULL, -- 知识库ID
file_root_id VARCHAR(50) NOT NULL, -- 文件根ID
file_id VARCHAR(50) NOT NULL, -- 文件ID
dify_file_id VARCHAR(50) NOT NULL, -- dify文件ID
version VARCHAR(50) NOT NULL, -- 文件版本
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
PRIMARY KEY (optsn),
UNIQUE (knowledge_id, file_id)
);
-- 知识库文件表字段注释
COMMENT ON TABLE ai.tb_knowledge_file IS '知识库文件表';
COMMENT ON COLUMN ai.tb_knowledge_file.optsn IS '流水号';
COMMENT ON COLUMN ai.tb_knowledge_file.knowledge_id IS '知识库ID';
COMMENT ON COLUMN ai.tb_knowledge_file.file_root_id IS '文件根ID';
COMMENT ON COLUMN ai.tb_knowledge_file.file_id IS '文件ID';
COMMENT ON COLUMN ai.tb_knowledge_file.dify_file_id IS 'dify文件ID';
COMMENT ON COLUMN ai.tb_knowledge_file.version IS '文件版本';
COMMENT ON COLUMN ai.tb_knowledge_file.create_time IS '创建时间';
COMMENT ON COLUMN ai.tb_knowledge_file.update_time IS '更新时间';
COMMENT ON COLUMN ai.tb_knowledge_file.delete_time IS '删除时间';
COMMENT ON COLUMN ai.tb_knowledge_file.deleted IS '是否删除';