Что ж, я протестировал конечную точку с SSL внутри Discourse (в контейнере приложения), и она работает, но не проходит тест в интерфейсе Discourse AI.
Я использую провайдера ‘OpenAI’ с URL ‘https://llm.mydomain.tld/v1/chat/completions’. Учетные данные верны:
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/base.rb:182:in 'DiscourseAi::Completions::Endpoints::Base#perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/endpoints/open_ai_shared.rb:28:in 'DiscourseAi::Completions::Endpoints::OpenAiShared#perform_completion!'
/var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:214:in 'DiscourseAi::Completions::Llm#generate'
pitchfork-0.18.2/lib/pitchfork/soft_timeout.rb:46:in 'Pitchfork::SoftTimeout::Request#interrupt'
pitchfork-0.18.2/lib/pitchfork/soft_timeout.rb:94:in 'block (2 levels) in Pitchfork::SoftTimeout#create_timeout_thread'
pitchfork-0.18.2/lib/pitchfork/soft_timeout.rb:93:in 'Array#each'
pitchfork-0.18.2/lib/pitchfork/soft_timeout.rb:93:in 'block in Pitchfork::SoftTimeout#create_timeout_thread'
Это странно, и я пытаюсь разобраться в этом уже несколько недель.
Уже пробовал следующее:
EDIT 1: DISCOURSE_ALLOWED_INTERNAL_HOSTS: 172.16.X.X (IP-адрес контейнера LiteLLM, 127.0.0.1 и хост домена LLM с завершением SSL, как я понимаю, здесь указывать не нужно)
EDIT 2: И я вижу ту же ошибку 500 при попытке перейти к настройке моего MCP-сервера (конфигурация вкладки discourse-ai MCP).