使用 Ask AI 在社区中更精准地搜索

经过数周的实验,我们很高兴向大家介绍全新的“Ask AI”功能,它直接集成在您的社区中。

“Ask AI”通过支持自然语言查询和后续追问,帮助您的社区用户更快地找到想要的答案。它还可以与现有的索引搜索并行工作。

在没有找到理想结果的情况下,我们会向用户展示一个“创建主题”的操作提示 :tada:,该提示会打开编辑器,并根据查询内容自动生成合适的主题标题和分类。

工作原理

我们将用户通过“Ask AI”发送的查询传递给一个“重写器”(rewriter),它会返回两个优化后的查询:一个用于传统的关键词搜索,另一个用于基于嵌入(embeddings)的语义搜索。这两个搜索会快速执行并汇总结果,然后交给一个“合成器”(synthesiser)来为用户提供最佳结果。

如果用户希望就查询进行后续追问,后续代理(默认为 Forum Helper)将接管处理。 :slight_smile:

对于所有托管站点 :discourse:,您可以免费使用我们提供的托管模型。对于自托管用户 :discourse-bw:,您需要确保已经配置好嵌入(embeddings)

设置

对于所有全新的托管站点,“Ask AI”默认已启用。

对于现有的托管站点:

  • 前往您的 AI 功能页面(/admin/plugins/discourse-ai/ai-features),找到“Search”(搜索)选项并启用它。
  • 点击进入“Settings”(设置)并启用。您还可以选择默认体验:
    • (滚动查看设置及差异):backhand_index_pointing_right:t2:
    • :warning: 启用了“AI Discovery”的管理员将在同一个“Search”部分看到它。“AI Discovery”与新的“Ask AI”不兼容,并正在逐步淘汰。

除了 AI 插件和一个可用的模型外,以下是您需要启用的设置列表:

  • 主要开关:ai_ask_ai_enabled
  • 在 AI 功能页面中启用“Embeddings”(嵌入)功能(托管用户无需担心 :check_mark: )- 这驱动语义搜索
    • 截至 2026-09-08T16:00:00Z,这不再是强制要求,但强烈建议启用。如果未启用“Embeddings” AI 功能,Ask AI 将仅由关键词搜索驱动,不具备伴随的语义搜索功能。
  • 在 AI 功能页面中启用“Bot”(机器人)功能 - 这驱动后续追问功能
    • ai_bot_allowed_groups 应与 ai_ask_ai_allowed_groups 匹配
    • 默认的 Forum Helper 代理(/admin/plugins/discourse-ai/ai-agents/-1/edit)应已启用并允许个人消息

试一试 :woman_technologist:t2:

我们已在 meta 站点上启用该功能数周,并相信它可以改善您社区的搜索体验,特别是那些拥有丰富讨论存档的社区。

请启用它,并告诉我们它在哪些方面有帮助,在哪些方面遗漏了有用的讨论,以及答案是否提供了足够的上下文。

20 个赞

很酷的功能。我已经为我们的 B&R 社区启用了它。只是想问一下:由于这可能会导致 AI 使用量增加,是否会产生额外费用?

2 个赞

@jaroslav.kovar,感谢你的提问——是的,会产生 Token 费用。

你可以在这里监控使用情况:

  • /admin/plugins/discourse-ai/ai-usage?feature=ask_ai&period=week

并调整你希望向哪些用户开放此功能,例如 TL0(所有用户)或权限更严格的 TL1。

2 个赞

太棒了,感谢你的开发!

我在想,有没有办法把 Ask AI 新初始搜索结果中显示的盒子数量增加到 3 或 4 个?还是说这是某种我还没发现的自动机制?

目前我只看到两个盒子,我觉得有些答案作为初步的总体概览,应该显示 3 或 4 个。

我在 AI ask AI related count 管理设置中找到了 :slight_smile:

1 个赞

不错。另外请注意,这是一个“最大”数量,因此如果智能体判断只有一两个,它也会照此办理。

3 个赞

在大型托管论坛上进行的早期反馈。

  • 增大提示词输入框的尺寸。

    我输入了一个相当详细的提示词,但搜索文本框使得在提交前难以查看或编辑完整的提示词。

    这是搜索文本框中显示的搜索/提示词:

这是提交后的完整提示词:

