Olá a todos,
Estamos explorando o Discourse AI para fornecer um assistente conversacional dentro do nosso fórum Discourse, ajudando os usuários com navegação, recursos, categorias, tópicos e perguntas gerais relacionadas ao fórum.
Temos acesso às nossas próprias APIs de LLM para GPT e Claude da organização, e gostaríamos de entender como esses modelos podem ser configurados como provedores dentro do Discourse AI. Nosso objetivo é usar as capacidades dos LLMs para construir um assistente conversacional mais contextual dentro do nosso Discourse.
Configuração Atual do LLM
Atualmente, temos acesso a um endpoint de API interno compatível com OpenAI:
Endpoint:
https://genai-nexus.api.corpinter.net/openai/deployments/gpt-5.5/chat/completions?api-version=2024-10-21
Modelo:
gpt-5.5
Estamos particularmente interessados em orientações de quem configurou o Discourse AI com um gateway de API interno/empresarial compatível com OpenAI , em vez de usar diretamente a API pública da OpenAI.
Qualquer exemplo de configuração ou recomendação seria muito apreciado.
Obrigado desde já!
Falco
(Falco)
Agosto 17, 2026, 5:21pm
2
Selecione openai como provedor e configure a URL com a que você possui.
Já tentei selecionar o OpenAI como provedor, mas ainda não consigo configurar.
Existe outra maneira ou alguma recomendação?
kddkd
(用户16)
Agosto 17, 2026, 6:00pm
4
Eu também uso essa API. Meu ID de modelo é gpt-5.6-sol e está funcionando normalmente no momento.
Pode me dizer como você configurou? Para mim, não está funcionando depois de fornecer todos os detalhes.
kddkd
(用户16)
Agosto 17, 2026, 6:26pm
6
No painel de administração, em AI-LLM-Modelos LLM não configurados , selecione GPT-5.6 Sol e insira as duas informações fornecidas pela API de terceiros:
URL do serviço que hospeda o modelo: por exemplo ai.com/v1/responses
Chave de API do serviço que hospeda o modelo: fornecida pelo terceiro
Abaixo, você pode clicar no botão “Executar teste”. Se falhar, pode ser porque o formato da URL está incorreto.
Sim, após fornecer todas essas informações, estou recebendo a mensagem de erro interno do servidor
kddkd
(用户16)
Agosto 17, 2026, 6:55pm
8
Testei seu URL e ele não retornou as informações da sua imagem. Poderia me dizer em qual página essas informações estão?
O resultado do teste sem inserir a chave da API foi: Falha na requisição não streaming: {“message”:“Unauthorized”}
kddkd
(用户16)
Agosto 17, 2026, 6:56pm
9
Parece que você precisa fazer um print da sua página de configuração completa
Moin
Agosto 17, 2026, 8:03pm
11
Há um erro mais detalhado nos logs em forum.example.com/logs?
Se você estiver usando seu IP interno, precisa adicionar o domínio ao filtro de segurança em DISCOURSE_ALLOWED_INTERNAL_HOSTS
Estes são os logs
plugins/discourse-ai/lib/completions/dialects/dialect.rb:217:in 'DiscourseAi::Completions::Dialects::Dialect#trim_messages'
plugins/discourse-ai/lib/completions/dialects/dialect.rb:140:in 'DiscourseAi::Completions::Dialects::Dialect#translate'
plugins/discourse-ai/lib/completions/endpoints/base.rb:126:in 'DiscourseAi::Completions::Endpoints::Base#perform_completion!'
plugins/discourse-ai/lib/completions/endpoints/open_ai.rb:54:in 'DiscourseAi::Completions::Endpoints::OpenAi#perform_completion!'
plugins/discourse-ai/lib/completions/llm.rb:439:in 'DiscourseAi::Completions::Llm#generate'
plugins/discourse-ai/lib/configuration/llm_validator.rb:36:in 'DiscourseAi::Configuration::LlmValidator#run_test'
plugins/discourse-ai/app/controllers/discourse_ai/admin/ai_llms_controller.rb:159:in 'DiscourseAi::Admin::AiLlmsController#test'
actionpack (8.0.4) lib/action_controller/metal/basic_implicit_render.rb:8:in 'ActionController::BasicImplicitRender#send_action'
actionpack (8.0.4) lib/abstract_controller/base.rb:215:in 'AbstractController::Base#process_action'
activesupport (8.0.4) lib/active_support/callbacks.rb:120:in 'block in ActiveSupport::Callbacks#run_callbacks'
app/controllers/application_controller.rb:442:in 'block in ApplicationController#with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in 'I18n::Base#with_locale'
app/controllers/application_controller.rb:442:in 'ApplicationController#with_resolved_locale'
actionpack (8.0.4) lib/action_dispatch/routing/route_set.rb:908:in 'ActionDispatch::Routing::RouteSet#call'
lib/middleware/omniauth_bypass_middleware.rb:35:in 'Middleware::OmniauthBypassMiddleware#call'
lib/middleware/crawler_hooks.rb:11:in 'Middleware::CrawlerHooks#call'
rack (2.2.23) lib/rack/tempfile_reaper.rb:15:in 'Rack::TempfileReaper#call'
rack (2.2.23) lib/rack/conditional_get.rb:27:in 'Rack::ConditionalGet#call'
rack (2.2.23) lib/rack/head.rb:12:in 'Rack::Head#call'
actionpack (8.0.4) lib/action_dispatch/middleware/cookies.rb:706:in 'ActionDispatch::Cookies#call'
actionpack (8.0.4) lib/action_dispatch/middleware/callbacks.rb:31:in 'block in ActionDispatch::Callbacks#call'
activesupport (8.0.4) lib/active_support/callbacks.rb:100:in 'block in ActiveSupport::Callbacks#run_callbacks'
actionpack (8.0.4) lib/action_dispatch/middleware/debug_exceptions.rb:31:in 'ActionDispatch::DebugExceptions#call'
actionpack (8.0.4) lib/action_dispatch/middleware/show_exceptions.rb:32:in 'ActionDispatch::ShowExceptions#call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in 'Logster::Middleware::Reporter#call'
lib/middleware/default_headers.rb:13:in 'Middleware::DefaultHeaders#call'
railties (8.0.4) lib/rails/rack/logger.rb:41:in 'Rails::Rack::Logger#call_app'
railties (8.0.4) lib/rails/rack/logger.rb:29:in 'Rails::Rack::Logger#call'
lib/middleware/enforce_hostname.rb:23:in 'Middleware::EnforceHostname#call'
rack (2.2.23) lib/rack/method_override.rb:24:in 'Rack::MethodOverride#call'
actionpack (8.0.4) lib/action_dispatch/middleware/executor.rb:16:in 'ActionDispatch::Executor#call'
rack (2.2.23) lib/rack/sendfile.rb:127:in 'Rack::Sendfile#call'
rack-mini-profiler (4.0.1) lib/mini_profiler.rb:191:in 'Rack::MiniProfiler#call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in 'MessageBus::Rack::Middleware#call'
lib/middleware/request_tracker.rb:321:in 'Middleware::RequestTracker#call'
actionpack (8.0.4) lib/action_dispatch/middleware/remote_ip.rb:96:in 'ActionDispatch::RemoteIp#call'
lib/middleware/overload_protections.rb:22:in 'Middleware::OverloadProtections#call'
lib/middleware/processing_request.rb:14:in 'Middleware::ProcessingRequest#call'
railties (8.0.4) lib/rails/engine.rb:535:in 'Rails::Engine#call'
railties (8.0.4) lib/rails/railtie.rb:226:in 'Kernel#public_send'
railties (8.0.4) lib/rails/railtie.rb:226:in 'Kernel#method_missing'
rack (2.2.23) lib/rack/urlmap.rb:74:in 'block in Rack::URLMap#call'
rack (2.2.23) lib/rack/urlmap.rb:58:in 'Array#each'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in 'Unicorn::HttpServer#process_client'
unicorn (6.1.0)
Alguma sugestão ou recomendação sobre os logs que compartilhei, quanto ao que devo fazer a seguir?
No meu caso, tentei alterar o valor da Context window, por exemplo, para 200000 ou 128000.