feat(modelprovider): 完善模型调用与RAG召回支撑

This commit is contained in:
2026-05-31 23:56:31 +08:00
parent 1e004f1a83
commit ab9b099e9b
9 changed files with 295 additions and 58 deletions

View File

@@ -1,6 +1,6 @@
# Common Agent 开发路线图
本文档基于 2026-05-25 当前分支代码整理,用来区分"已经完成""建议优先做""中期建设项"。
本文档基于 2026-05-27 当前分支代码整理,用来区分"已经完成""建议优先做""中期建设项"。
## 已完成
@@ -52,30 +52,34 @@
- 知识文档管理页:条件查询 + 批量上传 + 解析重试 + 批量切片入口 + 编辑/启停用/删除。
- RAG 工作台与切片任务页:展示文档解析/切片概览并提供切片入口。
- RAG 文档批量上传组件:支持锁定知识库或选择知识库上传。
- Agent 管理页:支持 Agent 定义新增、编辑、删除、状态管理和知识库绑定。
- Agent 调试页:支持普通对话 / RAG 对话切换、请求 ID 与引用切片回显。
- API 层Axios 封装 + Long 类型安全解析 + 统一错误拦截。
- 单元测试Vitest + @vue/test-utils覆盖路由、布局、页面和 API。
### 模型平台设计
### 模型平台与 Agent 最小链路
- 已新增模型服务商配置路由需求文档:`docs/MODEL_PROVIDER_REQUIREMENTS.md`
- 已新增模型服务商配置与路由设计文档:`docs/MODEL_PROVIDER_DESIGN.md`
- 已明确后续通过模型网关统一接入 Ollama、硅基流动、百炼等 OpenAI-compatible 来源
- 模型服务商、模型配置路由规则、知识库模型绑定、调用日志核心表结构已落地(`docs/MODEL_PROVIDER_SCHEMA.sql`
- `EmbeddingModelGateway``ChatModelGateway` 已落地,统一走 OpenAI-compatible 协议调用上游模型
- `AgentDefinitionController``AgentDefinitionServiceImpl` 已提供 Agent CRUD 与调试对话接口
- Agent 调试链路已接入:问题向量化 -> `rag_chunk_embedding` 召回 -> 组装上下文 -> Chat 回答 -> 返回引用切片。
### 质量保障
- 后端结构稳定性单元测试。
- 前端组件与 API 单元测试。
- Agent 结构与服务单元测试(`AgentComponentStructureTests``AgentDefinitionServiceImplTests`)。
## 短期优先级
建议优先完成下面几项,把 RAG 上传解析切片链路升级为可检索链路:
1. 模型服务商配置:新增服务商、模型、路由规则和调用日志基础表
2. Embedding 网关:优先支持 OpenAI-compatible 接口,接入硅基流动或 Ollama Embedding
3. 向量写入:对 `rag_chunk` 调用 Embedding 模型并保存 `rag_chunk_embedding`
4. 索引任务入口:把文档或知识库的 `indexStatus` 推进为真实状态流转
5. 补齐重建索引、失败重试、最近任务接口
6. 前端接入模型配置、检索配置、最近任务和重建索引动作
1. 打通文档切片后的全量向量写入,确保 `rag_chunk_embedding` 可持续更新
2. 新增独立 RAG 检索问答接口,避免仅依赖 Agent 调试入口消费召回能力
3. 索引任务入口:把文档或知识库的 `indexStatus` 推进为真实状态流转
4. 补齐重建索引、失败重试、最近任务接口
5. 落地 Agent 会话持久化(`agent_session``agent_message`)与多轮上下文管理
6. 补齐 Agent 工具注册、工具调用协议和任务执行日志
## RAG 最小闭环
@@ -84,14 +88,14 @@
1. ~~批量上传文件,自动创建 `sys_attachment` 与 `rag_document`。~~
2. ~~调用解析入口,使用 Tika 抽取文本并更新 `parseStatus`。~~
3. ~~根据切片策略生成 `rag_chunk`。~~
4. 调用 Embedding 模型生成向量并写入 `rag_chunk_embedding`
5. 提供检索接口,按 query 向量召回切片并返回引用元数据。
4. 调用 Embedding 模型生成向量并写入 `rag_chunk_embedding`(已被 Agent 调试链路消费)
5. 提供独立检索接口,按 query 向量召回切片并返回引用元数据。
## Agent 核心能力
RAG 数据链路稳定后,再进入 Agent 主线:
Agent 主线能力按以下顺序继续推进
1. Agent 定义管理。
1. ~~Agent 定义管理。~~
2. 会话与消息模型。
3. 工具注册与工具调用协议。
4. Prompt 模板管理。
@@ -120,6 +124,8 @@ RAG 数据链路稳定后,再进入 Agent 主线:
- RAG 文档批量上传接口POST `/api/rag/documents/batchUpload`
- RAG 文档解析接口POST `/api/rag/documents/parse`,当前同步解析、保存解析快照并返回解析元数据。
- RAG 文档切片接口POST `/api/rag/documents/chunk`,当前异步生成并替换 `rag_chunk`
- Agent 管理接口:`/api/agents/list``/api/agents/query``/api/agents/detail``/api/agents/save``/api/agents/delete`
- Agent 调试接口POST `/api/agents/{agentId}/chat`,支持 `ragEnabled` 开关。
- 大整数 ID 通过 `@JsonSerialize(ToStringSerializer.class)` 输出为字符串。
## 里程碑
@@ -137,7 +143,8 @@ RAG 数据链路稳定后,再进入 Agent 主线:
### 里程碑 3Agent 最小运行时
- 支持一个可配置 Agent、一个会话、一次模型调用、一次工具调用
- 已完成:支持一个可配置 Agent、一次模型调用与 RAG 召回调试链路
- 待完成:会话持久化、工具调用与任务编排。
### 里程碑 4平台管理化