Phase 4: Agent Assistant + Provenance + Entity Cards + Confidence Indicators
- Add llm_client.py for Kimi API integration with RAG and streaming support - Add Agent API endpoints: query, command, suggest - Add Provenance API for relation source tracking - Add Entity details API with mentions and relations - Add Entity evolution analysis API - Update workbench.html with Agent panel, entity cards, provenance modal - Update app.js with Agent chat, entity hover cards, relation provenance - Add low-confidence entity highlighting - Update STATUS.md with Phase 4 progress
This commit is contained in:
178
STATUS.md
178
STATUS.md
@@ -1,134 +1,100 @@
|
||||
# InsightFlow 开发状态
|
||||
|
||||
**最后更新**: 2026-02-18
|
||||
**最后更新**: 2026-02-19
|
||||
|
||||
## 当前阶段
|
||||
|
||||
Phase 3: 记忆与生长 - **已完成 ✅**
|
||||
Phase 4: Agent 助手与知识溯源 - **开发中 🚧**
|
||||
|
||||
## 已完成
|
||||
|
||||
### Phase 1: 骨架与单体分析 (MVP) ✅
|
||||
### Phase 1-3 (已完成 ✅)
|
||||
- FastAPI 项目框架搭建
|
||||
- SQLite 数据库设计
|
||||
- 阿里云听悟 ASR 集成
|
||||
- OSS 上传模块
|
||||
- 实体提取与对齐逻辑
|
||||
- 关系提取
|
||||
- 项目 CRUD API
|
||||
- 音频上传与分析 API
|
||||
- D3.js 知识图谱可视化
|
||||
- 实体列表展示
|
||||
- 转录文本中实体高亮显示
|
||||
- 图谱与文本联动
|
||||
|
||||
#### 后端 (backend/)
|
||||
- ✅ FastAPI 项目框架搭建
|
||||
- ✅ SQLite 数据库设计 (schema.sql)
|
||||
- ✅ 数据库管理模块 (db_manager.py)
|
||||
- ✅ 阿里云听悟 ASR 集成 (tingwu_client.py)
|
||||
- ✅ OSS 上传模块 (oss_uploader.py)
|
||||
- ✅ 实体提取与对齐逻辑
|
||||
- ✅ 关系提取(LLM 同时提取实体和关系)
|
||||
- ✅ 项目 CRUD API
|
||||
- ✅ 音频上传与分析 API
|
||||
- ✅ 实体列表 API
|
||||
- ✅ 关系列表 API
|
||||
- ✅ 转录列表 API
|
||||
- ✅ 实体提及位置 API
|
||||
- ✅ transcripts 表数据写入
|
||||
- ✅ entity_mentions 表数据写入
|
||||
- ✅ entity_relations 表数据写入
|
||||
### Phase 4 - Agent 助手 (已完成 ✅)
|
||||
- ✅ 创建 llm_client.py - Kimi API 客户端
|
||||
- 支持流式/非流式聊天
|
||||
- 带置信度的实体提取
|
||||
- RAG 问答功能
|
||||
- Agent 指令解析
|
||||
- 实体演变分析
|
||||
- ✅ 更新 db_manager.py - 新增方法
|
||||
- `get_relation_with_details()` - 获取关系详情
|
||||
- `get_entity_with_mentions()` - 获取实体及提及
|
||||
- `search_entities()` - 搜索实体
|
||||
- `update_entity()` - 更新实体
|
||||
- `get_project_summary()` - 项目摘要
|
||||
- `get_transcript_context()` - 转录上下文
|
||||
- ✅ 更新 main.py - Agent API 端点
|
||||
- `POST /api/v1/projects/{id}/agent/query` - RAG 问答
|
||||
- `POST /api/v1/projects/{id}/agent/command` - 指令执行
|
||||
- `GET /api/v1/projects/{id}/agent/suggest` - 智能建议
|
||||
- `GET /api/v1/relations/{id}/provenance` - 关系溯源
|
||||
- `GET /api/v1/entities/{id}/details` - 实体详情
|
||||
- `GET /api/v1/entities/{id}/evolution` - 实体演变分析
|
||||
- `GET /api/v1/projects/{id}/entities/search` - 实体搜索
|
||||
- `PATCH /api/v1/entities/{id}` - 更新实体
|
||||
- ✅ 更新 workbench.html - Agent 面板 UI
|
||||
- 可折叠的 Agent 助手面板
|
||||
- 聊天界面
|
||||
- 实体悬停卡片
|
||||
- 关系溯源弹窗
|
||||
- ✅ 更新 app.js - 前端功能
|
||||
- Agent 聊天功能
|
||||
- 指令执行(合并实体、编辑定义)
|
||||
- RAG 问答
|
||||
- 实体卡片悬停显示
|
||||
- 关系点击溯源
|
||||
- 低置信度实体标黄
|
||||
|
||||
#### 前端 (frontend/)
|
||||
- ✅ 项目管理页面 (index.html)
|
||||
- ✅ 知识工作台页面 (workbench.html)
|
||||
- ✅ D3.js 知识图谱可视化
|
||||
- ✅ 音频上传 UI
|
||||
- ✅ 实体列表展示
|
||||
- ✅ 转录文本中实体高亮显示
|
||||
- ✅ 图谱与文本联动(点击实体双向高亮)
|
||||
### Phase 4 - 知识溯源 (已完成 ✅)
|
||||
- ✅ 点击关系连线显示来源文档
|
||||
- ✅ 实体详情显示所有提及位置
|
||||
- ✅ 证据文本展示
|
||||
|
||||
### Phase 2: 交互与纠错工作台 ✅
|
||||
### Phase 4 - 术语卡片悬停 (已完成 ✅)
|
||||
- ✅ 鼠标悬停实体显示卡片
|
||||
- ✅ 卡片包含:名称、定义、提及次数、关系数
|
||||
|
||||
#### 后端 API 新增
|
||||
- ✅ 实体编辑 API (PUT /api/v1/entities/{id})
|
||||
- ✅ 实体删除 API (DELETE /api/v1/entities/{id})
|
||||
- ✅ 实体合并 API (POST /api/v1/entities/{id}/merge)
|
||||
- ✅ 手动创建实体 API (POST /api/v1/projects/{id}/entities)
|
||||
- ✅ 关系创建 API (POST /api/v1/projects/{id}/relations)
|
||||
- ✅ 关系删除 API (DELETE /api/v1/relations/{id})
|
||||
- ✅ 转录编辑 API (PUT /api/v1/transcripts/{id})
|
||||
### Phase 4 - 置信度提示 (已完成 ✅)
|
||||
- ✅ LLM 提取返回置信度分数
|
||||
- ✅ 低置信度实体在文本中标黄
|
||||
|
||||
#### 前端交互功能
|
||||
- ✅ 实体编辑器模态框(名称、类型、定义、别名)
|
||||
- ✅ 右键菜单(编辑实体、合并实体、标记为实体)
|
||||
- ✅ 实体合并功能
|
||||
- ✅ 关系管理(添加、删除)
|
||||
- ✅ 转录文本编辑模式
|
||||
- ✅ 划词创建实体
|
||||
- ✅ 文本与图谱双向联动
|
||||
## 待完成
|
||||
|
||||
#### 数据库更新
|
||||
- ✅ update_entity() - 更新实体信息
|
||||
- ✅ delete_entity() - 删除实体及关联数据
|
||||
- ✅ delete_relation() - 删除关系
|
||||
- ✅ update_relation() - 更新关系
|
||||
- ✅ update_transcript() - 更新转录文本
|
||||
|
||||
### Phase 3: 记忆与生长 ✅
|
||||
|
||||
#### 多文件图谱融合
|
||||
- ✅ 支持上传多个音频文件到同一项目
|
||||
- ✅ 系统自动对齐实体,合并图谱
|
||||
- ✅ 实体提及跨文件追踪
|
||||
- ✅ 文件选择器切换不同转录内容
|
||||
- ✅ 转录列表 API 返回文件类型
|
||||
|
||||
#### 实体对齐算法优化
|
||||
- ✅ 新增 `entity_aligner.py` 模块
|
||||
- ✅ 使用 Kimi API embedding 进行语义相似度匹配
|
||||
- ✅ 余弦相似度计算
|
||||
- ✅ 自动别名建议
|
||||
- ✅ 批量实体对齐 API
|
||||
- ✅ 实体对齐回退机制(字符串匹配)
|
||||
|
||||
#### PDF/DOCX 文档导入
|
||||
- ✅ 新增 `document_processor.py` 模块
|
||||
- ✅ 支持 PDF、DOCX、TXT、MD 格式
|
||||
- ✅ 文档文本提取并参与实体提取
|
||||
- ✅ 文档上传 API (/api/v1/projects/{id}/upload-document)
|
||||
- ✅ 文档类型标记(audio/document)
|
||||
|
||||
#### 项目知识库面板
|
||||
- ✅ 全新的知识库视图
|
||||
- ✅ 侧边栏导航切换(工作台/知识库)
|
||||
- ✅ 统计面板:实体数、关系数、文件数、术语数
|
||||
- ✅ 实体网格展示(带提及统计)
|
||||
- ✅ 关系列表展示
|
||||
- ✅ 术语表管理(添加/删除)
|
||||
- ✅ 文件列表展示(区分音频/文档)
|
||||
|
||||
#### 术语表功能
|
||||
- ✅ 术语表数据库表 (glossary)
|
||||
- ✅ 添加术语 API
|
||||
- ✅ 获取术语列表 API
|
||||
- ✅ 删除术语 API
|
||||
- ✅ 前端术语表管理界面
|
||||
|
||||
#### 数据库更新
|
||||
- ✅ transcripts 表新增 `type` 字段
|
||||
- ✅ entities 表新增 `embedding` 字段
|
||||
- ✅ 新增 glossary 表
|
||||
- ✅ 新增索引优化查询性能
|
||||
### Phase 4 - Neo4j 集成 (可选)
|
||||
- [ ] 将图谱数据同步到 Neo4j
|
||||
- [ ] 支持复杂图查询
|
||||
|
||||
## 技术债务
|
||||
|
||||
- 听悟 SDK fallback 到 mock 需要更好的错误处理
|
||||
- 实体相似度匹配目前只是简单字符串包含,需要 embedding 方案
|
||||
- 前端需要状态管理(目前使用全局变量)
|
||||
- 需要添加 API 文档 (OpenAPI/Swagger)
|
||||
- Embedding 缓存需要持久化
|
||||
- 实体对齐算法需要更多测试
|
||||
|
||||
## 部署信息
|
||||
|
||||
- 服务器: 122.51.127.111
|
||||
- 项目路径: /opt/projects/insightflow
|
||||
- 端口: 18000
|
||||
- Docker 镜像: insightflow:phase3
|
||||
- 最后部署: 2026-02-19 06:05 AM
|
||||
|
||||
## 下一步 (Phase 4)
|
||||
## 最近更新
|
||||
|
||||
- 知识推理与问答
|
||||
- 实体属性扩展
|
||||
- 时间线视图
|
||||
- 导出功能(PDF/图片)
|
||||
### 2026-02-19
|
||||
- 完成 Phase 4 Agent 助手功能
|
||||
- 实现知识溯源功能
|
||||
- 添加术语卡片悬停
|
||||
- 实现置信度提示
|
||||
- 更新前端 UI 和交互
|
||||
|
||||
Reference in New Issue
Block a user