Наша команда использует форум на платформе Discourse, размещённый на хостинге Discourse. В настоящее время мы подписаны на тарифный план «Business», поэтому мой вопрос: можем ли мы использовать плагин «Discourse AI Topic Summary»? Не уверен, включён ли он в наш текущий план или нам нужно перейти на тариф «Enterprise».
Иногда ИИ проявляет слишком много креативности, несмотря на наши инструкции, поэтому вы можете ограничить его набором уже существующих тегов.
Для этого вы можете быстро создать пользователя без прав администратора через консоль Rails, используя команду:
rake admin:create (не давайте этому пользователю права администратора!)
(Это немного хакерское решение, поскольку текущий «внутренний API» Discourse для тегирования не позволяет указать «не создавать новые теги». На данный момент единственный простой способ предотвратить это — создать пользователя, у которого нет такой привилегии (то есть уровень доверия ниже min_trust_to_create_tag)).
Новая функциональность функции — это тоже то, на что мы обращаем внимание. Идея получать согласованные структурированные данные в ответ на вызов API звучит очень захватывающе! И кто может быть против более длинного контекста?
Однако, касательно вашего первоначального тезиса: использование gpt-3.5-16k обходится почти в 7 раз дешевле, чем использование Davinci для этой цели, несмотря на огромный рост контекста.
За последние 24 часа я уже заметил «выравнивание» своей кривой расходов.
Да, вы можете повторно использовать токен, это не проблема.
Пользователь в этом плагине используется только для ограничения выбора тегов… если вы будете повторно использовать одного и того же пользователя AIBot, у него, скорее всего, будут права на создание новых тегов, поскольку он, вероятно, обладает высокими привилегиями для публикации везде. Я не пробовал, но, возможно, вы можете установить для AIBot низкий уровень TL.
Если вам не возражаете создание новых тегов, то это нормально, но результаты обычно лучше, если предотвратить это.
Да, я бы создал или взял в пользование другого пользователя с уровнем доверия 2 и использовал его. Заблокировать его уровень доверия. И ограничить создание новых тегов для пользователей с уровнем доверия 3.
Это будет работать со старыми темами, но срабатывает при создании новых сообщений.
И простите, что так долго потребовалось для воспроизведения, анализа и исправления, но теперь с моделью Chat всё должно работать:
Проблема заключалась в том, что я не использовал модель Chat для тегирования до недавнего времени… а потом у меня ушло некоторое время, чтобы заметить эту проблему.
sudo ./launcher rebuild app
Вы указываете gem tokenizers в /var/www/discourse/plugins/discourse-ai/plugin.rb, однако он не существует!
discourse-topic-voting уже находится в последней совместимой версии
discourse-translator уже находится в последней совместимой версии
discourse-user-notes уже находится в последней совместимой версии
discourse-whos-online уже находится в последней совместимой версии
discourse-yearly-review уже находится в последней совместимой версии
docker_manager уже находится в последней совместимой версии
I, [2023-09-23T12:57:22.787693 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
ОШИБКА: при выполнении gem ... (Gem::RemoteFetcher::FetchError)
слишком много сбросов соединений (Gem::RemoteFetcher::FetchError)
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request.rb:250:in `rescue in perform_request'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request.rb:194:in `perform_request'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request.rb:155:in `fetch'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:310:in `request'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:210:in `fetch_http'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:249:in `fetch_path'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:286:in `cache_update_path'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:157:in `rescue in download'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:142:in `download'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/source.rb:208:in `download'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/resolver/specification.rb:113:in `download'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/resolver/specification.rb:99:in `install'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:280:in `block in install_into'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:272:in `each'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:272:in `install_into'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:148:in `install'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:215:in `install_gem'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:231:in `block in install_gems'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:224:in `each'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:224:in `install_gems'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:170:in `execute'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command.rb:328:in `invoke_with_build_args'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:253:in `invoke_command'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:193:in `process_args'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:151:in `run'
/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/gem_runner.rb:52:in `run'
/usr/local/bin/gem:12:in `<main>'
I, [2023-09-23T13:23:20.135088 #1] INFO -- : gem install tokenizers -v 0.3.3 -i /var/www/discourse/plugins/discourse-ai/gems/3.2.2 --no-document --ignore-dependencies --no-user-install
Вы указываете gem tokenizers в /var/www/discourse/plugins/discourse-ai/plugin.rb, однако он не существует!
Искалось:
- /var/www/discourse/plugins/discourse-ai/gems/3.2.2/specifications/tokenizers-0.3.3.gemspec
- /var/www/discourse/plugins/discourse-ai/gems/3.2.2/specifications/tokenizers-0.3.3-x86_64-linux.gemspec
- /var/www/discourse/plugins/discourse-ai/gems/3.2.2/specifications/tokenizers-0.3.3-x86_64-linux.gemspec
I, [2023-09-23T13:23:20.135292 #1] INFO -- : Завершение асинхронных процессов
I, [2023-09-23T13:23:20.135305 #1] INFO -- : Отправка INT для HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 41
I, [2023-09-23T13:23:20.135317 #1] INFO -- : Отправка TERM для exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 110
110:signal-handler (1695475400) Получен SIGTERM, планирование завершения...
2023-09-23 13:23:20.135 UTC [41] LOG: получен запрос быстрого завершения
2023-09-23 13:23:20.152 UTC [41] LOG: прерывание всех активных транзакций
2023-09-23 13:23:20.154 UTC [41] LOG: фоновый рабочий "logical replication launcher" (PID 50) завершился с кодом выхода 1
2023-09-23 13:23:20.155 UTC [45] LOG: завершение работы
2023-09-23 13:23:20.198 UTC [41] LOG: система баз данных завершена
110:M 23 Sep 2023 13:23:20.223 # Пользователь запросил завершение...
110:M 23 Sep 2023 13:23:20.223 * Сохранение финального снимка RDB перед выходом.
110:M 23 Sep 2023 13:23:20.286 * База данных сохранена на диск
110:M 23 Sep 2023 13:23:20.286 # Redis готов к выходу, до свидания...
ОШИБКА
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершилась с кодом возврата #<Process::Status: pid 1163 exit 255>
Место возникновения ошибки: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
Загрузка не удалась с кодом выхода 255
** НЕ УДАЛОСЬ ЗАПУСТИТЬ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть больше одной.
./discourse-doctor может помочь диагностировать проблему.
d793fa4559a2f3b78d3bc76c74387dbbaf131de653790d71915713b4a6529f05