对于 AI 搜索而言,提示词通常比传统的关键词搜索更长、更具表达性,因此一个更大或可展开的输入区域将会很有用。


  • 允许对 显示所有匹配主题 的结果按列标题进行排序:回复数浏览量活跃度

image

在这种情况下,我知道我正在寻找的确切主题,并且知道这是一个热门主题。在获得 显示所有匹配主题 的结果后,我仍然不得不手动扫描 浏览量 列,以找到那个浏览量高且仍处于开放状态的主题。

能够点击 回复数浏览量活跃度 来对结果集进行排序,将在初始语义搜索完成其工作后,使 AI 搜索结果更容易缩小范围。

2 个赞

嗯,在这种情况下,我实际上会说“Ask AI”并不是正确的功能,而像 https://ask.discourse.com/discourse-ai/ai-bot/conversations?agent=discourse-helper (全页面)这样的功能可能更好。

我们可以单独考虑在用户输入的字符数超过一定数量时,将其引导到一个专用页面,但我们不太可能将文本框扩展到超过一行。

不错,我们可以考虑一下。:ok_hand:t2:

2 个赞

我的看法是,虽然 ask.discourse.com 无法回答相同的搜索问题,因为它无法访问社区的内容,但它确实提供了一个有用的框架示例——无论是在 UI 还是(推测中的)底层实现方面——用于支持更大规模的提示输入。

当然,“类似于”让我们对最终可能意味着什么感到有些悬而未决。这感觉就像在等待某部剧集下一季的第一集。:slightly_smiling_face:

既然 Discourse 搜索在配置了“询问 AI”后能够处理这类问题,我更希望看到搜索界面扩展以容纳这种能力,而不是让它受到不必要的限制。

老实说,我过去一直倾向于避免使用 Discourse 搜索,因为我经常发现它带来的挫败感多于实用性。不过,有了“询问 AI”,它开始展现出真正的潜力,我会很遗憾如果输入 UI 限制了该功能本身所能做的事情。


从某种意义上说,这让我想起了谷歌面临的挑战:将一个围绕几个关键词设计的搜索界面,演变为也需要容纳对话式 AI 查询的东西。:man_shrugging:

1 个赞

ask.discourse.com 只是一个例子,你也可以在自己的社区中启用相同的功能,这仅仅是 AI 机器人(AI Bot)功能。我们在 meta 上也有此功能,见 https://meta.discourse.org/discourse-ai/ai-bot/conversations,不过可能仅对部分用户开放。

不过,我们确实非常重视反馈。虽然大家往往看不到,但在幕后有很多工作在进行。

3 个赞

谢谢!

已经启用了,我也获得了访问权限。现在我开始听起来像《星际迷航》里的 Data 了。:slightly_smiling_face:

https://community.openai.com/discourse-ai/ai-bot/conversations?agent=forum-helper&llm=gpt-56-medium

我不确定的是,该论坛上有多少用户——或者其他论坛上的用户——也能访问该页面。

作为一个快速的改进方案,也许搜索/询问 AI 页面可以提供一个指向 AI 机器人对话页面的链接,或者以其他方式让该选项更容易被发现。例如,添加类似在 AI 机器人中继续的提示,可能会更清楚地表明这两个界面之间的关系。


在对 Discourse AI 进行一些实验后:

可用的智能体列表可能有点令人不知所措。由于我关注了 Discourse AI 早期的一些发展过程,我至少对它们的用途有一些了解。但如果你是第一次接触,我认为评估这些选择可能会很困难。

我用两个智能体尝试了相同的提示词:

  • Forum Helper —— 因为它被描述为通用型。
  • Discover —— 因为它是默认智能体。

正如你指出的,UI 和工作流更适合输入较长的提示词。

Discover 的结果是一个包含几个链接的段落,对于该特定提示词来说,并没有给我提供太多有价值的信息。

然而,Forum Helper 的结果是几个段落,值得阅读并跟进。它似乎进行了更多的互联网调查,而不仅仅是返回几个相关主题。

这让我怀疑,智能体的选择是否应该对用户来说更明显,或者也许应该根据用户试图做的事情自动选择。


这引出了另一个可能在未来会出现的问题。

当我在论坛外部要求 ChatGPT 搜索 https://community.openai.com/ 时,我偶尔会收到一条回复,指出当天的可用请求次数已达到上限。

