Skip to content

知识库与 RAG 表

RAG 持久化结构与普通业务表分开记录。当前检索主路径以 knowledge_chunks 为 canonical 表;rag_knowledge_itemsrag_vector_index 保留在 schema 中,但不承载当前主检索链路。

持久化边界

对象当前角色生产规模说明
knowledge_chunkscanonical RAG 主表约 1038 行存储知识切片、向量、来源文件和谱系 metadata。
rag_knowledge_itemslegacy 表0 行旧知识条目表,保留用于历史兼容。
rag_vector_indexlegacy 表0 行旧 TF-IDF 向量索引表,保留用于历史兼容。
knowledge/*.xlsx原始知识文件文件级来源肿瘤、运动禁忌、治疗阶段、功能障碍、指南等知识来源。

knowledge_chunks

当前 RAG 2.0 知识切片与向量主表。

FieldTypeNullableDescription
idintegerno主键。
source_filenamevarchar(255)no来源文件名。
chunk_indexintegeryes切片在原始文件中的序号。
titlevarchar(512)yes标题或章节名。
contenttextno切片正文。
embeddingvectoryesDashScope text-embedding-v1 语义向量,模型层定义维度为 1536。
meta_datajsonbyes扩展 metadata,承载 rag_schemarecord_type 等谱系信息。
created_atupdated_attimestamptzyes创建与更新时间。

Indexes:

IndexType / ExpressionPurpose
knowledge_chunks_pkeybtree(id)主键。
ix_knowledge_chunks_embedding_hnsw_cosinehnsw(embedding vector_cosine_ops) where embedding IS NOT NULLDB-native 向量检索。
ix_knowledge_chunks_source_filenamebtree(source_filename)来源文件过滤。
ix_knowledge_source_filebtree(source_filename)兼容来源文件索引。
ix_knowledge_chunks_rag_schemabtree(coalesce(meta_data ->> 'rag_schema', ''))pipeline schema scope。
ix_knowledge_chunks_record_typebtree(coalesce(meta_data ->> 'record_type', ''))记录类型过滤。

Read / Write:

PathReadWrite
KnowledgeChunkSearchService.search_knowledge_chunks按 query embedding + pipeline scope 查询相似切片不写
RAG hybrid chain读取 evidence、sources、knowledge context不写
知识导入/重建流程读取源文件与已有切片写入/重建切片与 embedding

rag_knowledge_items

旧 RAG 知识条目表。当前生产行数为 0,保留用于历史 schema 兼容。

FieldTypeNullableDescription
idintegerno主键。
source_filevarchar(255)no来源文件名。
titletextyes标题。
contenttextno内容。
categoryvarchar(100)yes分类。
meta_infojsonyes旧 metadata。
row_indexintegeryes原始文件行索引。
created_attimestampyes创建时间。

rag_vector_index

旧 TF-IDF 向量索引表。当前生产行数为 0,保留用于历史 schema 兼容。

FieldTypeNullableDescription
idintegerno主键。
versionvarchar(50)no索引版本。
vectorizer_picklebyteano序列化 vectorizer。
vectors_picklebyteano序列化向量矩阵。
knowledge_idsjsonno知识条目 ID 列表。
knowledge_countintegerno知识条目数量。
vector_dimintegeryes向量维度。
is_activeboolyes是否为活跃索引。
created_attimestampyes创建时间。
configjsonyes向量化配置。

知识库文件来源

文件领域
knowledge/肿瘤知识库_风险评估.xlsx肿瘤风险评估
knowledge/肿瘤知识库_运动禁忌.xlsxknowledge/运动禁忌知识库.xlsx运动禁忌
knowledge/肿瘤知识库_基于治疗阶段的运动推荐.xlsx治疗阶段运动推荐
knowledge/肿瘤知识库_基于功能障碍的运动推荐.xlsx功能障碍运动推荐
knowledge/肿瘤知识库_相关文献.xlsx相关文献
knowledge/指南知识库_指标版.xlsx指南指标
knowledge/体重指导管理知识库.xlsxknowledge/肥胖界定知识库.xlsx体重管理
knowledge/乳腺癌1.xlsx乳腺癌知识补充

检索数据流

原始知识knowledge/*.xlsx
切片与向量化chunking / embedding
知识主表knowledge_chunks
用户问题query embedding
召回与过滤HNSW / schema / record_type
证据上下文sources / evidence

来源锚点

  • ORM: apps/backend_service/app/models/rag_knowledge.py
  • Legacy ORM: apps/backend_service/app/models/rag_vector_index.py
  • Topology: apps/backend_service/app/core/rag/persistence_topology.py
  • Search: apps/backend_service/app/core/rag/knowledge_chunk_search.py
  • RAG engine: apps/backend_service/app/core/rag_engine.py
  • Migration: apps/backend_service/alembic/versions/5ecfc371ca9f_add_knowledge_chunks_vector.pyf0179a3c1b2d_add_rag_persistence_indexes.py
  • Production catalog: RDS core_base information_schemapg_indexes
  • Knowledge files: knowledge/*.xlsx