Version: 0.9.16.dev.260413

后端:
1. RAG embedding 接入修正,并兼容 Ark 多模态 embedding 链路
   - 更新 backend/infra/rag/embed/eino_embedder.go:文本 embedding 继续走 Eino OpenAI 兼容链路;`doubao-embedding-vision-*` 模型切到 Ark 原生 `/embeddings/multimodal`
   - 增加 embedding baseURL 归一化:兼容把 `.../embeddings` 或 `.../embeddings/multimodal` 误填进配置的情况,统一回退到 `/api/v3`
   - 为第三方 embedding 调用增加 panic recover,避免向量检索/写入异常直接打崩主进程

2. RAG runtime / pipeline / store 稳定性加固,统一降级为 error 语义
   - 更新 backend/infra/rag/runtime.go:runtime 对外入口增加 panic recover 与观测打点
   - 更新 backend/infra/rag/core/pipeline.go:ingest / retrieve 编排边界增加 panic recover
   - 更新 backend/infra/rag/retrieve/vector_retriever.go:向量检索边界补充 panic recover
   - 更新 backend/infra/rag/store/milvus_store.go、backend/infra/rag/store/inmemory_store.go:补齐未初始化保护,避免 nil 依赖直接异常退出

3. RAG embedding 配置口径与普通 LLM 链路对齐
   - 更新 backend/infra/rag/factory.go:RAG embedding API Key 不再走 `apiKeyEnv` 间接映射,统一直接读取 `ARK_API_KEY`
   - 更新 backend/infra/rag/config/config.go:删除 `rag.embed.apiKeyEnv` 配置字段,收敛配置分叉
   - 更新 backend/config.example.yaml:示例配置切到当前联调口径,保持 `rag.enabled=true`、`memory.rag.enabled=true`,并对齐 Milvus / embed 配置

4. Memory + RAG 联调链路可运行态修正
   - 当前已验证 memory 抽取写库、RAG ingest 写入 Milvus、后续语义召回链路可继续联调
   - 检索失败场景已从“直接 panic”收敛为“记录日志并降级”,不再阻断主聊天链路

前端:无
仓库:无

undo:
1. 增删改查的 mysql 记忆去重没实现
2. 提取用户话为记忆的过滤机制不足,有点无脑
3. RAG 召回也有问题
This commit is contained in:
Losita
2026-04-13 23:18:59 +08:00
parent 070d4c3459
commit 863cba4e4e
9 changed files with 297 additions and 53 deletions

View File

@@ -49,15 +49,15 @@ time:
semesterEndDate: "2026-07-19" #学期结束日期,一定要设定为周日,确保最后一周完整
agent:
workerModel: "doubao-seed-1-6-lite-251015" # 智能体使用的Worker模型需根据实际情况调整
strategistModel: "deepseek-v3-2-251201" # 策略师使用的Worker模型需根据实际情况调整
workerModel: "doubao-seed-2-0-code-preview-260215" # 智能体使用的Worker模型需根据实际情况调整
strategistModel: "doubao-seed-2-0-code-preview-260215" # 策略师使用的Worker模型需根据实际情况调整
baseURL: "https://ark.cn-beijing.volces.com/api/v3" # Worker服务的基础URL需根据实际情况调整
dailyRefineConcurrency: 3 # 日内并发优化并发度,建议按模型配额调整
dailyRefineConcurrency: 7 # 日内并发优化并发度,建议按模型配额调整
weeklyAdjustBudget: 5 # 周级跨天配平额度上限,防止过度调整
rag:
enabled: false
store: "inmemory" # 可选inmemory / milvus
enabled: true
store: "milvus" # 可选inmemory / milvus
topK: 8
threshold: 0.55
retrieve:
@@ -66,16 +66,14 @@ rag:
chunkSize: 400
chunkOverlap: 80
embed:
provider: "mock" # 可选mock / eino
model: "" # 例如 Ark/OpenAI 兼容 embedding 模型名
baseURL: "https://ark.cn-beijing.volces.com/api/v3"
apiKeyEnv: "ARK_API_KEY"
provider: "eino" # 可选mock / eino
model: "doubao-embedding-vision-251215" # 例如 Ark/OpenAI 兼容 embedding 模型名
baseURL: "https://ark.cn-beijing.volces.com/api/v3" # 这里填服务根路径SDK 会自动拼接 /embeddingsAPI Key 统一从环境变量 ARK_API_KEY 读取
timeoutMs: 1200
dimension: 1024
reranker:
enabled: false
provider: "noop" # 当前默认 noop后续可扩展
timeoutMs: 1200
milvus:
address: "http://localhost:19530" # Milvus REST 入口,当前联调确认不要填 9091 健康检查口
token: "root:Milvus"
@@ -87,7 +85,7 @@ rag:
memory:
enabled: true
rag:
enabled: false
enabled: true
prompt:
extract: ""
decision: ""
@@ -103,7 +101,7 @@ memory:
claimBatch: 1
websearch:
provider: mock # 可选mock | bochamock 为空实现,跑通链路用)
provider: bocha # 可选mock | bochamock 为空实现,跑通链路用)
apiKey: "" # 搜索供应商 API Keybocha 模式必填,否则降级为 mock
timeout: 10s # 单次搜索请求超时
fetchTimeout: 15s # 单次 URL 抓取超时