Discourse AI — руководство по самостоятельному размещению

Это руководство предназначено для самостоятельного запуска экземпляров сервисов, обеспечивающих работу модулей Discourse AI.

Введение

Если вы хотите использовать Discourse AI на своём самостоятельно размещённом экземпляре, возможно, вам потребуется также запустить сопутствующие сервисы для модулей, которые вы планируете включить.

Каждый модуль требует один или несколько сопутствующих сервисов, и эти сервисы потребляют больше ресурсов ЦП / ГП / дискового пространства, чем сам Discourse. Поэтому имейте в виду, что это не рекомендуется для людей, не знакомых с администрированием Linux-серверов и Docker.

Суммаризация / AI Helper / AI Bot

Векторные представления (Embeddings)

Анализ тональности (Sentiment)

Запуск в промышленной среде

При развёртывании на живом сайте вы можете захотеть разместить этот сервис за обратным прокси-сервером для включения таких функций, как балансировка нагрузки, TLS, проверки работоспособности, ограничение скорости и т. д.

После запуска сервиса настройте модуль на подключение к домену, где работает сервис, через административный интерфейс (Администрирование > Плагины > Discourse AI), а затем включите модуль.

41 лайк

Возможно ли использование помощника Composer при самостоятельной установке?

Приветствуем команду за эту разработку и реализацию :fire::raising_hands:

5 лайков

Composer Helper на данный момент работает только с API OpenAI или Anthropic, поэтому в случае самостоятельного размещения он будет работать без проблем, если у вас есть доступ к одному из этих API.

7 лайков

Композитор Хелпер у меня запущен, спасибо!

Для функции Суммаризация требуется локальная служба классификации? Или она будет работать только с ключом API OpenAI при использовании модели ChatGPT 3.5? Я включил её, но не вижу её в темах.

3 лайка

Согласно Discourse AI - Суммаризация, вы можете использовать её с OpenAI, настроив ключ OpenAI (что вы уже сделали), выбрав одну из моделей GPT в качестве модели суммаризации и включив модуль суммаризации.

Кнопка «Сумма» в настоящее время отображается только для тем с более чем 50 ответами, но скоро мы включим её для всех тем.

7 лайков

Не могли бы вы поделиться примерами запросов? Я сейчас пытаюсь настроить это в AWS ASG на экземпляре EC2, но у меня не получается; в логах Discourse я вижу только ошибку 400 (Bad Request).

Кроме того, было бы здорово добавить URL для проверки работоспособности: запрос к / возвращает ошибку 404.

1 лайк

Эндпоинты для проверки работоспособности — это /srv/ok и /health.

На скорую руку, что-то вроде:

jo -p model=bart-large-cnn-samsum content="Здесь длинное предложение для суммаризации" | \
  curl --json @- -XPOST http://service/api/v1/classify

Для сервиса суммаризации это должно сработать.

4 лайка

Можете ли вы предложить использовать службу суммирования на localhost с проверкой работоспособности из модуля Nginx, если нас устраивают ограничения и нагрузка?

Я просто хочу попробовать модели с открытым исходным кодом; пока что нам удалось настроить работу с ключами API OpenAI.

Планируется ли включить поддержку нескольких языков в функции суммирования с использованием моделей, совместимых с ChatGPT3.5?

1 лайк

Если это именно то, что вам нужно, то да, это должно работать.

Суммирование уже работает с API OpenAI и Anthropic, что обеспечит вам поддержку нескольких языков. Возможно, вам придётся немного доработать код, чтобы перевести промпт и тем самым сохранить привязку к языку темы.

3 лайка

Хорошие новости от AWS: Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

2 лайка

@Falco Не могли бы вы привести пример конфигурации сервера с «достаточным количеством CPU / GPU / дискового пространства», который способен запускать самообслуживаемый ИИ одновременно с обычным форумом Discourse?

1 лайк

Я тоже хотел бы это увидеть, пожалуйста. Также, учитывая требования к ресурсам, было бы лучше (возможно, более рентабельно) вынести сервисы AI-компаньона на отдельный VPS?

