Discourse AI:需移除 JSON 响应才能使 Anthropic Sonnet 5 在语义搜索等场景中正常工作

我可能完全搞错了,而且这对除了我以外的所有人来说都是常识……如果是这样,我很抱歉。但我在安装过程中遇到了一些奇怪的错误,例如:

DiscourseAi::Completions::Endpoints::Anthropic: status: 400 - body: 
{
“type”:“error”,
“error”:{“type”:“invalid_request_error”,
“message”:“此模型不支持助手消息预填充。对话必须以用户消息结尾。”},“request_id”:“req_011CcqMN6eswEfRHPmQmPLC4”
}

这很奇怪,因为其他大多数与 AI 相关的功能都正常工作。这主要发生在我使用的摘要工具和搜索功能中,例如:

https://..../forum/discourse-ai/embeddings/semantic-search?q=search_term

这会返回 500 错误。

当我检查日志时,得到了以下信息:

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "此模型不支持助手消息预填充。对话必须以用户消息结尾。"
  },
  "request_id": "req_011CcqQvXPAHSfvoUeu92gf9"
}

我追溯到了“内容创建”角色(Persona)。

错误似乎出在这一部分:

因为当我通过克隆该角色并将此设置应用于克隆体来移除它时(在此特定角色上无法直接移除)

语义搜索开始正常工作。我需要在例如我的摘要工具中执行类似的操作。

你们是否也遇到过这种情况?

你能展示一下在你的实例上 Sonnet 5 是如何配置的吗?

你碰巧启用了 禁用原生结构化输出(改为使用助手消息预填充,Claude 3.x 及更早版本必需) 吗?