我尚不清楚该限制是源于 Discourse、中间件还是外部检索系统,因此我不想就此得出结论。

下次我遇到这种情况时,我会试着记住捕获确切的错误信息并在这里发布。在考虑外部 AI 系统如何与 Discourse 站点的公开内容交互时,这可能会有所帮助。

这是上面提到的一个功能,很高兴你提出了这个问题,这样我们可以进一步突出它——

模态框底部的“Ask”按钮指向 AI 机器人功能。它本身是一个独立的 AI 功能(早于“Ask AI”功能),需要进行一些配置。


可能涉及一些速率限制。最好在该社区内部讨论此事,以便那里的管理员能够处理。

1 个赞

这个功能很棒。不过,我认为可以稍微提高它的可发现性,这样就不太容易被忽略或误解。我自己就忽略了 Ask 按钮的预期用途。

也许可以在悬停时添加一个工具提示,或者在 Ask 旁边放置一个小的帮助/信息图标,简要说明它会打开 AI 机器人功能。

image

另一种可能性是使用更具描述性的按钮文本,例如 Ask AI,这样可能无需额外交互就能让人清楚其用途。

1 个赞

还有一个我本以为能正常工作的用例,但结果并没有。

一年多来,每当我能在 GitHub 上找到与论坛帖子密切相关的未关闭问题时,我都会将 OpenAI Codex 的 bug 报告从论坛重定向到 GitHub。

今天,有人发布了一个 Codex 问题,我按照平时的流程操作。借助 ChatGPT,我成功找到了一个有效且密切相关的未关闭 Codex GitHub 问题。

随后,我尝试使用 Discourse 搜索功能运行了几乎相同的提示词,只是没有提供特定论坛主题的链接,而是选择了**“此主题”(This topic)**。

结果如下:

接着,我尝试了**“AI”**:

我理解第一次搜索旨在将结果限制在论坛内的主题中。然而,一旦用户习惯了使用**“Ask”**来进行更广泛的 AI 辅助查询,这两种行为之间的区别可能就不太明显了。

这似乎是预期行为。你是在当前正在查看的 Discourse 主题内搜索了你输入的文本。这并不是 Ask AI 功能,而是仅限于当前主题 ID 的经典搜索。它并不是将搜索范围限制在论坛内的主题。

即使使用 Ask AI,你也只是在论坛内部进行搜索,而不是在论坛外部搜索关于论坛内容的信息。那是 ai-bot 会做的事情。Ask-ai 旨在更好地在社区内部进行搜索。

1 个赞

在早期的版本中,后续提问框并没有预填内容,而是显示“Ask a follow-up”(提出后续问题)作为占位符。也许这种方式可行,我不确定。我们将等待更多反馈。

我想我对这里的反馈措辞感到有些不确定(有点像 Moin):你是希望 Ask AI 仅在主题内使用,还是希望 Ask AI 能够处理论坛之外的上下文?它并不是为了帮助后者而设计的。

1 个赞

能否将经典搜索设为默认选项?现在无法使用平板电脑键盘上的回车键来进行搜索,这非常令人困扰。Shift Enter 在笔记本电脑上可能行得通,但在我的平板电脑上无法使用。

特别是当我想向搜索词中添加内容以获得更好的结果时,我希望能够保持刚才选择的当前搜索类型。
例如:我想在这个主题中搜索 AI,于是我输入 ai 并点击“在此主题中”按钮。然后我可能发现这还不够具体,于是想添加第二个词。这时我又需要再次点击“在此主题中”,否则 Discourse 会认为我现在想进行的是 AI 搜索。至少在这种情况下,系统可以假设我仍然希望使用刚才执行的那种搜索。


我在全屏搜索中找到了切换选项。我之所以没有注意到每个搜索弹窗中都有这个选项,是因为我在弹窗内无需滚动就能看到内容,因此没想到还有缺失的部分。

1 个赞

是的,OP 中的第一张截图底部有一个开关,可以实现这一点

但我的截图中并没有。我很难注意到需要滚动。如果内容被截断了,比单纯缺失更容易察觉。所以我以为那个开关可能被移走了。

那里显示的设置也与您的用户偏好设置相关联:https://meta.discourse.org/my/preferences/interface

1 个赞

我觉得在输入更多文字后,"在此主题中"的选项仍然保留着。但现在它丢失了,我又回到了搜索所有帖子的状态。