пример конфигурации сервера

1 лайк

Зависит от конкретных моделей и модулей Discourse AI, которые вы планируете запускать. Например, модуль токсичности использует 5 ГБ, а модуль NSFW — 1 ГБ оперативной памяти. Требования к дисковому пространству аналогичны, а процессор/видеокарта используются для вывода, поэтому ваши потребности зависят от ожидаемого количества запросов в секунду.

Да, это, вероятно, лучший способ.

5 лайков

Хорошо, я попытался это рассчитать:

Прикидочные оценки:

API ChatGPTv4

  • $0.0008 за 100 слов
  • 1 пользователь в среднем использует около 100 слов (или токенов) в день на каждом модуле ИИ
  • Запуск всех 6 модулей ИИ
    $0.0008 * 6 = $0.0048

Общая ежемесячная стоимость на одного пользователя: $0.0048 * 30 = $0.144

Минимальные требования к серверу для самостоятельного размещения составляют примерно:

  • 16 ГБ свободной оперативной памяти (предпочтительно 32 ГБ)
  • Процессор с частотой 3.5 ГГц или выше и 8 ядрами или более
  • 100 ГБ SSD

Сервер с наименьшей стоимостью, отвечающий этим требованиям в Digital Ocean:

  • 16 ГБ ОЗУ
  • 8 премиальных виртуальных ядер Intel (более 3.5 ГГц)
  • Пропускная способность: 6,000 ГиБ
  • SSD: 2 × 200 ГиБ
  • Ежемесячная стоимость: $244.00

Таким образом, самостоятельное размещение ChatGPT4 будет более экономически эффективным, чем использование его API-сервиса, когда в Discourse насчитывается около 2,000 активных пользователей в месяц.

С учетом довольно приблизительных и щедрых округлений. Звучит это примерно правильно, @Falco?

1 лайк

Самостоятельно разместить GPT-4 или 3.5 невозможно.

Некоторые большие языковые модели (LLM) имеют открытый исходный код, например Falcon или различные модели на базе LLaMA (которые сопровождаются вопросами лицензирования), и их можно разместить самостоятельно. Однако на сегодняшний день все они уступают по производительности GPT-4 или даже 3.5.

Ваши приблизительные расчеты «на салфетке» сильно ошибочны. Если вы планируете самостоятельно размещать LLM, вам, скорее всего, понадобятся A100 или H100, возможно, даже несколько штук… Попробуйте погуглить цены…

3 лайка

Думаю, именно это и получаешь, когда используешь ChatGPT, чтобы подсчитать затраты на самохостинг ChatGPT.

7 лайков

В любом случае, я постараюсь внести свой вклад и вернусь, чтобы обновить информацию, когда у меня будут данные пользователей для сравнения.

Вот расчёты, которые я провёл для использования API ChatGPT3.5 с вышеупомянутыми модулями, исходя из очень приблизительного предположения, что средний активный пользователь за один месяц в среднем генерирует 100 слов за одно выполнение:

Расходы на API ChatGPT3.5

  • $0.0003 за 100 слов за одно выполнение
  • 1 активный пользователь в среднем генерирует около 100 слов в день для каждого модуля ИИ

Средняя месячная стоимость на один плагин/компонент ИИ: 0.009

  • 6 = $0.054

Таким образом, общая ежемесячная стоимость на одного пользователя для всех 6 плагинов составляет $0.054, если они работают на ChatGPT3.5.

Мы только что запустили здесь сервисы ИИ для Meta на инстансе g4dn.xlarge, поэтому теперь могу рекомендовать его в качестве базового варианта.

1 лайк

Спасибо. Здесь указана текущая стоимость для тех, кто интересуется, что такое g4dn.xlarge. Надеемся, что вы сможете в будущем опубликовать данные об использовании, чтобы мы могли оценить реальные затраты.

1 лайк

Машина практически простаивает, обрабатывая только трафик Meta. Она легко справится с трафиком от нескольких аккаунтов Meta.

1 лайк