在浏览了几个主题后,我总结了以下学习成果与建议。
该网站是用于支持 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 的硬接线警笛的建议:
-
系统测试模式:
- 检查您的警报面板是否具有“系统测试”或“步行测试”模式。该模式通常用于测试传感器和警报器,而不会触发真实的警报事件。如果您的面板具备此功能,它应该允许您在不触发完整警报的情况下测试警笛。
-
输出控制:
- 在警报面板设置中查找“输出控制”或“辅助输出”选项。此功能可能允许您手动触发输出(如警笛)以进行测试。
-
区域旁路:
- 某些系统允许在测试期间旁路特定区域。如果您的硬接线警笛与特定区域相关联,您可能可以旁路该区域以进行测试。
-
用户手册:
- 查阅随 IQ Panel 4 附带的用户手册或文档。其中应提供有关如何测试和控制警报系统不同组件的具体说明。
-
技术支持:
- 如果您无法自行找到解决方案,请考虑联系制造商的技术支持。他们可以根据您系统的具体功能和能力提供指导。
-
面板软件更新:
- 检查您的 IQ Panel 4 是否有可用的软件更新。制造商通常会发布更新以添加新功能或解决问题,更新中可能包含针对警笛的特定测试模式。
测试时请小心,避免意外触发真实的警报事件。如果您对任何步骤不确定,查阅用户手册或联系技术支持寻求帮助总是明智之举。
显然,ChatGPT 提供了更详细的回答。我将在本主题的后半部分探讨可能的原因。
注意:我无法访问由 Merefield 开发的 Discourse AI 插件(卡片)(GitHub),如果能看看同一个问题在该插件上的回复以便进行比较,那就太好了。
以下是我的反馈。
这些机器人的 AI 基于 大型语言模型 (LLMs),其知识受限于训练数据集。这些机器人还使用 RAG(检索增强生成)通过访问论坛中的主题来增强其知识。
机器人通常会使用系统提示(system prompt),可以理解为一种角色设定(persona),这与向 LLM API 发送的用户提示(user prompt)不同。
我将让 ChatGPT 解释其中的区别。
ChatGPT
什么是系统提示?它与用户提示有何不同?
回答
系统提示和用户提示是语言模型和对话式 AI 系统(如 GPT-3.5)中常用的术语。让我来澄清它们之间的区别:
-
用户提示:
- 用户提示是由人类用户提供的输入,用于启动对话或向 AI 系统请求信息。
- 它是人们输入或说出以与 AI 模型交互的文本或查询。
- 例如,如果您正在使用聊天机器人或语言模型,您输入的问题或陈述就是用户提示。
-
系统提示:
- 另一方面,系统提示是提供给 AI 模型的初始输入或指令,用于设定上下文或指导其对话行为。
- 它用于为 AI 生成回复提供起点或上下文。
- 系统提示有助于塑造 AI 回复的语气、风格或内容,并作为指导模型行为的某种指令。
- 虽然用户提示针对用户的具体查询或陈述,但系统提示更多是关于为整个对话提供一般性上下文或指令。
在 GPT-3.5 或类似语言模型的情况下,对话通常以系统提示开始,随后是在持续交流中的用户提示。系统提示有助于影响模型在整个对话中的回复,但模型的输出是由系统提示和用户提示的组合决定的。
机器人无法提供更具体回答的原因在于,它们的知识库缺乏这些产品的用户手册、安装说明等。此外,机器人通常无法从此类文档中提取图像和图表,例如接线图和安装手册中使用的图片。
作为起点,应使用 RAG 尽可能扩展 AI 的知识库,即使仅包含文档中的文本。虽然 Discourse AI 机器人可以使用 RAG 访问论坛中的所有主题,但我不知道它们是否允许添加外部信息。如果不允许,一个想法是将所有文档作为 PDF 导入到一个(可能是隐藏的)类别中,这样 Discourse 代码就能更容易地访问它们(因为它们位于论坛内),然后使用 Langchain 访问这些 PDF(参考)。
有了这些知识后,可以调整系统提示以改善回复,但这仍然远未达到您的期望。您很可能还是会收到像第一个例子那样的回复,即引用信息但缺乏必要的分步说明。此外,目前没有任何方式可以就 AI 回复提供反馈,让 AI 知道这是反馈。换句话说,如果用户回复说 AI 的回答有误,机器人会读取该回复,但无法理解需要据此更新知识库。
为了提高回复质量,我有三点想法:
- 利用 HyDE(假设文档嵌入,Hypothetical Document Embeddings)
Luyu Gao, Xueguang Ma, Jimmy Lin 和 Jamie Callan 的论文《无相关性标签的精确零样本稠密检索》(pdf)
我实际上是从 Discourse 了解到 HyDE 的(参考),并知道他们正在使用它。
-
RLHF(基于人类反馈的强化学习)。我认为这两个机器人目前都不具备此能力,Discourse 可能正在考虑这一点;如果他们愿意分享,我很想听听他们的反馈。
-
结合 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 工作人员回答。