关于技术支持论坛的支持机器人建议(Discourse AI 与 Discourse Chatbot)

我正在尝试创建一个 AI 机器人,它可以为技术支持论坛上的人工支持团队提供赞扬。目标是在非营业时间提供支持(目前用户必须等到我们开业),并在营业时间提供更快的支持(人工响应速度较慢)。如果机器人无法解决问题,则在营业时间由人工接管并处理。

一些设计目标是:

  1. 它需要从我们历史论坛数据中学习,以便拥有提供支持的领域知识。我们论坛中的数据比一般的互联网知识更具相关性。
  2. 它应该只尝试回答与主题相关的问题。它可以帮助某人排查我们的产品或使用我们的服务,但如果他们询问如何烘烤蛋糕,它不应该尝试提供帮助。它应该坚持与论坛中已存在的主题相似的主题。
  3. 它应该提供一种方式,让用户可以告诉机器人停止回答,以便他们可以改为等待人工处理,如果他们觉得机器人没有帮助。

我看到官方 Discourse AI 插件中有 AI Bot 模块。

还有原始的 Discourse Chatbot。

哪种插件更适合此类应用?我分别阅读了它们,也阅读了 这个主题,它很相似,但我很想获得更明确的建议,如果您有的话。

这些插件中的任何一个会自动学习或使用历史论坛数据进行微调吗?我认为我们可以手动微调 GPT-4,但我希望在可能的情况下利用插件的功能,而不是重复那些更聪明的人已经完成的工作。 :slight_smile:

这些插件中的任何一个是否允许您限制机器人参与的主题,以便它不参与一般性的、离题的对话?

原始 Discourse Chatbot 是打算长期开发和维护吗?还是计划最终被官方插件中的 AI Bot 取代,或者合并到其中? @merefield

4 个赞

我认为 Discourse Chatbot 🤖 的“Agent Mode”可能最适合您的需求。

此插件是第三方插件,由一位充满热情的开发者作为开源项目维护。因此,它突破了可能性的界限,功能也更加丰富。

如果您觉得它对您来说效果很好,我鼓励您寻找开发者并主动为维护做出贡献。

相比之下,另一个(official)插件/模块由 Discourse 团队开发,他们注重稳定性和由他们强大的开发团队支持。

(附注:在这里 @提及他人——尤其是首席执行官和繁忙的开发者——除非有严重需要,否则不是最好的礼仪)

5 个赞

是的,两者都使用 RAG 来利用论坛数据生成回复。

这些对话将在哪里进行?

  • 主题
  • 私信
  • 聊天
  • 外部应用程序
4 个赞

我很乐意为这方面提供帮助。我会联系的。

抱歉,我无意冒犯。我只是提到了那些发布了这些插件的人,以防他们想发表意见。

2 个赞

最初,可能只是私信。我们目前不使用聊天,但它似乎很适合这个目的,因为机器人可以实时回复(不像我们非常忙碌的人类),所以这可能也很好。然后,如果它在私下对话中效果良好,我希望在公开主题中启用它。

2 个赞

ですので、DiscourseAIプラグインのAIBot機能を試してみてはいかがでしょうか。「フォーラムヘルパー」ペルソナから始めるのが、あなたのユースケースにほぼ完璧に合致するはずです。

その後、Discourseの新AIペルソナエディタにアクセスして、あなたのニーズに特化したペルソナを作成できます。searchreadの両方の機能を付与し、優れたシステムプロンプトを作成すれば、すぐに使い始められます。

ここではMetaでこの機能へのアクセスを許可しました。ブラウザをリフレッシュして、実際に試してみてください。

6 个赞

我运行的是 0.0.1 版本,在一个论坛的副本上。它还可以,但似乎不太智能。它主要搜索我们的论坛并提供可能相关的主题列表。它似乎不能以对话的方式解释信息并提供支持。而且我没有 Persona 编辑器。Meta 上的那个似乎效果更好,所以我怀疑我没有最新版本。

2 个赞

实际上,当我要求它更具体并逐步指导我时,它的表现更好。

2 个赞

我无意很快停止支持 Chatbot。

无论如何,它是开源的,因此欢迎他人的支持和贡献。

