web修改
This commit is contained in:
@@ -54,9 +54,8 @@ CREATE TABLE knowledge.tb_knowledge_document (
|
||||
file_path VARCHAR(500), -- 文件路径
|
||||
file_size BIGINT, -- 文件大小(字节)
|
||||
mime_type VARCHAR(100), -- MIME类型
|
||||
version INTEGER DEFAULT 1, -- 版本号(自动递增)
|
||||
root_doc_id VARCHAR(50), -- 根文档ID(版本组标识)
|
||||
is_current BOOLEAN DEFAULT true, -- 是否当前使用的版本
|
||||
version INTEGER DEFAULT 1, -- 文档版本号(仅做记录)
|
||||
root_doc_id VARCHAR(50), -- 根文档ID(版本组标识,保留用于整体版本管理)
|
||||
tags TEXT[], -- 文档标签数组
|
||||
keywords TEXT[], -- 关键词数组(AI提取)
|
||||
embedding_status VARCHAR(20) DEFAULT 'pending', -- 向量化状态:pending-待处理/processing-处理中/completed-完成/failed-失败
|
||||
@@ -75,7 +74,6 @@ CREATE TABLE knowledge.tb_knowledge_document (
|
||||
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
||||
PRIMARY KEY (doc_id),
|
||||
UNIQUE (optsn),
|
||||
FOREIGN KEY (knowledge_id) REFERENCES knowledge.tb_knowledge_base(knowledge_id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_doc_kb ON knowledge.tb_knowledge_document(knowledge_id) WHERE deleted = false;
|
||||
@@ -83,13 +81,12 @@ CREATE INDEX idx_doc_service ON knowledge.tb_knowledge_document(service_type) WH
|
||||
CREATE INDEX idx_doc_category ON knowledge.tb_knowledge_document(category) WHERE deleted = false;
|
||||
CREATE INDEX idx_doc_embedding_status ON knowledge.tb_knowledge_document(embedding_status) WHERE deleted = false;
|
||||
CREATE INDEX idx_doc_tags ON knowledge.tb_knowledge_document USING GIN(tags) WHERE deleted = false;
|
||||
CREATE INDEX idx_doc_root_current ON knowledge.tb_knowledge_document(root_doc_id, is_current) WHERE deleted = false;
|
||||
CREATE INDEX idx_doc_root ON knowledge.tb_knowledge_document(root_doc_id) WHERE deleted = false;
|
||||
|
||||
COMMENT ON TABLE knowledge.tb_knowledge_document IS '知识文档表';
|
||||
COMMENT ON TABLE knowledge.tb_knowledge_document IS '知识文档表(文档级元数据,版本控制在chunk级别)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.service_type IS '服务类型(从知识库继承,用于服务间隔离)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.version IS '版本号(整数,每次创建新版本自动+1)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.root_doc_id IS '根文档ID(同一文档的所有版本共享此ID,首次上传时等于doc_id)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.is_current IS '是否当前使用的版本(每个root_doc_id只有一个is_current=true)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.version IS '文档版本号(仅做记录,实际版本控制在chunk级别)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.root_doc_id IS '根文档ID(用于文档整体版本管理,可选)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_document.embedding_status IS '向量化状态:pending/processing/completed/failed';
|
||||
|
||||
-- 知识文档片段表(用于RAG检索)
|
||||
@@ -104,7 +101,9 @@ CREATE TABLE knowledge.tb_knowledge_chunk (
|
||||
content_length INTEGER, -- 内容长度
|
||||
embedding vector(1536), -- 向量嵌入(假设使用OpenAI 1536维)
|
||||
chunk_type VARCHAR(20) DEFAULT 'text', -- 片段类型:text-文本/table-表格/image-图片
|
||||
version INTEGER DEFAULT 1, -- 分段版本号(用于乐观锁,每次编辑+1)
|
||||
version INTEGER DEFAULT 1, -- chunk版本号(每次修改自动+1)
|
||||
root_chunk_id VARCHAR(50), -- 根chunk ID(同一chunk的不同版本共享此ID)
|
||||
is_current BOOLEAN DEFAULT true, -- 是否当前使用的版本
|
||||
position_info JSONB, -- 位置信息(页码、坐标等)
|
||||
metadata JSONB, -- 片段元数据
|
||||
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
||||
@@ -114,18 +113,20 @@ CREATE TABLE knowledge.tb_knowledge_chunk (
|
||||
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
||||
PRIMARY KEY (chunk_id),
|
||||
UNIQUE (optsn),
|
||||
FOREIGN KEY (doc_id) REFERENCES knowledge.tb_knowledge_document(doc_id),
|
||||
FOREIGN KEY (knowledge_id) REFERENCES knowledge.tb_knowledge_base(knowledge_id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_chunk_doc ON knowledge.tb_knowledge_chunk(doc_id) WHERE deleted = false;
|
||||
CREATE INDEX idx_chunk_kb ON knowledge.tb_knowledge_chunk(knowledge_id) WHERE deleted = false;
|
||||
-- 向量检索索引(需要安装pgvector扩展)
|
||||
-- CREATE INDEX idx_chunk_embedding ON knowledge.tb_knowledge_chunk USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);
|
||||
CREATE INDEX idx_chunk_root_current ON knowledge.tb_knowledge_chunk(root_chunk_id, is_current) WHERE deleted = false;
|
||||
CREATE INDEX idx_chunk_current ON knowledge.tb_knowledge_chunk(is_current) WHERE deleted = false AND is_current = true;
|
||||
-- 向量检索索引(需要安装pgvector扩展,建议只索引当前版本)
|
||||
-- CREATE INDEX idx_chunk_embedding ON knowledge.tb_knowledge_chunk USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100) WHERE deleted = false AND is_current = true;
|
||||
|
||||
COMMENT ON TABLE knowledge.tb_knowledge_chunk IS '知识文档片段表(RAG检索)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_chunk.version IS '分段版本号(用于乐观锁,防止并发编辑冲突)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_chunk.embedding IS '向量嵌入(需要pgvector扩展)';
|
||||
COMMENT ON TABLE knowledge.tb_knowledge_chunk IS '知识文档片段表(RAG检索基本单位,支持chunk级版本控制)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_chunk.version IS 'chunk版本号(整数,每次修改自动+1)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_chunk.root_chunk_id IS '根chunk ID(同一chunk的所有版本共享此ID,首次创建时等于chunk_id)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_chunk.is_current IS '是否当前使用的版本(每个root_chunk_id只有一个is_current=true,RAG检索时只使用当前版本)';
|
||||
COMMENT ON COLUMN knowledge.tb_knowledge_chunk.embedding IS '向量嵌入(需要pgvector扩展,建议只为is_current=true的chunk生成)';
|
||||
|
||||
-- 知识访问日志表
|
||||
DROP TABLE IF EXISTS knowledge.tb_knowledge_access_log CASCADE;
|
||||
|
||||
0
urbanLifelineWeb/packages/shared/api/index.ts
Normal file
0
urbanLifelineWeb/packages/shared/api/index.ts
Normal file
Reference in New Issue
Block a user