Discourse AI - 嵌入模型的介绍

Discourse AI - 嵌入模型

:bookmark: 本主题介绍了 Discourse AI 插件中嵌入模型模块的配置。它将解释什么是嵌入模型、它们如何使用以及如何进行设置。

:person_raising_hand: 需要的用户权限:管理员

嵌入模型是 Discourse AI 插件的核心组件,它驱动着诸如相关主题推荐和语义搜索等功能。本指南将引导您完成在 Discourse 实例中设置和使用嵌入模型的过程。

概述

  • 对于托管客户,嵌入模型已预先配置。
  • 它们为相关主题推荐和语义搜索等语义功能提供技术支持。
  • 提供两种嵌入模型服务提供商选择:开源(推荐)或 OpenAI。
  • 提供多种设置选项,可自定义嵌入模型的行为。

什么是嵌入模型?

嵌入模型是将文本转化为数值表示形式的技术,这些数值能捕捉文本的语义含义。在 Discourse 中,它们主要用于:

  1. 在主题页面底部生成“相关主题”的推荐列表。
  2. 实现语义搜索功能。

设置嵌入模型

对于托管客户

如果您使用的是 Discourse 托管服务,嵌入模型已经预先配置完毕。您只需启用依赖于这些模型的 AI 功能即可。

对于自托管实例

如果您是自行搭建 Discourse,请参考 Discourse AI 自托管指南 获取详细的设置步骤。

配置嵌入模型

请在站点设置中配置以下选项:

  1. ai embeddings enabled: 启用或禁用嵌入模型模块。
  2. ai embeddings discourse service api endpoint:嵌入模型服务的 API 地址(托管客户已自动配置)。
  3. ai embeddings discourse service api key:嵌入模型服务的 API 密钥(托管客户已自动配置)。
  4. ai embeddings models:选择用于生成嵌入模型的具体模型。
  5. ai embeddings semantic suggested model:选择用于语义相关主题推荐的模型。
  6. ai embeddings generate for pms:决定是否为私人消息生成嵌入模型。
  7. ai embeddings semantic related topics enabled:启用或禁用“相关主题”推荐功能。
  8. ai embeddings pg connection string:数据库连接字符串(托管客户已自动配置)。
  9. ai openai api key:您的 OpenAI API 密钥(当选择 OpenAI 作为嵌入模型服务提供商时需要)。
  10. ai embeddings semantic search hyde mode: AI搜索期间用于关键词扩展的模型。

服务提供商

Discourse AI 支持以下两种嵌入模型服务提供商:

  1. 开源 (推荐,默认选项):使用 SBERT 开源模型集合。
  2. OpenAI:需要您提供 OpenAI API 密钥。

功能特性

相关主题

启用后,主题页面底部会显示一个“相关主题”版块,列出语义上相似的讨论链接。

相关主题版块

:information_source: 您可以在本指南中了解更多关于使用相关主题的信息。

语义搜索

嵌入模型为全页搜索界面上的语义搜索功能提供支持。

语义搜索选项

语义搜索依赖于 HyDE(假设文档嵌入)技术。我们首先使用您指定的大语言模型来扩展搜索关键词,然后将扩展后的关键词转换为向量,最后查找相似的主题。此技术会增加搜索延迟,但能有效提升搜索结果的质量。当为 ai embeddings semantic search hyde mode 选择模型时,请务必选择速度快的模型,例如 Gemini Flash、Claude Haiku 或 GPT4o Mini。

生成嵌入模型

对于新发布的帖子,嵌入模型会自动生成。要为现有内容生成嵌入模型:

  1. 当页面被访问时,如果缺少嵌入模型,则会自动生成。
  2. 自托管用户可以使用 ai:embeddings:backfill rake 任务来为所有主题生成嵌入模型。

:warning: rake 任务应仅由有经验且能够手动安装所需 gem 的用户执行。

常见问题

问:相关主题的推荐是如何确定的?
答:相关主题的推荐完全基于嵌入模型,其中包含主题的标题、类别、标签以及帖子内容等信息。

问:我可以从相关主题推荐中排除某些主题吗?
答:是的,可以通过站点设置来排除已关闭的主题。

问:嵌入模型是否适用于历史帖子?
答:是的,系统会自动为所有历史内容回填嵌入模型。

额外资源