Skip to content

[Bug/Config/Regression] 模型池配置保存失效、Ollama 响应延迟及 Token 消耗异常 #110

Description

@ELE-Clouds

[Bug/Config/Regression] 模型池配置保存失效、Ollama 响应延迟及 Token 消耗异常

字段 内容
提交时间 2026-05-08
作者 qwen3.5-122b-a10b (API)
严重程度 🔴 P1(影响核心功能)
类型标签 bug config regression

一、问题描述

当前 blockcell v0.1.5 平台在模型池配置管理、Ollama 本地部署集成、Qwen API 云端调用等方面存在多项系统性问题,具体包括:(1) Token 参数保存后刷新丢失;(2) Ollama 模型功能受限;(3) Qwen API 记忆功能缺失;(4) Token 消耗异常过快;(5) Ollama 响应延迟严重。上述问题严重影响用户体验与系统稳定性。


二、复现步骤

问题 1:Token 参数保存失效

  1. 进入智能体 → 高级功能 → 设置 → 配置
  2. 找到模型池中任意模型的 maxTokens 参数
  3. 修改数值(如从 8192 改为 16384)
  4. 点击保存按钮
  5. 刷新浏览器页面

问题 2/5:Ollama 功能受限及延迟

  1. 确保 Ollama 容器运行正常 (docker ps | grep ollama)
  2. 在模型池中选择 deepseek-r1:8b (ollama) 模型
  3. 发起对话并观察响应时间
  4. 尝试调用工具或加载性格参数
  5. 对比独立 Ollama CLI 使用时的响应速度

问题 3:Qwen API 功能受限

  1. 在模型池中选择 qwen3:8b-q4_K_M (remote ollama) 模型
  2. 尝试使用完整工具集
  3. 检查会话记忆是否跨轮次保持
  4. 查看 API 返回的工具支持列表

问题 4:Token 消耗过快

  1. 创建新会话
  2. 进行 3-5 轮正常对话
  3. 查看 Token 消耗统计
  4. 对比初始配额与剩余量

三、实际结果

问题 实际表现 严重程度
问题 1 刷新后 token 参数恢复默认值 8192 P2
问题 2 无法加载性格参数、无记忆功能、工具调用不畅 P1
问题 3 只能使用部分工具、不具备记忆功能 P2
问题 4 200 万 Token 仅数次对话即耗尽 P2
问题 5 响应时间 30s-120s(独立使用时 <100ms) P1

四、预期结果

  1. 配置持久化:所有模型参数保存后应稳定持久化,刷新页面不丢失
  2. 功能完整性:Ollama 本地模型应支持全部能力(性格、记忆、工具)
  3. API 适配性:远程 API 模型应具备同等功能支持
  4. 资源合理性:Token 消耗应与对话复杂度成正比
  5. 性能达标:Ollama 响应延迟应接近原生使用体验(<500ms)

五、影响范围

维度 影响程度
用户群体 所有使用 Docker 部署 + Ollama 集成的开发者
功能模块 模型池配置、LLM 推理引擎、会话管理
业务影响 核心对话功能不可靠、资源成本失控
风险等级 高(可能导致生产环境不可用)

六、根因分析

【事实】已知信息

  • 平台版本:blockcell v0.1.5
  • 部署方式:Docker 容器
  • 模型池配置:3 模型(deepseek-r1:8b@ollama, qwen3:8b-q4_K_M@remote, deepseek-chat@API)
  • Ollama 地址:http://ollama:11434 (本地) / 192.168.2.103:11434 (远程)
  • 配置路径:/home/blockcell/.blockcell/config.json5

【推断】基于现有信息的逻辑延伸

  1. 配置持久化:前端缓存与后端配置未同步,agents.defaults 写入可能失败
  2. 中间层开销:Ollama 请求经 blockcell 代理时存在序列化/反序列化瓶颈
  3. 上下文管理:历史消息可能重复累积导致 Token 快速消耗

【待验证】需进一步排查的信息

  • 检查 config.json5agents.defaults 配置是否实际写入磁盘
  • 抓取 Ollama 请求日志,确认网络路由路径
  • 分析会话历史数据结构,确认是否存在重复发送
  • 对比不同模型池配置的响应时间差异

七、修复建议

方案一(推荐):优化配置持久化 + 中间层性能

// config.json5 - 确保模型池配置完整
{
  "agents": {
    "defaults": {
+     "model": "deepseek-r1:8b",
+     "provider": "ollama",
      "maxTokens": 8192,
      "temperature": 0.7
    }
  },
  "modelPool": [
    {
      "name": "deepseek-r1:8b",
      "provider": "ollama",
+     "apiBase": "http://ollama:11434/v1",
+     "apiKey": "ollama",
+     "enabled": true
    }
  ]
}

实施步骤

  1. 修复配置保存机制,确保 config.json5 写入后立即生效
  2. 减少 Ollama 中间层序列化操作,启用流式响应直通
  3. 增加适配模型清单文档,明确各模型默认可用配置

方案二:增强上下文管理机制

// session_recall 缓存策略调整
{
  "sessionRecall": {
    "maxHistoryMessages": 20,
+   "contextWindowLimit": 0.8,
+   "autoTrimOldMessages": true,
    "enableCompression": false
  }
}

方案三:网络路由优化

# 检查 Docker 网络连通性
docker network inspect blockcell_default
# 测试 Ollama 延迟
curl -v http://ollama:11434/api/generate -d '{"model":"deepseek-r1:8b","prompt":"test"}'

注意:以上内容由AI自动生成,仅供参考。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions