# 知识资产数据库设计 ## 1. 表关系 | 表 | 说明 | 关键关系 | |----|------|----------| | `rag_store` | 知识库主表 | 独立业务编码 | | `rag_document` | 知识文档 | 引用 `rag_store`、`sys_attachment` | | `rag_document_parse_result` | 解析快照 | 引用 `rag_store`、`rag_document` | | `rag_chunk` | 知识切片 | 引用 `rag_store`、`rag_document` | | `rag_chunk_embedding` | 切片向量 | 引用 `rag_store`、`rag_document`、`rag_chunk` | | `rag_store_model_config` | 知识库模型配置 | 引用 `rag_store`、`model_config` | ## 2. 脚本清单 - `script/sql/3.rag_store.sql` - `script/sql/4.rag_document.sql` - `script/sql/5.rag_document_parse_result.sql` - `script/sql/6.rag_chunk.sql` - `script/sql/7.rag_chunk_embedding.sql` - `docs/MODEL_PROVIDER_SCHEMA.sql` 中的 `rag_store_model_config` ## 3. 枚举组 | catalog | type | Java 枚举 | |---------|------|-----------| | `rag` | `parse_status` | `RagParseStatusEnum` | | `rag` | `index_status` | `RagIndexStatusEnum` | | `rag` | `chunk_strategy` | `RagChunkStrategyEnum` | ## 4. 一致性要求 - `rag_document.attachment_id` 保持唯一,避免一个附件重复建档。 - `rag_document_parse_result.document_id` 保持唯一,表示一个文档一个当前解析快照。 - `rag_chunk` 使用 `(document_id, chunk_index)` 保证同文档切片序号唯一。 - `rag_chunk_embedding` 使用 `(chunk_id, embedding_model)` 防止同模型重复写入。 - RAG 现有脚本与本文档一致,本轮不调整 `sys_enum` 格式。