feat: 新增语音转文字(ASR)功能

- 后端:新增 /api/audio/transcribe 接口,调用 Ollama whisper 进行语音识别
- 前端:新增 AudioTranscribePage.vue 页面,支持 MP3/WAV/M4A/OGG/FLAC 等格式
- 注册路由、工具卡片、智能助手欢迎语更新

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
eaiadmin
2026-09-14 00:53:36 +08:00
co-authored by Claude Code
parent 752c7837ef
commit 0455f064ac
299 changed files with 1588 additions and 432 deletions
@@ -0,0 +1,76 @@
# 知识源入库目录(Knowledge Source Ingest)
> 本目录是「结构化知识源文档」的唯一入库口,与「素材上传流水线」(data/kb_data)并行。
> 数据权威源:`../../docs/博昇产品与渠道合作表.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` 表(自然语言段落,供 MySQL FULLTEXT + 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_Knowledge_Ingest_Module.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 脚本)