MESSAGE_COERCION_FAILURE
LangChain 中的多个模块接受 MessageLike
对象来代替正式的 BaseMessage
类。 这些包括 OpenAI 风格的消息对象 ({ role: "user", content: "Hello world!" }
)、元组和纯字符串(它们会被转换为 HumanMessages
)。
如果这些模块之一收到上述格式之外的值,您将收到如下错误
const badlyFormattedMessageObject = {
role: "foo",
randomNonContentValue: "bar",
};
await model.invoke([badlyFormattedMessageObject]);
Error: Unable to coerce message from array: only human, AI, system, or tool message coercion is currently supported.
Received: {
"role": "foo",
"randomNonContentValue": "bar",
}
故障排除
以下方法可能有助于解决此错误
- 确保聊天模型的所有输入都是 LangChain 消息类或受支持的类消息对象的数组。
- 检查是否没有发生字符串化或其他意外转换。
- 检查错误堆栈跟踪并添加日志或调试器语句。