Discourse 聊天机器人 🤖

@merefield 谢谢!

你是怎么这么快就调试好的?

我会移除 Zendesk……很简单 :slight_smile:

1 个赞

苦涩的经历 :sweat_smile:

3 个赞

大家好,

我现在已经创建了 OpenAI 账户。我应该创建一个“助手”(Assistant)吗?我只是想知道是否有任何步骤可以遵循,以便将 AI 与插件集成?

此致,

不,你只需要一个令牌。你可能需要为你的账户充值 Open AI 才能使用更高级的模型和更高的速率限制。

所有的 API 都由插件处理。

(顺便说一句,有趣的事实——Chatbot 完全不支持 Assistants API,因为它实现了自己的定制对话和“内心思考”系统,仅利用 Chat Completions API 和 Embeddings API。这很棒,因为 Assistants API 以浪费令牌和花费大量金钱而闻名——Chatbot 的构建是为了节俭!)

哇,它的功能比我意识到的要多得多。

您能解释一下在 ChatGPT 中,什么是“token”吗?我目前正在为 ChatGPT Premium 付费,每月 20 美元。我的目标是让我们的 Discourse 用户能够访问我正在训练的 AI,地址是 chatgpt.com

希望我解释清楚了,并且用例也很明确!

这就像金钱一样。您可以将代币视为单词或单词的一部分。当您提问时,它的价值为 X 个代币。当 OpenAI 处理您的问题时,它会使用更多代币。最后,当您的答案生成时,这会消耗一定数量的代币。

根据所使用的模型和对话,您需要为代币的使用付费,有时多有时少。

1 个赞

o1 的使用能力极大地改变了我使用 AI 的方式(感谢罗伯特的编码技能,我才能将它的使用限制在自己身上)。但 o1 系列不使用系统提示,所以我必须在提示中添加如何显示数学等指导。

如果我们有一个标准的文本能在实际提示之后自动添加,那就更方便了,比如“post”。Discourse 某种程度上具备这种能力,但我要么无法使用它,要么使用方式错误。它应该出现在每次提到 Chatbot 的类别和 PM 中,或者当 Chatbot 是 PM 的一部分时。并且仅当使用 o1 或 o1-mini 时 :woozy_face:

o1 系列尚未准备就绪,因此它在如何使用工具等方面可能会在某个时候发生变化。所以,我并不是在要求新功能,而是在讨论选项。o1 系列永远不会成为一种批量解决方案,它过于专业化(且昂贵),因此用户必须记住添加这些额外规则的需求可能是合理的。

离题了,但 GPT 模型在 o1 发布时就学会了数学。

1 个赞

是的,我们不能过多地进行自定义以弥补Open AI的不一致性。

我强烈怀疑工具甚至系统提示功能将在o1退出预览时推出。

虽然我记得团队中的一员创建了一个“代码片段”系统,但我并不认为聊天机器人是实现它的地方,让我找找看并更新帖子……

给你:

4 个赞

感谢 @Jagster 提供的信息,非常清晰。我想我可能指的是别的东西?我正试图通过这个插件与 OpenAI 集成,使用这个,

。我只是想获得一些关于如何连接这些东西的基本信息。

2 个赞

那只是一个用于获取访问权限的 API 密钥,仅此而已,可以称之为您的密码。

3 个赞

我现在明白了其中的混淆之处。

是的,有一个 API token(或密钥,你需要从 OpenAI 获取),还有代表单词一部分的文本 token。后者由 LLM 处理。前者是为了让你通过 API 进行身份验证。

这是一篇来自 The Verge 的关于术语的相当不错的指南:

5 个赞

我正在本地运行 Llama,并且非常接近在本地 Discourse 实例上实现这一点。聊天机器人正在聊天 :sunglasses: 但我在获取嵌入时遇到了困难。我的基准用户是信任级别 1。Rake 任务 rake chatbot:refresh_embeddings[1] 因身份验证问题而失败。

Faraday::UnauthorizedError: the server responded with status 401 (Faraday::UnauthorizedError)

在聊天机器人 OpenAI 令牌字段中,我粘贴了 Llama 给我的 URL

您有什么关于如何正确进行身份验证的建议吗?

4 个赞

很高兴你尝试了一下!

