Discourse 聊天机器人 🤖

搞定了!非常感谢!

2 个赞

太棒了!

但是,啊哈,Ro-Bot 撒谎了(这是大型语言模型的局限性)。

Ro-Bot 无法知道这一点,除非你将其添加到系统提示中,但任何查询都会消耗你的配额(直到你用完配额)。

2 个赞

知道了!哈哈。我应该加上这个,以防有人问。:smiley:

1 个赞

大家好,

@merefield 非常感谢您提供的出色插件和辛勤工作!我非常感激您的贡献。

我正在寻求关于如何最好地使用嵌入(embeddings)和提示(prompts)的指导。目前我已经成功地将 OpenAI 与 gpt4o-mini 结合使用,所以我希望它在嵌入方面也能同样顺利地运行。我的计划是虚构一个术语和一些背景信息,然后向 AI 询问它,看看它是否会返回我编造的术语。

有一点我不太清楚:当您设置一个类别进行索引时,如果找到了相关的匹配项,是整个主题都会包含在提示中,还是只有用于创建嵌入的文本的特定部分?我正在试图决定是拥有更小、更集中的主题更好,还是拥有更长、更详细的主题更好,尤其是在令牌(token)使用效率很重要的情况下。

我还在探索不同提示输入之间的关系。我一直在测试 chatbot.prompt.system.basic.open 设置以及您可以输入给机器人的隐藏文本,以塑造其响应。我知道它们以某种方式协同工作,但我不太确定具体是如何工作的。例如,如果我在系统提示中包含“你是一个某人,请做 A、B、C”之类的指令,它似乎不如在隐藏文本提示中包含这些指令有效。我正在努力更好地理解这些概念,并找出最佳方法。

提前感谢您分享任何见解!

嘿 Brian,

主题标题会被嵌入,帖子也会被单独嵌入。

查询可以与其中任何一个匹配并返回相关帖子。

一旦你使用了嵌入,你就想切换到 RAG 机器人系统提示。

你想要 chatbot.prompt.system.rag.open(用于公开回复)和 chatbot.prompt.system.rag.private(用于私信和直接消息中的私人回复)。这个区别最初是为了让你在支持一对一机器人时可以做一些不同的事情(如果你愿意的话,但你可以保持它们相同)。

你说的隐藏文本是指额外的特定类别提示吗?

我主要在人们在我的介绍类别发帖时用它来欢迎新人。但我想它肯定有超出这个范围的创意用途。

这有点不同。它被发布为一个隐藏的用户提示,而不是机器人提示的一部分,例如:

请热烈欢迎我来到论坛!告诉我这里的每个人都很友好,并且渴望提供帮助!如果你还没有阅读过这里的欢迎主题:LINK 和发帖指南:LINK,请务必阅读。

因此,最好用第一人称来写。

谢谢 Robert,有时简单的事情反而容易忽略。即使我读过要使用 .rag prompt,我还是继续使用 basic.open。

我仍在尝试理解提交给 OpenAI 的 Rag prompt 的内容。是整个嵌入吗?那么,如果我创建一个篇幅很长的主题,整个长篇提示是否都会作为提示提交?换句话说,创建两个更精确的短主题比创建一个包含所有信息的长主题在 token 方面更便宜吗?我仍在尝试找出最明智、最高效的方法。

如果您更改日志记录设置并将信息重定向到警告(这些设置是插件设置中的最后一个),您可以在 /logs 中读取对 API 的每一次调用。

请记住,如果您不想污染日志,请将其改回。

您好,Robert。

每次我登录聊天机器人时,它都会说:“您好,今天有什么可以帮您处理 HappyBooks 的吗?” 我希望聊天机器人只在我发消息时做出回应。

我该如何实现?

1 个赞

您好 Willie

如果您使用 Quicklaunch 按钮,它将始终先说话,除非您关闭此设置:

1 个赞

这是一个天大的拼写错误(我会修复的)::sweat_smile: :blush:

2 个赞

如何让聊天机器人只回答关于网站的问题,而不是像 5 + 5 = ?这样的问题?

使用一个系统提示,您将绝对拒绝回答此类问题,并附带示例。

但祝你好运。我不知道其他大型语言模型(LLM)在多大程度上遵守这些规则,但 OpenAI 的模型可能会或可能不会遵守。即使它们像预期那样遵守,现在,对您来说,情况在其他帖子、明天以及对其他用户来说,很可能会完全相反。

2 个赞

一种替代方法是仅使用提供的配额系统来管理访问。如果用户想在私信中将 5 和 5 相加,那是他们的自由,但他们在此过程中会消耗自己的配额。

无论如何,我认为这不会消耗太多令牌 :sweat_smile:

在公共场合,与任何新帖子一样,仍然由版主审查网站上出现的内容。

在我自己的网站上,我经常让我的机器人做各种事情,这些事情可能不是网站主要主题的核心(尽管是在私下和我的配额内):joy:

1 个赞

5+5=10

这是 iOS 自动完成的 :joy:(有时真的很烦人)。

如果这是由 OpenAI 聊天机器人计算的,几乎不会花费任何成本。

2 个赞

@merefield,它是否可以配置为与 Perplexity 一起使用,因为它也使用 GPT 模型?

如果您能找到一个代理或许可以。但没有那些花招,只有 OpenAI。

我只是一个独立开发者,所以不得不将范围控制得合理。

1 个赞

好的,我会试试看,并会及时向您更新。

您好 @merefield,我发现 AI 没有很好地遵循提示。从日志来看,它似乎被截断了。

我保存在系统提示中的完整提示如下。这只是一个测试提示。

喜剧演员聊天机器人角色提示。你是一个喜剧演员聊天机器人,一个虚拟的娱乐者,旨在为每次对话带来欢笑和快乐。你的语气轻松、机智且引人入胜,具有喜剧节奏感,并且曲目涵盖了各种幽默风格。你的角色是成为数字派对的灵魂人物,做出巧妙的观察,传递笑点,并根据观众的背景和偏好调整你的幽默。

日志只显示一行还是我的提示被截断了?

我没有找到任何设置,而且我以前与 OpenAI 没有任何问题限制。

谢谢!Brian

我昨晚禁用了聊天机器人,因为“首次回复”非常糟糕地遵循了类别提示。几乎没有。我本来想等知道更强大的东西时再发私信,但我们现在在这里。而且关于遵循系统提示的更正常的对话也不是很好。

是的,界面会截断输出。

你应该仍然可以在常规位置的 production.log 文件中找到完整内容。

(来自 Discourse 目录的 tail shared/standalone/log/rails/production.log

1 个赞