Bug in Embeddings AWS Bedrock node

当你在 n8n 中用 Embeddings AWS Bedrock 节点(尤其是 Cohere Embed 系列模型)配合向量存储做写入或检索时,节点发给 Bedrock 的请求体字段不符合 Bedrock 契约,于是抛出 “Bug in Embeddings AWS Bedrock node” 相

快速结论:当你在 n8n 中用 Embeddings AWS Bedrock 节点(尤其是 Cohere Embed 系列模型)配合向量存储做写入或检索时,节点发给 Bedrock 的请求体字段不符合 Bedrock 契约,于是抛出 “Bug in Embeddings AWS Bedrock node” 相关的 Malformed input request 错误。优先排查 Bedrock Embeddings 节点发出的请求字段是否为 texts / input_type,而不是 inputText。

适用环境:Issue 中确认的环境为 n8n Cloud,n8n 版本 1.86.1,数据库 SQLite(默认)。后续评论中报告复现的版本包括 1.95.3、1.97.1、1.106.3、2.0.2、2.2.3、2.3.6、2.17.7。Node.js 版本在 Issue 中标注为 N/A,未提供。

最快修复方案:暂无确认的一步修复方案。该 Issue 被关闭时并未给出已验证的修复版本或补丁,多版本评论仍报告问题存在;只能按下面的排查步骤逐项确认并规避。

注意事项:Issue 被维护者以“3 个月无新活动”为由关闭,并非因为问题已修复。因此不要因为升级到某个版本就默认问题消失,需要在目标版本上自行验证。涉及 Bedrock 请求体字段的修改属于推测性规避思路,可能因节点实现变化而失效。

问题场景

用户在 n8n 中把向量存储(如 MongoDB Atlas Vector Store、PG Vector Store)与 Embeddings AWS Bedrock 节点配合使用,通过 AI Agent 或 Vector Store Retriever 检索已存入的 embeddings。期望检索返回与查询最相关的 top N 文档,但节点在调用 Bedrock 生成/检索 embedding 时请求体格式不合法,导致检索失败。多位用户报告使用 Cohere Embed Multilingual、Cohere English v3 等模型时同样失败。

报错原文

An error occurred while embedding documents with Bedrock: Malformed input request: #: required key [images] not found#: required key [texts] not found#: required key [texts] not found#: required key [texts] not found#: required key [texts] not found#: required key [input_type] not found#: extraneous key [inputText] is not permitted, please reformat your input and try again.

原因分析

从报错内容看,Bedrock 期望请求体中包含 texts、input_type(以及部分模型需要的 images)等字段,但 n8n 节点实际发送的是 inputText,因此被 Bedrock 判为 extraneous key 并拒绝。也就是说,Embeddings AWS Bedrock 节点构造的 payload 参数与 Bedrock 对 Cohere Embed 模型的入参契约不一致,属于节点侧的请求格式问题,而不是向量存储或检索配置问题。Issue 中未给出官方确认的根因说明,以上为基于报错文本的分析。

环境排查

  • 确认 n8n 版本:Issue 确认为 1.86.1,评论中 1.95.3、1.97.1、1.106.3、2.0.2、2.2.3、2.3.6、2.17.7 均报告复现。
  • 确认运行环境:n8n Cloud(Issue 确认);数据库为 SQLite(默认)。
  • 确认使用的 Bedrock embedding 模型:Cohere Embed Multilingual、Cohere English v3 等已被报告触发。
  • 确认向量存储类型:MongoDB Atlas Vector Store、PG Vector Store 均被报告涉及。
  • 确认触发入口:AI Agent 与 Vector Store Retriever 两条路径都被报告失败。
  • Node.js 版本在 Issue 中为 N/A,无法据此排查。

解决步骤

  1. 先确认报错是否与本次 Issue 一致:检查错误文本中是否同时出现 extraneous key [inputText] is not permitted 以及 required key [texts] not found。
  2. 记录当前 n8n 版本与使用的 Bedrock 模型。Issue 中 1.86.1 到 2.17.7 多个版本均未确认修复,升级前不要假定问题已解决。
  3. 替换或绕过 Embeddings AWS Bedrock 节点(可优先尝试):在检索链路中改用其他可用的 embeddings 节点/模型,避免依赖当前有问题的 Bedrock payload 构造逻辑。
  4. 如果必须使用 Bedrock,考虑在上游自行构造符合 Bedrock 契约的请求体(包含 texts、input_type 等字段,而非 inputText),再交给下游向量存储使用;此路径为推测性规避方案,Issue 中无官方验证。
  5. 关注该 Issue 的后续状态。该 Issue 已被关闭但多人反馈仍未修复,如问题持续,可按维护者说明重新开启或新建 Issue 并附上版本与复现信息。

验证方法

在向量存储已写入 embeddings 的前提下,分别用 AI Agent 和 Vector Store Retriever 发起一次检索。如果不再出现 Malformed input request、extraneous key [inputText] 等报错,并且能返回 top N 相关文档,说明规避方案在当前环境下生效。若仍报同样错误,说明节点的 payload 构造问题仍存在。

参考来源

n8n-io/n8n #14982

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 28816

发表回复

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