该机器人旨在利用您论坛上现有的数据来回答用户的问题。

如果您有超出当前产品范围的特殊需求需要实现,并且有预算用于此,那么您可以随时考虑聘请我来帮助您。

4 个赞

是的,我之前给您发了私信。目前最大的问题是使用哪个插件,我对它们(或机器人)了解不够,无法做出自信的决定。:slight_smile:

我需要一个在这方面很擅长的人来帮助我们开始。我可以支付帮助的费用,如果需要任何特殊功能也可以。

抱歉之前@了您,我不知道这是一种不好的礼仪。

4 个赞

问得好,我不知道这里有多少用户对提到的任何一个 AI 机器人有实际经验,但我可以说,我一直在使用 OpenAI 网站上的 Discourse AI 机器人,即使在开发阶段也是如此。我定期提供反馈和建议,其中许多都列在这个网站上。(list) 而且所有这些都是免费的。

我能否获得一个网站邀请以便更好地了解该网站?

如果您有任何问题,请随时在此处提问或给我发送私人消息。

供您参考

如果您不知道什么是 RAG,这是一个很好的简短介绍。

https://research.ibm.com/blog/retrieval-augmented-generation-RAG

3 个赞

请问您当初是如何决定使用这两个 AI 机器人插件中的哪一个的?(Discourse AI 或 Discourse Chatbot)

1 个赞

我没有决定。唯一的选择是 Discourse 的。

由于 OpenAI Discourse 站点有点老了,它仍然有 Lounge(休息室)类别。Discourse 的 Sam(而不是 OpenAI 的 Sam)授予了 OpenAI 站点的 TL3 用户访问 Discourse AI 机器人的权限。这就是我获得访问权限的方式,并且它被选中了。但是,如果您阅读此处的帖子并体会其中的含义,您可能会发现 Sam 一直在与我们合作以获取反馈,并让了解此类机器人能力的用户通过 Lounge 中的主题来了解。

随着 Discourse AI 机器人的更改,我们会在代码推送和安装后不久看到它们,并会尝试使用它们。

我无法评论插件机器人,也不会猜测。

希望有所帮助。

1 个赞

在浏览了几个主题后,我总结了以下学习成果与建议。

该网站是用于支持 Surety 家庭安防系统的。

Discourse 论坛中使用的 AI 的目标(参考)是:

  • 作为技术支援论坛中人工支援团队的有力补充。
  • 需要从我们的历史论坛数据中学习。
  • 具备提供支援所需的领域知识。
  • 仅尝试回答与主题相关的问题。
  • 应提供一种方式,让用户在觉得 AI 无法提供有效帮助时,告知其停止回答,以便等待人工支援。

以下是 Ryan 提出的一些问题:

  • 这些模型会自动学习或根据历史论坛数据进行微调吗?
  • 避免重复那些更聪明的人已经完成的工作。
  • 限制机器人参与的话题,使其不介入一般性或离题的对话?
  • 原始的 Discourse Chatbot 是否计划长期开发和维护?
  • 或者,它最终会被官方插件中的 AI Bot 取代,还是会被整合进去?

以下是我提交给当前启用的 Discourse AI 机器人(在我尝试的网站版本上)的一个问题,以及 ChatGPT 给出的回答。

问题

我有一台 IQP4,搭配了 PowerG 转硬接线模块。有线传感器工作正常。我想测试一下门铃/警笛,但在 IQP4 上找不到相关选项。我可以在面板上测试警笛,它和 IQ Remote 一起响了,但硬接线的门铃没有响。我必须触发警报才能让硬接线警笛发声。

有没有办法从 IQP4 测试 PowerG 转硬接线模块上的门铃?


以下是使用搭载 GPT-4 的 Discourse AI 机器人的回复:

我在我们的论坛上找到了一个可能与您的问题相关的主题。

在主题 测试 PowerG 转硬接线模块上的有线门铃? 中,有一位用户遇到了类似的问题,即无法在 IQP4 上找到测试 PowerG 转硬接线模块上门铃的选项。

请查看该主题以获取可能的解决方案。如果您仍有疑问或需要进一步协助,请随时提问。


