Ciao a tutti,
Stiamo valutando l’utilizzo di Discourse AI per fornire un assistente conversazionale all’interno del nostro forum Discourse, in grado di aiutare gli utenti con la navigazione, le funzionalità, le categorie, gli argomenti e domande generali relative al forum.
Abbiamo accesso alle nostre API LLM interne per GPT e Claude e vorremmo capire come configurare questi modelli come provider all’interno di Discourse AI. Il nostro obiettivo è sfruttare le capacità dei LLM per creare un assistente conversazionale più contestualizzato all’interno del nostro Discourse.
Configurazione LLM attuale
Al momento abbiamo accesso a un endpoint API interno compatibile con OpenAI:
Endpoint:
https://genai-nexus.api.corpinter.net/openai/deployments/gpt-5.5/chat/completions?api-version=2024-10-21
Modello:
gpt-5.5
Siamo particolarmente interessati a ricevere indicazioni da chiunque abbia configurato Discourse AI con un gateway API interno/enterprise compatibile con OpenAI , anziché utilizzare direttamente l’API pubblica di OpenAI.
Qualsiasi esempio di configurazione o raccomandazione sarebbe molto apprezzato.
Grazie in anticipo!
Falco
(Falco)
17 Agosto 2026, 5:21pm
2
Seleziona openai come provider e configura l’URL con quello che hai.
Ho provato a selezionare OpenAI come provider, ma non riesco comunque a configurarlo.
C’è qualche altro metodo o qualche raccomandazione?
kddkd
(用户16)
17 Agosto 2026, 6:00pm
4
Anch’io sto utilizzando questo tipo di API; il mio ID modello è gpt-5.6-sol e al momento funziona correttamente.
Puoi dirmi come l’hai configurato? Per me non funziona anche dopo aver inserito tutti i dettagli.
kddkd
(用户16)
17 Agosto 2026, 6:26pm
6
Nella sezione AI-LLM-Template LLM non configurati del pannello di amministrazione, seleziona GPT-5.6 Sol e inserisci le due informazioni fornite dall’API di terze parti:
URL del servizio che ospita il modello: ad esempio ai.com/v1/responses
Chiave API del servizio che ospita il modello: fornita dal provider di terze parti
In basso è possibile cliccare sul pulsante “Esegui test”; in caso di fallimento, potrebbe essere dovuto a un formato errato dell’URL inserito.
Sì, dopo aver fornito tutte queste informazioni, ricevo un messaggio di errore del server interno
kddkd
(用户16)
17 Agosto 2026, 6:55pm
8
Ho testato il tuo URL, ma non ha restituito le informazioni relative a questa immagine. Potresti indicarmi su quale pagina si trovano queste informazioni?
Il risultato del test eseguito senza inserire la chiave API è stato: la richiesta non in streaming è fallita: {“message”:“Unauthorized”}
kddkd
(用户16)
17 Agosto 2026, 6:56pm
9
Sembra che tu abbia bisogno di fare uno screenshot della tua pagina di configurazione completa.
Moin
17 Agosto 2026, 8:03pm
11
C’è un errore più dettagliato nei log su forum.example.com/logs?
Se stai utilizzando il tuo IP interno, devi aggiungere il dominio al filtro di sicurezza in DISCOURSE_ALLOWED_INTERNAL_HOSTS
Ecco i log
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)
Hai qualche suggerimento o raccomandazione su cosa fare in merito ai log che ho condiviso?
Nel mio caso, prova a modificare il valore di Context window, ad esempio impostandolo su 200000 o 128000.