さて、SSL付きのDiscourse(アプリコンテナ)内でエンドポイントをテストしましたが、動作しました。ただし、Discourse AI UIのテストからは動作しませんでした。
プロバイダーには「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'
不審な点があり、数週間かけて解決を試みています。
すでに以下を試しました:
編集 1: DISCOURSE_ALLOWED_INTERNAL_HOSTS: 172.16.X.X (LiteLLMコンテナのIP、127.0.0.1、およびSSL終端処理されたLLMドメインホスト。ここには設定しないことが理解できます)
編集 2: また、MCPサーバー(MCP discourse-aiタブの設定)の設定画面に入ろうとした際にも、同じ500エラーが発生していることがわかりました。