以下是使用搭载 GPT-3.5 的 Discourse AI 机器人的回复:

我在 Surety 支持论坛上找到了一个主题,讨论了如何使用 IQ Panel 4 (IQP4) 测试 PowerG 转硬接线连接上的有线门铃。您可以在此处找到该主题 here

在该主题中,用户提到他们在 IQP4 本身上找不到测试门铃/警笛的选项。然而,他们能够在面板上测试警笛,并且警笛与 IQ Remote 一起响了。另一方面,除非触发警报,否则硬接线的门铃不会响。

您可以访问该主题以获取更多信息,并查看是否有其他用户提供的解决方案或建议。


搭载 GPT-4 和 GPT-3.5 的 Discourse AI 机器人找到了同一个主题。



以下是 ChatGPT 的回复:

我没有关于 IQ Panel 4 最新软件版本或功能的具体信息,因为我的训练数据仅包含截至 2022 年 1 月的知识。不过,基于警报系统测试的一般原则,以下是一些可能有助于您测试连接到 PowerG 的硬接线警笛的建议:

  1. 系统测试模式:

    • 检查您的警报面板是否具有“系统测试”或“步行测试”模式。该模式通常用于测试传感器和警报器,而不会触发真实的警报事件。如果您的面板具备此功能,它应该允许您在不触发完整警报的情况下测试警笛。
  2. 输出控制:

    • 在警报面板设置中查找“输出控制”或“辅助输出”选项。此功能可能允许您手动触发输出(如警笛)以进行测试。
  3. 区域旁路:

    • 某些系统允许在测试期间旁路特定区域。如果您的硬接线警笛与特定区域相关联,您可能可以旁路该区域以进行测试。
  4. 用户手册:

    • 查阅随 IQ Panel 4 附带的用户手册或文档。其中应提供有关如何测试和控制警报系统不同组件的具体说明。
  5. 技术支持:

    • 如果您无法自行找到解决方案,请考虑联系制造商的技术支持。他们可以根据您系统的具体功能和能力提供指导。
  6. 面板软件更新:

    • 检查您的 IQ Panel 4 是否有可用的软件更新。制造商通常会发布更新以添加新功能或解决问题,更新中可能包含针对警笛的特定测试模式。

测试时请小心,避免意外触发真实的警报事件。如果您对任何步骤不确定,查阅用户手册或联系技术支持寻求帮助总是明智之举。

显然,ChatGPT 提供了更详细的回答。我将在本主题的后半部分探讨可能的原因。


注意:我无法访问由 Merefield 开发的 Discourse AI 插件(卡片)(GitHub),如果能看看同一个问题在该插件上的回复以便进行比较,那就太好了。:slightly_smiling_face:




以下是我的反馈。

这些机器人的 AI 基于 大型语言模型 (LLMs),其知识受限于训练数据集。这些机器人还使用 RAG(检索增强生成)通过访问论坛中的主题来增强其知识。

机器人通常会使用系统提示(system prompt),可以理解为一种角色设定(persona),这与向 LLM API 发送的用户提示(user prompt)不同。

我将让 ChatGPT 解释其中的区别。

ChatGPT

什么是系统提示?它与用户提示有何不同?

回答

系统提示和用户提示是语言模型和对话式 AI 系统(如 GPT-3.5)中常用的术语。让我来澄清它们之间的区别:

  1. 用户提示:

    • 用户提示是由人类用户提供的输入,用于启动对话或向 AI 系统请求信息。
    • 它是人们输入或说出以与 AI 模型交互的文本或查询。
    • 例如,如果您正在使用聊天机器人或语言模型,您输入的问题或陈述就是用户提示。
  2. 系统提示:

    • 另一方面,系统提示是提供给 AI 模型的初始输入或指令,用于设定上下文或指导其对话行为。
    • 它用于为 AI 生成回复提供起点或上下文。
    • 系统提示有助于塑造 AI 回复的语气、风格或内容,并作为指导模型行为的某种指令。
    • 虽然用户提示针对用户的具体查询或陈述,但系统提示更多是关于为整个对话提供一般性上下文或指令。

