41 lines
1.5 KiB
Markdown
41 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/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` 格式。
|
|
|
|
|
|
|