Это руководство объясняет, как включить и настроить функцию «Связанные темы» для плагина Discourse AI.
Требуемый уровень доступа пользователя: Администратор
Функция «Связанные темы» помогает пользователям находить релевантный контент, предлагая семантически схожие темы на основе той, которую они читают в данный момент. Это улучшает навигацию по контенту и повышает вовлечённость пользователей.
Возможности
- Семантическое сходство текстов: Поиск действительно связанных материалов выходит за рамки простого совпадения ключевых слов.
- Переключение между темами в разделах «Предложенные» и «Связанные».
- Доступно как для анонимных, так и для авторизованных пользователей.
Включение функции «Связанные темы»
Функция «Связанные темы» включена по умолчанию для всех клиентов Discourse с хостингом, у которых активирован плагин Discourse AI.
Предварительные требования
Для работы функции «Связанные темы» необходимы Embeddings.
Если вы используете наш хостинг, Embeddings предоставляются с использованием модели с открытым исходным кодом. Дополнительная настройка не требуется.
Для самостоятельно размещённых (self-hosted)实例 необходимо настроить модель embeddings через поддерживаемого провайдера.
Конфигурация
- Перейдите в раздел Администрирование → Плагины → Discourse AI → Возможности ИИ.
- Найдите модуль Embeddings и настройте его:
- Установите
ai_embeddings_selected_modelв значение определения модели embeddings, которое вы настроили. - Включите параметр
ai_embeddings_enabled, чтобы активировать Embeddings.
- Установите
- Включите параметр
ai_embeddings_semantic_related_topics_enabled, чтобы активировать функцию «Связанные темы».
Настройка модели embeddings
Перед включением embeddings необходимо настроить модель. Перейдите в раздел Администрирование → Плагины → Discourse AI → Embeddings, чтобы создать новое определение модели. Вы можете выбрать из нескольких предустановок:
- Open AI:
text-embedding-3-smallилиtext-embedding-3-large(рекомендуется для большинства сайтов). - Google:
gemini-embedding-001. - Hugging Face (собственный инференс):
multilingual-e5-large(рекомендуется для сайтов на других языках или многоязычных сайтов),bge-large-enилиbge-m3.
Вам потребуется предоставить API-ключ (или связать его с AI Secret) и 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).
Технический FAQ
Развернуть, чтобы просмотреть схему архитектуры функции «Связанные темы»
Общий процесс выглядит следующим образом: при создании или обновлении темы происходит следующее:
sequenceDiagram
User->>Discourse: Создаёт тему
Discourse-->>Embedding Microservice: Генерирует embeddings
Embedding Microservice-->>Discourse:
Discourse-->>PostgreSQL: Сохраняет embeddings
А при посещении темы:
sequenceDiagram
User->>Discourse: Посещает тему
Discourse-->>PostgreSQL: Запрашивает ближайшие темы
PostgreSQL-->>Discourse:
Discourse->>User: Отображает связанные темы
Как работает функция «Связанные темы»?
- Когда пользователь посещает тему, Discourse запрашивает базу данных на предмет наиболее семантически похожих тем на основе их векторных представлений (embeddings). Затем эти связанные темы отображаются пользователю, побуждая его к дальнейшему изучению контента сообщества.
Как обрабатываются данные тем/сообщений?
- Для сайтов на хостинге Discourse данные обрабатываются в нашем защищённом частном дата-центре. Для самостоятельно размещённых сайтов обработка данных зависит от выбранного вами стороннего провайдера.
Где хранятся данные embeddings?
- Данные embeddings хранятся в вашей базе данных Discourse наряду с другими данными форума, такими как темы, сообщения и пользователи.
Какие модели embeddings доступны?
- Discourse AI поддерживает модели от OpenAI (
text-embedding-3-small,text-embedding-3-large), Google (gemini-embedding-001), совместимые с Hugging Face конечные точки (bge-large-en,bge-m3,multilingual-e5-large) и Cloudflare Workers AI. Вы также можете настроить пользовательские модели embeddings через интерфейс администратора.



