Files
common_agent/docs/数据库设计/2.知识资产数据库设计.md

38 lines
1.5 KiB
Markdown

# 知识资产数据库设计
## 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/rag_store.sql`
- `script/sql/rag_document.sql`
- `script/sql/rag_document_parse_result.sql`
- `script/sql/rag_chunk.sql`
- `script/sql/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` 格式。