Discourse AI - 相关主题

:bookmark: 本指南介绍如何启用和配置 Discourse AI 插件的“相关话题”功能。

:person_raising_hand: 所需用户级别:管理员

“相关话题”功能通过根据用户当前阅读的主题推荐语义上相似的主题,帮助用户发现相关内容。这增强了内容探索并提高了用户参与度。

功能

  • 语义文本相似度:超越关键词匹配,以查找真正相关的内容
  • 在“推荐”和“相关”话题之间切换
  • 对匿名和已登录用户均可用

启用“相关话题”

:information_source: 对于启用了 Discourse AI 插件的所有 Discourse 托管客户,“相关话题”功能默认开启。

先决条件

“相关话题”功能需要 Embeddings 才能运行。

如果您使用的是我们的托管服务,Embeddings 使用开源模型提供。无需额外设置。

自托管实例需要通过受支持的提供商配置嵌入模型。

配置

  1. 前往 管理 → 插件 → Discourse AI → AI 功能
  2. 找到 Embeddings 模块并进行配置:
    • ai_embeddings_selected_model 设置为您已配置的嵌入定义
    • 启用 ai_embeddings_enabled 以激活 Embeddings
  3. 启用 ai_embeddings_semantic_related_topics_enabled 以激活“相关话题”功能

设置嵌入模型

在启用嵌入功能之前,您需要配置一个嵌入模型。前往 管理 → 插件 → Discourse AI → Embeddings 以创建新的嵌入定义。您可以从以下几种预设中选择:

  • Open AItext-embedding-3-smalltext-embedding-3-large(推荐用于大多数站点)
  • Googlegemini-embedding-001
  • Hugging Face(自托管推理):multilingual-e5-large(推荐用于非英语或多语言站点)、bge-large-enbge-m3

您需要为所选提供商提供 API 密钥(或关联 AI 密钥)和端点 URL。

附加设置

以下设置允许您微调“相关话题”功能:

  • ai_embeddings_semantic_related_topics:在相关话题部分显示的最多话题数(默认值:5)
  • ai_embeddings_semantic_related_include_closed_topics:是否在相关结果中包含已关闭的话题(默认值:true)
  • ai_embeddings_semantic_related_age_penalty:对较旧的话题应用惩罚,以便优先显示较新的内容(默认值:0.0,范围:0.0–2.0)
  • ai_embeddings_semantic_related_age_time_scale:年龄惩罚的时间尺度,单位为天(默认值:365)

技术常见问题

展开以查看“相关话题”架构图

概述如下:当创建一个/更新一个话题时,会发生以下情况:

sequenceDiagram
    User->>Discourse: 创建话题
    Discourse-->>Embedding Microservice: 生成嵌入
    Embedding Microservice-->>Discourse: 
    Discourse-->>PostgreSQL: 存储嵌入

在访问话题时:

sequenceDiagram
    User->>Discourse: 访问话题
    Discourse-->>PostgreSQL: 查询最接近的话题
    PostgreSQL-->>Discourse: 
    Discourse->>User: 显示相关话题

“相关话题”如何工作?

  • 当用户访问一个话题时,Discourse 会根据其嵌入表示向数据库查询语义上最相似的话题。然后将这些相关话题展示给用户,鼓励用户进一步探索社区的内容。

话题/帖子数据如何处理?

  • 对于 Discourse 托管站点,数据在我们安全的虚拟私有数据中心内处理。对于自托管站点,数据处理取决于您选择的第三方提供商。

嵌入数据存储在哪里?

  • 嵌入数据与话题、帖子和用户等其他论坛数据一起存储在您的 Discourse 数据库中。

有哪些嵌入模型可用?

  • Discourse AI 支持来自 OpenAI(text-embedding-3-smalltext-embedding-3-large)、Google(gemini-embedding-001)、Hugging Face 兼容的端点(bge-large-enbge-m3multilingual-e5-large)以及 Cloudflare Workers AI 的模型。您也可以通过管理界面配置自定义嵌入模型。
14 个赞