很高兴它能聊天 :smile:
我不知道是否可以在本地使用聊天机器人进行嵌入。
我很乐意接受一个好的 PR 来添加支持。
我发现了这个:

所以,通过正确的模型以及聊天机器人中相关的附加代码和设置,这可能是可行的。你可能需要一个自定义的嵌入模型设置,而这个设置目前还不存在。
不过,已经有这个了:
chatbot open ai embeddings model custom url
这主要是为了支持 Azure 而实现的,但可以以与聊天补全指向本地 ollama 服务类似的方式重新使用。
我承认这目前限制了该机器人在本地的可用性。

这是发送到端点的令牌。它只是一个文本字段。我非常怀疑这里的 URL 会起作用。在下面还有自定义聊天补全端点 URL 设置:
例如:chatbot open ai model custom url high trust
如果你分叉并添加了与现有内容一致的相关内容,利用了现有内容,但添加了实现 ollama 本地嵌入支持所需的最低限度,同时保持与 OpenAI 和 Azure 的现有行为不变,我一定会审查 PR 并考虑合并。

2 个赞

即将推出
更多功能将支持涉及嵌入的工作流:

OpenAI API 兼容性:支持 /v1/embeddings OpenAI 兼容端点

考虑到在这个快速发展的领域,“即将推出”通常意味着很快就会实现,也许值得等待这个功能来解决我的用例?

我们的实例是一个包含 20 年信息的宝库,但信息泄露也是一个巨大的担忧,因此我们希望进行本地测试。

1 个赞

我认为我找到了一个 Ollama PR,似乎解决了 API 端点兼容性问题。我需要更好地理解它,但我是否走在正确的道路上?

1 个赞

目前没有自定义嵌入模型的设置,这是一个无法解决的问题。

在本地运行时,您可以尝试通过将模型硬编码为您为 Ollama 下载的模型来解决此问题。

仔细考虑后,您还会遇到另一个问题,那就是嵌入表定义的大小设置为 OpenAI 小型模型的标准,而这非常巨大……也许您可以考虑如何克服这个问题……

1 个赞

聊天机器人 1.2。将人工智能驱动的用户字段收集作为实验性功能引入。

如果用户拥有当前为空的某些可选用户字段,启用此设置将导致机器人开始向用户询问信息。它将逐步完成未完成的用户字段,直到完成为止,然后恢复正常行为。

image

(抱歉响应缓慢 - 这是在开发环境中录制的)

注意:此功能仅支持:

  • 文本
  • 下拉列表
  • 确认

多选尚不支持。

字段必须是_可选的_

用户字段的顺序决定了优先级。

6 个赞

Chatbot 1.3 已发布 :tada:

  • 功能:添加按 token 管理配额的选项
  • 新设置 chatbot_quota_basis 允许您选择加入,否则仍按查询次数计算
  • 默认情况下唯一的区别是配额从起始最大配额(仍基于相同的信任级别设置)开始 倒数
  • 功能:包含 DALL-E 等 API 调用的成本在用户消耗中
  • 仅限 token 基础
  • 各种新设置可进行调整,以影响 API 功能的 token 成本
  • 功能:添加允许用户检查剩余配额的函数

Chatbot 一直包含强制执行使用配额的功能。

今天,它变得更加复杂!

Chatbot 现在可以跟踪并强制执行按 token 使用的配额。

您可以为 API 调用计费,以阻止过度使用,这样您就可以放心地让人们使用图片生成功能,例如。

Token 跟踪是选择加入的。如果您切换到 token 跟踪,请确保增加每个信任级别的配额,因为值需要比当前值大几个数量级。请进行实验。

但是,按查询跟踪已略有更改。它现在将重置为允许的最大查询数并 倒数 为零。

您可以考虑 一次性 运行全局配额重置作业,以确保每个人都从完整配额开始。这仅执行一次!

在 sidekiq 中,转到 /sidekiq/scheduler

点击触发按钮。

无论哪种情况,用户现在都可以询问他们还剩多少配额:

注意:已知问题:如果 在重置作业运行之前 首次提出此问题,答案可能会有点奇怪!无论重置作业是否运行,第二次提出此问题都应该可以正常工作。

4 个赞

罗伯特,您好:

感谢您为机器人付出的所有努力,但在聊天中调用机器人时,我在日志中遇到了以下错误。

image

在不卸载/重装的情况下,您有什么想法吗?

1 个赞