在 GPT-3.5 或类似语言模型的情况下,对话通常以系统提示开始,随后是在持续交流中的用户提示。系统提示有助于影响模型在整个对话中的回复,但模型的输出是由系统提示和用户提示的组合决定的。


机器人无法提供更具体回答的原因在于,它们的知识库缺乏这些产品的用户手册、安装说明等。此外,机器人通常无法从此类文档中提取图像和图表,例如接线图和安装手册中使用的图片。

作为起点,应使用 RAG 尽可能扩展 AI 的知识库,即使仅包含文档中的文本。虽然 Discourse AI 机器人可以使用 RAG 访问论坛中的所有主题,但我不知道它们是否允许添加外部信息。如果不允许,一个想法是将所有文档作为 PDF 导入到一个(可能是隐藏的)类别中,这样 Discourse 代码就能更容易地访问它们(因为它们位于论坛内),然后使用 Langchain 访问这些 PDF(参考)。

有了这些知识后,可以调整系统提示以改善回复,但这仍然远未达到您的期望。您很可能还是会收到像第一个例子那样的回复,即引用信息但缺乏必要的分步说明。此外,目前没有任何方式可以就 AI 回复提供反馈,让 AI 知道这是反馈。换句话说,如果用户回复说 AI 的回答有误,机器人会读取该回复,但无法理解需要据此更新知识库。

为了提高回复质量,我有三点想法:

  1. 利用 HyDE(假设文档嵌入,Hypothetical Document Embeddings)

