[BUG/FEAT]: AWS Bedrock reasoning models with `@agent`

用户在 AnythingLLM 中配置 AWS Bedrock 提供方,使用推理模型(如 Claude 3.5、Claude 3.7、Nova Pro、Llama 3 70B 等)并通过 @agent 发起单次 Agent 聊天。问题在未使用 LangChain 的 Bedrock 重构后出现,所有

[BUG/FEAT]: AWS Bedrock reasoning models with `@agent`

[BUG/FEAT]: AWS Bedrock reasoning models with `@agent`

快速结论:该报错出现在 AnythingLLM 中使用 AWS Bedrock 推理模型(如 Claude Sonnet/Opus)调用 `@agent` 功能时。优先排查 Bedrock 推理令牌处理代码是否被剥离 reasoning_content,或确认模型返回的 content 格式是否为数组而非字符串。

问题场景

用户在 AnythingLLM 中配置 AWS Bedrock 提供方,使用推理模型(如 Claude 3.5、Claude 3.7、Nova Pro、Llama 3 70B 等)并通过 @agent 发起单次 Agent 聊天。问题在未使用 LangChain 的 Bedrock 重构后出现,所有版本均受影响。部分用户通过 Docker 托管在 AWS EC2 上,使用 IAM 角色权限。

报错原文

jsonString?.startsWith error

Invalid message content: empty string. 'ai' must contain non-empty content.

AWSBedrock::streamGetChatCompletion failed during setup. Bedrock is unable to process your request.

Bedrock is unable to process your request.

原因分析

可能原因:

  • Bedrock 重构移除了 LangChain 依赖,导致推理模型返回的 content 是数组而非字符串,LangChain 无法正确处理,进而抛出 jsonString?.startsWith 错误。
  • 推理令牌处理代码在重构过程中被破坏,reasoning_content 被剥离,影响所有返回推理令牌的模型(包括 Cerebras、DeepSeek 等)。
  • 部分模型(如 DeepSeek)在 Bedrock 上可能存在兼容性问题,即使 IAM 权限正确也无法正常工作。

环境排查

  • 确认 AnythingLLM 版本(问题出现在 1.12.0 及之后版本,重构 PR #3537)。
  • 确认使用的 Bedrock 模型类型(推理模型如 Claude 3.5/3.7、Nova Pro 等 vs 非推理模型如 Grok)。
  • 检查 AWS IAM 角色权限是否允许 bedrock:*(用于排除权限问题)。
  • 确认部署方式:Docker(AWS EC2)或桌面版。

解决步骤

  1. 临时规避方案:不要对 AWS Bedrock Agent 执行使用推理模型,因为 content 响应是数组而非字符串。改用非推理模型(如 Grok)可正常返回。
  2. 应用补丁(可优先尝试):使用社区补丁修复推理令牌处理。补丁修改了 stream.jsresponses.js 中的令牌处理代码。
  3. 确认 PR #3714 修复:该 PR 声称已解决此问题,尝试使用最新代码构建或等待正式合并发布。
  4. 测试不同模型:先用 Grok 等非推理模型作为控制组,确认 @agent 功能本身可用,再逐一测试推理模型定位问题模型。

验证方法

通过 @agent 向 Bedrock 推理模型发送一条聊天消息,若能正常返回非空响应且无 jsonString?.startsWith'ai' must contain non-empty content 错误,则问题解决。使用非推理模型作为控制组验证系统基线正常。

参考来源

Mintplex-Labs/anything-llm #3553

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 8628

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注