feat: 双模型并行图片预处理 — 视觉理解+OCR 同时调用,由会话模型自主判断

- preprocessImages 同时调用 vision 和 OCR 模型(并行 goroutine)
- 当两个模型不同时,OCR 专注文字提取,视觉模型负责场景理解
- 两种结果合并传给会话模型,由 LLM 自主判断和融合
- 修复 LoadFromDB 旧 action 角色记录映射为 assistant

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 13:03:04 +08:00
parent 91c9ee4b2d
commit 3e15285065
3 changed files with 99 additions and 16 deletions
+6 -1
View File
@@ -127,8 +127,13 @@ func (cs *ConversationStore) LoadFromDB(databaseURL, sessionID string, limit int
if err := rows.Scan(&roleStr, &content); err != nil {
return fmt.Errorf("扫描消息行失败: %w", err)
}
// 将旧数据中的 "action" 角色映射为 "assistant"LLM 模型不支持自定义角色)
role := model.Role(roleStr)
if role == "action" {
role = model.RoleAssistant
}
cs.messages[sessionID] = append(cs.messages[sessionID], model.LLMMessage{
Role: model.Role(roleStr),
Role: role,
Content: content,
})
loaded++