# 知识源入库目录(Knowledge Source Ingest) > 本目录是「结构化知识源文档」的唯一入库口,与「素材上传流水线」(backend-go/data/kb_data)并行。 > 数据权威源:`../../../../docs/06_Product_Lines/Business_Materials/博昇产品与渠道合作表.md`(对齐《客户介绍合作协议》第二条)。 --- ## 1. 链路 ``` 知识源 md(本目录) │ ▼ 【摄入 Ingestion】解析 front-matter + 三个固定 section │ ▼ 【审批 Audit】pending → approved / rejected │ │ approved 后拆成三路 ├──→ product 表 (status=active,可浏览) ├──→ knowledge_chunk (AI 检索知识) └──→ question 表 (可考试) ``` ## 2. 格式契约(强制,摄入脚本依赖此格式) 每个知识源 md 必须包含: 1. **YAML front-matter**(元数据): - `knowledge_source`:权威来源(如「博昇产品与渠道合作表 V1.0」) - `version`:源版本 - `category`:产品分类(`capital_consulting` / `qualification_counseling` / `ai_consulting` / `ai_tools_platform` / `general`) - `domain`:知识域(`company` / `product` / `sales`),题目组卷按此抽题 - `audit_status`:审批态(`pending` → `approved` / `rejected`) 2. **三个固定 section**(按 `## ` 二级标题分块): - `## 结构化产品数据` → 摄入 `product` 表 - `## AI 检索知识` → 摄入 `knowledge_chunk` 表(自然语言段落,供 Go 原生向量/关键词检索 + LLM) - `## 考试题目` → 摄入 `question` 表 ## 3. 题目答案契约(统一 list 形式) | 题型 `type` | `answer` 格式 | |-----------|--------------| | `judge` | `[true]` / `[false]` | | `single` | `[正确选项索引]`(0 起) | | `multiple` | `[正确选项索引1, 索引2, ...]` | `options` 为选项文本数组;`domain` 取 `company` / `product` / `sales`。 ## 4. 审批状态机 ``` pending ──审批通过──▶ approved ──▶ 生效(product active / chunk 入库 / question active) │ └──审批驳回──▶ rejected(含理由,不生效、不进库、前台不可见) ``` ## 5. 文件清单 | 文件 | 内容 | category | |------|------|----------| | `01_通用规则.md` | 结算基数、两档比例、版本更新机制 | general | | `02_资本咨询类.md` | 产品 1.1–1.3 | capital_consulting | | `03_资质认定辅导类.md` | 产品 2.1–2.3 | qualification_counseling | | `04_AI咨询与实施类.md` | 产品 3.1–3.6 | ai_consulting | | `05_企业级AI工具与平台.md` | 产品 4.1–4.16 | ai_tools_platform | ## 6. 代码侧已实现(Go) > 完整设计见 `../../../../docs/04_Backend/BE05_知识导入模块.md`(知识入库体系总设计)。 - [x] `internal/model/knowledge_source.go` —— 知识源文档表 - [x] `internal/model/knowledge_chunk.go` —— 来源扩展(media_file_id 可空 + knowledge_source_id) - [x] `internal/api/knowledge.go` —— md 解析 + 摄入 + scan / audit / status - [x] GORM AutoMigrate 自动建表(无需独立 init 脚本)