Discourse 聊天机器人 🤖

它通过 Serp API 或 Jina.ai 都能为我工作。

您能否提供 PM 的机器人“内心想法”?

内心想法
[
  {
    "role": "assistant",
    "content": "",
    "tool_calls": [
      {
        "id": "call_mKY7pfG54xRduRKCz5xee9E0",
        "type": "function",
        "function": {
          "name": "web_search",
          "arguments": "{\"query\":\"list of English butterflies\"}"
        }
      }
    ]
  },
  {
    "role": "tool",
    "tool_call_id": "call_mKY7pfG54xRduRKCz5xee9E0",
    "content": "A-Z of butterflies · A. Adonis Blue · B Black Hairstreak · Brimstone · Brown Argus · Brown Hairstreak · C Chalk Hill Blue · Chequered Skipper · Clouded Yellow · D."
  }
]
1 个赞

我们应该用PM来做这件事吗?我们现在只是在污染这个话题。

但是:

[
  {
    "role": "assistant",
    "content": "",
    "tool_calls": [
      {
        "id": "call_4xitHqRBJ8Wc1HI546r3Wj1U",
        "type": "function",
        "function": {
          "name": "web_search",
          "arguments": "{\"query\":\"International Dog Day date and history\"}"
        }
      }
    ]
  },
  {
    "role": "tool",
    "tool_call_id": "call_4xitHqRBJ8Wc1HI546r3Wj1U",
    "content": "国际狗日日期和历史:我在网上搜索此信息失败。"
  }
]

我们可以。所以这个失败很有趣。

您的 Serp API 账户是否正常?您还有容量吗?您还有配额吗?

是的,而且是的。我的账户显示请求已完成,没有错误,什么都没有。嗯,至少我能看到的没有。

1 个赞

改进了 Serp API 网页搜索

2 个赞

问题不是老用户或新用户。新用户也遇到了错误。今天我又收到了错误。错误图片如下。还有一个关于字符的警告。

聊天机器人:聊天补全时出现问题:状态:400,消息:无效的‘messages[1].name’:字符串不匹配模式。预期字符串匹配模式‘+$’。

您怀疑我没有使用 OpenAI?

该模型需要符合 OpenAI API 标准,其中包括 name 属性(大约已经存在一年了?)

如果您使用的是代理,并且他们声称提供 OpenAI 标准,那么他们就是在撒谎 :slight_smile:

更改在此处进行:

您始终可以分叉该插件并更改提交,使其恢复到此更改之前的状态,但您将不得不自行管理其他改进。

1 个赞

我正在使用 Azure。我的设置会不会是错误的?

听起来你正在使用一个非常旧的模型

这是当前的 API
https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages

我建议你确保你部署的是最新模型之一。

gpt-4o-mini 绝对支持此功能。

是否不应单独更改 API 版本?

1 个赞

那可能太老了 :)。

如果您需要更详细的帮助,请联系 #marketplace。我无法免费提供如此详细的支持 :)。

1 个赞

感谢您的帮助 @merefield

1 个赞

关于此事的我的最后评论是:至少尝试部署一个更新的 2024 年 API 版本。

1 个赞

我尝试了您建议的解决方案,但问题仍然存在。自从上次写信以来,我一直在关注这个问题。我发现遇到此问题的用户在用户名中包含非英文字符。这会不会是问题所在?其他具有英文字符的用户名没有问题。

错误:Chatbot:Chat Completion 出现问题:状态:400,消息:无效的“messages[1].name”:字符串不匹配模式。预期字符串匹配模式“^[a-zA-Z0-9_-]+$”。

unicode 用户名 – > 此设置为开启

您需要与 Azure 支持部门联系,因为他们应该支持 OpenAI API 的最新功能(间接)。如果不支持,他们需要进行更新。

我只是在使用 OpenAI API 的标准功能。

同时,您可以尝试签出插件的先前提交。

1 个赞

如何安装此插件的旧提交?@merefield

在 app.yml 中编写一个简短的脚本来克隆、进入目录并检出更改之前的提交。

但实际上,您应该通过 Azure 支持来解决此问题。

1 个赞

抱歉,我重新阅读了您的错误消息。

看起来 API 现在抱怨您的用户名至少有一个格式不正确?

顺便说一句,您也可以 fork 该插件,检出之前的提交,创建一个新分支,将其推送到 GitHub,然后使用 -b <分支名称> 进行克隆。

自己动手做将是一次很好的学习经历,但您也可以在 Marketplace 中聘请某人提供帮助。

1 个赞

是的,它会因为用户名而报错。如果用户名包含非英文字母,如 ş、i、ü、ö 等,就会报错。机器人错误信息如下:

我尝试了几次为您提供回复,但最终都失败了。如果此问题仍然存在,请联系管理员,谢谢!

它会写出这条消息。在日志屏幕上,其中一个错误与字符有关。

我编辑了发布我收到错误帖子的用户的用户名,并将其更改为英文字母。然后我在收到错误的帖子中标记了机器人,机器人响应正常,没有报错。

但是,如果我不编辑用户名并在帖子中标记机器人,机器人将不再响应并会显示相同的错误。

我会尝试你的建议。

我引入了一个设置(默认为 OFF),用于启用 name 属性。

如果您更新到最新版本,则无需执行任何操作。

其他人可以根据需要选择开启以使用它。

我并非总能免费提供此类服务,但我确信让 Chatbot 保持更强的语言无关性是有价值的。

2 个赞