Плагин Discourse AI обладает множеством функций, требующих для работы векторных представлений (embeddings), таких как «Связанные темы», «Поиск с помощью ИИ», «Помощник ИИ» и предложения категорий и тегов. Хотя вы можете использовать сторонний API, например, настроить ключи API для OpenAI, настроить ключи API для Cloudflare Workers AI или настроить ключи API для Google Gemini, мы создали Discourse AI с первого дня так, чтобы не быть зависимыми от этих сервисов.
Запуск с использованием HuggingFace TEI
HuggingFace предоставляет отличный контейнерный образ, который позволит вам быстро запустить сервис.
Например:
mkdir -p /opt/tei-cache
docker run --rm --gpus all --shm-size 1g -p 8081:80 \
-v /opt/tei-cache:/data \
ghcr.io/huggingface/text-embeddings-inference:latest \
--model-id BAAI/bge-large-en-v1.5
Это позволит вам запустить локальный экземпляр модели BAAI/bge-large-en-v1.5 — очень эффективной модели с открытым исходным кодом.
Вы можете проверить, работает ли он, выполнив команду:
curl -X POST \
'http://localhost:8081/embed' \
-H 'Content-Type: application/json' \
-d '{ "inputs": "Testing string for embeddings" }'
При нормальной работе должен быть возвращён массив чисел с плавающей запятой.
Доступность для вашего экземпляра Discourse
Чаще всего этот сервис будет запускаться на выделенном сервере из-за ускорения работы GPU. В таком случае рекомендуется использовать обратный прокси-сервер, завершать TLS-соединения и обеспечить безопасность конечной точки, чтобы к ней мог подключаться только ваш экземпляр Discourse.
Настройка DiscourseAI
Discourse AI теперь использует полностью настраиваемую систему определения векторных представлений, аналогичную настройке больших языковых моделей (LLM). Чтобы настроить ваш самохостинговый конечный пункт:
- Перейдите в Администрирование → Плагины → Discourse AI → Векторные представления (Embeddings).
- Нажмите Создать, чтобы создать новое определение векторных представлений.
- Выберите шаблон, соответствующий вашей модели (например,
bge-large-en,bge-m3илиmultilingual-e5-large), или выберите Настроить вручную для любой другой модели. - Укажите URL, ведущий на ваш самохостинговый сервер TEI (например,
https://your-tei-server:8081). - Используйте кнопку Тест, чтобы проверить подключение перед сохранением.
- После сохранения установите параметр
ai_embeddings_selected_modelна ваше новое определение векторных представлений.
После настройки Discourse автоматически заполнит векторные представления для существующих тем с помощью запланированной фоновой задачи. Если у вас большая очередь, вы можете увеличить скрытый параметр ai_embeddings_backfill_batch_size (по умолчанию: 250), чтобы обрабатывать темы быстрее.