Luyu Gao, Xueguang Ma, Jimmy Lin 和 Jamie Callan 的论文《无相关性标签的精确零样本稠密检索》(pdf

我实际上是从 Discourse 了解到 HyDE 的(参考),并知道他们正在使用它。

  1. RLHF(基于人类反馈的强化学习)。我认为这两个机器人目前都不具备此能力,Discourse 可能正在考虑这一点;如果他们愿意分享,我很想听听他们的反馈。

  2. 结合 RLHF 的合成数据。这确实是前沿技术,我不期望任何一个机器人会立即实施。

训练 LLM 最成功的方法之一是让它们自我训练,但这需要某种指标来判断结果的好坏。对于您的网站,我目前理解的唯一判断解决方案好坏的方法是让人类对 AI 的解决方案进行评分。为了获得更多轮次的问答和解决方案,可以由一个 AI 生成问题,另一个 AI 生成解决方案,然后对解决方案进行评估,并用于改进生成解决方案的 AI。


为了提高机器人帮助用户的能力,它应该进行一系列提问以收集信息,从而更好地理解问题,类似于医生进行诊断和预后时的做法。

另一个选择是查看可以通过 AI 机器人访问的类似技术,例如微软的 Copilot

您未提及但非常有价值的一点是:引用来源。这一点很重要,因为可以检查 AI 的生成内容是否为幻觉(hallucination)。如果包含引用,且该引用是真实的而非幻觉,那么可以检查该引用是否来自权威来源(如手册),从而确认其非幻觉性。使用 RAG 添加引用很容易实现,这也是应该预期的功能。


现在来回应您的具体目标。

作为技术支援论坛中人工支援团队的有力补充。

这更像是一个陈述而非问题,因此我不会将其作为问题来回答。

需要从我们的历史论坛数据中学习。

这实际上是我之前拆分的一个更大陈述的一部分。我拆分它的原因是,虽然您说得对,论坛中的历史数据很有价值,但像手册这样的基础知识也是必需的。当前的机器人使用 RAG 处理论坛帖子,但据我所知,它们尚无法访问外部数据。

仅尝试回答与主题相关的问题。

这可以通过调整系统提示来实现。这也需要一些 Discourse AI 帖子分类器 - 自动化规则 中的技术。

应提供一种方式,让用户在觉得 AI 无法提供有效帮助时,告知其停止回答,以便等待人工支援。

这也可以通过调整系统提示来实现。

这些模型会自动学习或根据历史论坛数据进行微调吗?

好问题。虽然我前面简要提到了如何开始解决这个问题,但这实际上比看起来要难得多。不过,大型 LLM 研究人员在这方面取得了很大进展,未来几个月可能会有令人兴奋的宣布,使这变得容易得多。

避免重复那些更聪明的人已经完成的工作。

我将这理解为 LLM 不应偏离其已知内容。这取决于模型如何训练以获取新知识。有可能使模型变差,甚至更难让模型“遗忘”某些内容。据我所知,Discourse AI 的两个机器人都不具备学习能力(即改变 LLM 的权重),但它们确实具备使用 RAG 处理主题帖子的能力。因此,如果主题帖子质量差(垃圾输入),就会导致输出质量差(垃圾输出)。

限制机器人参与的话题,使其不介入一般性或离题的对话?

这将类似于 Discourse AI 帖子分类器 - 自动化规则

原始的 Discourse Chatbot 是否计划长期开发和维护?

这个问题留给 Discourse 工作人员回答。

或者,它最终会被官方插件中的 AI Bot 取代,还是会被整合进去?

这个问题也留给 Discourse 工作人员回答。

6 个赞

感谢您的帮助和如此详尽的帖子!

我是在知道 RAG 之前写的。我只是想说它需要使用我们历史论坛数据,而不一定是在其上进行训练。

是的,在您和其他人的反馈之后,一个隐藏的类别作为知识库似乎是可行的。

我不想让用户能够更新知识库。只有工作人员应该能够做到这一点。如果工作人员能够审查和评价机器人的回复,那将是极好的,但这似乎不可能与 RAG 一起实现。

这很酷!

说得好。我想知道如果源在我们隐藏的知识库中,它应该提供什么作为参考?

由于我对 LLM 的工作原理很天真,这个问题措辞不当。RAG 目前应该足够了。

我的意思是,我不想为 merefield 或 discourse 开发团队在其插件中已经构建的功能开发自定义代码。我想使用现有的东西,只在必要时进行增强。

再次感谢 Eric!

2 个赞

说得好。很高兴你指出了这一点,我本应在回复中说明。

这似乎可以很好地接入审核队列。这是 Discourse 的说法。

不行。

RAG 是实现你所寻求的东西所需的众多技术之一。在对 AI 回复进行评分的情况下,这与 RAG 的目的不同。对生成完成的人类反馈是 RLHF 技术的一部分。

确实如此!

这项技术的大部分都非常新,而且发展迅速,任何人、任何地方的想法都应该被接受。

与你作为人类在回复真人时注明一样。我认为应该是手册名称、出版日期、章节和段落。

感谢分享。我看到许多用户发帖,我告诉你,很高兴能帮助你。

这很有趣,但很多人甚至不知道为什么。技术发展如此之快,我敢肯定,很多人一个月前还在编写代码,然后才意识到该技术已经内置了,他们创建的代码现在已经过时,甚至可能已经淘汰。如果你花时间了解 Langchain,你可能会看到用户说他们抛弃了几乎所有的应用程序代码,而只是开始使用 Langchain。

另一个学习途径是 DeepLearning.AI 短期课程(目前免费)。

不客气。

请提出更多问题,我就是为此而帮助你的。人们对这项技术提出的问题越多,我们就越能互相帮助,实现我们的目标。

3 个赞

Eric,我已经上面回答过了。

我的回答不够清楚吗?

恕我直言,我不确定这些问题与“Discourse Staff”有什么关系?

从 URL、提交历史和其插件主题来看,应该很清楚该仓库是由我编写和维护的?

如果 Chabot 任何时候要迁移 GitHub 组织,它可能会迁移到 Pavillion。

1 个赞

当我读到这句话时,我想到的是你首次加入 Discourse 时看到的那个机器人。@discobot
如果这句话使用了 plugin 这个词,我就会想到你的插件,而不是像现在这样回应。

1 个赞

我不确定您说的“隐藏”是什么意思,但我假设聊天机器人和 AI 插件都只会使用公开类别中的内容进行 RAG。

没错,所以我的意思是,与其上传到某个类别然后提取它们,不如现在最好的方法是将这些 PDF 文档上传为文件,并在助手中使用它们?这可以与论坛内容的即时 RAG 相结合。

2 个赞

可能有一个类别用于 RAG,但对用户不可见会很有益,因为它没有以对最终用户友好的方式进行组织/呈现。例如,原始用户手册或机器人可能遵循的常见脚本。

3 个赞