4.5 KiB
4.5 KiB
InsightFlow Phase 3 功能说明
概述
Phase 3 实现了 InsightFlow 的"记忆与生长"能力,支持多文件知识融合、文档导入和项目级知识库管理。
功能清单
1. 多文件图谱融合 ✅
功能描述
- 支持向同一项目上传多个音频文件
- 系统自动对齐新文件中的实体与已有实体
- 合并知识图谱,保持实体一致性
- 跨文件追踪实体提及
使用方式
- 在工作台点击"+ 上传文件"
- 选择音频文件(MP3/WAV/M4A)
- 系统自动转录并提取实体
- 新实体与已有实体自动对齐
- 使用"📁 选择文件"切换不同转录内容
API
POST /api/v1/projects/{project_id}/upload
Content-Type: multipart/form-data
file: <音频文件>
2. 实体对齐算法优化 ✅
功能描述
- 使用 Kimi API 的 embedding 服务计算语义相似度
- 余弦相似度匹配算法
- 支持阈值调整(默认 0.85)
- 自动别名建议
- 失败时回退到字符串匹配
实现模块
backend/entity_aligner.py
核心算法
# 余弦相似度计算
def compute_similarity(embedding1, embedding2):
vec1 = np.array(embedding1)
vec2 = np.array(embedding2)
dot_product = np.dot(vec1, vec2)
norm1 = np.linalg.norm(vec1)
norm2 = np.linalg.norm(vec2)
return dot_product / (norm1 * norm2)
API
POST /api/v1/projects/{project_id}/align-entities?threshold=0.85
3. PDF/DOCX 文档导入 ✅
功能描述
- 支持 PDF、DOCX、DOC、TXT、MD 格式
- 自动提取文档文本
- 文本参与实体提取和关系构建
- 文档类型标记和区分
使用方式
- 在工作台点击"+ 上传文件"
- 切换到"📄 文档"标签
- 选择文档文件
- 系统自动解析并提取知识
实现模块
backend/document_processor.py
API
POST /api/v1/projects/{project_id}/upload-document
Content-Type: multipart/form-data
file: <文档文件>
4. 项目知识库面板 ✅
功能描述
- 项目级全域知识库视图
- 统计面板(实体数、关系数、文件数、术语数)
- 实体网格展示(带提及统计)
- 关系列表展示
- 术语表管理
- 文件列表(区分音频/文档)
使用方式
- 在工作台点击左侧"📚"图标
- 查看项目统计概览
- 切换侧边栏标签浏览不同内容
- 点击实体可跳转回工作台查看详情
API
GET /api/v1/projects/{project_id}/knowledge-base
5. 术语表管理 ✅
功能描述
- 项目级术语表
- 支持添加术语和发音提示
- 频率统计
- 用于 ASR 热词优化
使用方式
- 在知识库面板切换到"📖 术语表"
- 点击"+ 添加术语"
- 输入术语和发音提示
- 可删除不需要的术语
API
POST /api/v1/projects/{project_id}/glossary
GET /api/v1/projects/{project_id}/glossary
DELETE /api/v1/glossary/{term_id}
数据库 Schema 更新
transcripts 表
ALTER TABLE transcripts ADD COLUMN type TEXT DEFAULT 'audio';
-- 'audio' 或 'document'
entities 表
ALTER TABLE entities ADD COLUMN embedding TEXT;
-- JSON 数组存储 embedding 向量
glossary 表(新增)
CREATE TABLE glossary (
id TEXT PRIMARY KEY,
project_id TEXT NOT NULL,
term TEXT NOT NULL,
pronunciation TEXT,
frequency INTEGER DEFAULT 1
);
前端更新
新增组件
- 侧边栏导航 - 切换工作台/知识库视图
- 文件选择器 - 切换不同转录文件
- 上传标签页 - 区分音频/文档上传
- 知识库面板 - 统计卡片、实体网格、关系列表、术语表
更新文件
frontend/workbench.html- 新增知识库 UIfrontend/app.js- 新增知识库逻辑、多文件支持
部署说明
环境变量
KIMI_API_KEY=your_kimi_api_key
KIMI_BASE_URL=https://api.kimi.com/coding
ALIYUN_ACCESS_KEY_ID=your_aliyun_key
ALIYUN_ACCESS_KEY_SECRET=your_aliyun_secret
部署命令
# 使用部署脚本
./deploy.sh
# 或手动部署
docker build -t insightflow:phase3 .
docker run -d \
-p 18000:8000 \
-v /opt/data:/app/data \
-e KIMI_API_KEY=$KIMI_API_KEY \
insightflow:phase3
测试检查清单
- 上传多个音频文件到同一项目
- 检查实体是否正确对齐
- 上传 PDF 文档
- 上传 DOCX 文档
- 切换不同转录文件
- 查看知识库面板统计
- 添加术语到术语表
- 删除术语
- 实体合并功能
- 关系创建/删除