Collega Open WebUI a un endpoint personalizzato compatibile OpenAI.

Updated 2026-07-29

Open WebUI tratta le connessioni compatibili OpenAI come un'impostazione admin di prima classe: aggiungi una connessione sotto Admin Settings con https://api.apisrouter.com/v1 e una chiave, e ogni modello del catalogo compare nel selettore di modelli per tutti i tuoi utenti, accanto a qualsiasi cosa giri in locale.

Risposta rapida: una connessione in Admin Settings.

Come admin, apri Admin Settings, vai su Connections, e sotto la sezione OpenAI API clicca per aggiungere una connessione. Due campi contano: l'URL, impostato su https://api.apisrouter.com/v1, e la chiave API. Salva, e Open WebUI interroga l'elenco /v1/models dell'endpoint per popolare il selettore di modelli; verifica con il controllo di verifica della connessione, poi scegli un qualsiasi id di catalogo in una nuova chat. Le connessioni aggiunte in questo modo sono a livello di workspace: ogni utente della tua istanza Open WebUI vede i modelli, soggetti a qualunque controllo di accesso ai modelli tu configuri. Gli stessi valori possono invece essere spediti come variabili d'ambiente al momento del deploy, OPENAI_API_BASE_URL e OPENAI_API_KEY, che è il percorso più pulito quando l'istanza è provisionata da file compose piuttosto che cliccata in forma.

URL:      https://api.apisrouter.com/v1
API Key:  sk-YOUR-APISROUTER-KEY

Save → models auto-populate from /v1/models
(optional) Model IDs allowlist to curate the selector

Come Open WebUI usa le connessioni OpenAI.

Open WebUI (circa 145K stelle su GitHub) è il front-end di chat AI self-hosted predefinito: un client web completo con utenti e permessi, RAG e collezioni di knowledge, tool calling, e gestione dei modelli, classicamente abbinato a Ollama per i modelli locali ma altrettanto a suo agio a parlare con API remote. Il suo modello di connessione è additivo. La sezione Ollama copre i runtime locali; la sezione OpenAI API copre qualsiasi endpoint che parli il dialetto chat-completions standard, e puoi aggiungere diverse connessioni fianco a fianco. Ogni connessione contribuisce la sua lista di modelli al selettore condiviso, ciascuna ha la propria chiave, e ciascuna può essere disattivata senza eliminare la sua configurazione. Le richieste portano l'id del modello come semplice stringa verso qualunque connessione lo serva. Questo design significa che una connessione gateway non sposta nulla: i tuoi modelli locali continuano a girare tramite Ollama senza costo per token, mentre claude-sonnet-4-6, gpt-5.5, gemini-3.5-flash e deepseek-v4-pro diventano voci del selettore per le conversazioni che hanno bisogno di qualità di frontiera. Una chiave li copre tutti, e l'utilizzo lato admin resta leggibile perché il traffico cloud esce esattamente da un unico posto.

Configurazione al momento del deploy: variabili d'ambiente.

Per i deployment docker-compose e Kubernetes, la connessione può far parte del manifesto. OPENAI_API_BASE_URL prende l'endpoint e OPENAI_API_KEY la chiave; l'istanza si avvia con la connessione già presente. Endpoint multipli sono supportati tramite le forme plurali (OPENAI_API_BASE_URLS e OPENAI_API_KEYS con valori separati da punto e virgola) se fai girare più di una fonte remota. Due note operative. Primo, i valori impostati tramite la UI persistono nel database di Open WebUI e hanno precedenza sui default d'ambiente dopo il primo avvio, un comportamento documentato che regolarmente sorprende gli operatori che cambiano l'env e non vedono succedere nulla; modifica le connessioni esistenti in Admin Settings, oppure imposta ENABLE_PERSISTENT_CONFIG=false se vuoi che l'ambiente resti autorevole. Secondo, se l'elenco dei modelli dell'endpoint è grande, usa la allowlist Model IDs della connessione per curare cosa vedono i tuoi utenti; un selettore di quattro voci viene usato, uno di duecento voci viene scorso oltre. Nota di versione: la formulazione dei menu è cambiata attraverso il ritmo di release veloce del progetto (Settings vs Admin Settings, nomi delle sezioni dentro Connections), quindi sulle build più vecchie cerca la coppia base URL e chiave OpenAI API ovunque risiedano le connessioni.

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    environment:
      - OPENAI_API_BASE_URL=https://api.apisrouter.com/v1
      - OPENAI_API_KEY=sk-YOUR-APISROUTER-KEY
    ports:
      - "3000:8080"

Scegliere modelli per uno spazio di lavoro multi-utente.

Con ogni modello cloud che fattura attraverso una chiave, il test A/B è una scelta nel selettore. Esegui lo stesso carico di lavoro del team a due settimane di distanza su due default candidati e lascia che la vista di utilizzo per modello nella console di APIsRouter arbitri, per modello e per giorno, invece di indovinare dai benchmark.

  • La scelta del modello predefinito fa la maggior parte del lavoro in un'istanza condivisa. claude-haiku-4-5-20251001 o gemini-3.5-flash come default del workspace mantiene piatto il costo per conversazione dell'uso casuale.
  • claude-sonnet-4-6 e gpt-5.5 appartengono al selettore per bozze, analisi, e domande di codice; gli utenti salgono di livello quando il task lo merita.
  • Le pipeline RAG moltiplicano i token di input: ogni risposta porta chunk recuperati. deepseek-v4-pro vale la pena testarlo come cavallo di battaglia RAG, dove la gestione a contesto lungo per token speso è il tratto decisivo.
  • Mantieni il materiale davvero privato sui modelli locali tramite Ollama e instrada tutto il resto attraverso il gateway; il selettore mantiene entrambe le corsie onestamente.
  • Usa la allowlist Model IDs come policy: ciò che non è nel selettore non può sorprenderti nel log di utilizzo.

Pagamento a consumo · sotto i prezzi ufficiali

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModelloPrezzo ufficialeIl nostro prezzo
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M

Modalità di errore specifiche di Open WebUI.

Nessun modello che compare dopo aver aggiunto la connessione è la segnalazione più comune. Le cause in ordine: la chiave ha fallito contro /v1/models (controllala con il controllo di verifica della connessione), all'URL manca il suffisso /v1, oppure il toggle della connessione è disattivato. Open WebUI costruisce il selettore da ciò che l'elenco restituisce, quindi un selettore vuoto significa che la chiamata dell'elenco è fallita o non ha restituito nulla. I cambiamenti d'ambiente che sembrano ignorati sono la regola della config persistente descritta sopra: dopo il primo avvio, il database vince sull'ambiente per le impostazioni che la UI gestisce. Modifica la connessione in Admin Settings oppure disabilita esplicitamente la config persistente. Un modello che è elencato ma dà errore in chat di solito è un id che l'elenco espone ma che la tua chiave non può usare, o un errore di battitura introdotto modificando a mano la allowlist Model IDs; confronta con l'output grezzo di /v1/models. E mantieni le corsie distinte durante il debug: i problemi di connessione Ollama e i problemi di connessione OpenAI sembrano identici dalla finestra della chat. La pagina Connections mostra a quale corsia appartiene un modello; testa direttamente la corsia che fallisce prima di dare per scontato che l'intera istanza sia giù.

Chi instrada Open WebUI tramite un gateway.

  • Team che self-hostano un unico front-end di chat per tutti e vogliono modelli di frontiera disponibili senza emettere chiavi fornitore ai singoli utenti.
  • Utenti Ollama che mantengono modelli locali per il lavoro privato ma vogliono la qualità di Claude e GPT nello stesso selettore per le conversazioni che ne hanno bisogno.
  • Admin che hanno bisogno della fattura cloud leggibile: una connessione, una chiave, e un log di utilizzo per modello invece di ricevute da quattro fornitori.
  • Operatori in regioni dove alcune registrazioni fornitore sono dolorose; l'accesso basato su ricarica senza obbligo di carta rimuove la dipendenza per provider.
  • Homelabber che fanno girare Open WebUI per la famiglia, dove un unico saldo prepagato è più facile da ragionare rispetto a qualsiasi abbonamento.

Verifica l'endpoint e fai debug della prima chat.

Dimostra prima l'endpoint dal server, specialmente nei deployment containerizzati dove la rete del container non è quella del tuo laptop. Un elenco di modelli e una chat completion dall'interno dell'host confermano la metà gateway prima che Open WebUI entri nel quadro. Poi aggiungi la connessione e guarda il selettore popolarsi. Gli errori di autenticazione sono il campo chiave; un selettore vuoto è la chiamata dell'elenco; un percorso raddoppiato (/v1/v1/...) nei log del server significa che il campo URL portava già un /v1 e qualcosa ne ha aggiunto un altro, quindi leggi l'URL esattamente come salvato. Una volta che le chat scorrono, la console di APIsRouter mostra modello per richiesta, conteggi dei token e spesa. Per un'istanza multi-utente questo è il numero che conta: quali modelli scelgono davvero i tuoi utenti, e quanto costa davvero una settimana del workspace, per modello, per giorno, in un'unica pagina.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-4-5-20251001",
       "messages":[{"role":"user","content":"ping"}]}'

Domande frequenti

Come aggiungo un endpoint API OpenAI personalizzato a Open WebUI?

In Admin Settings, apri Connections e aggiungi una connessione sotto la sezione OpenAI API: URL https://api.apisrouter.com/v1 più la tua chiave. Salva e il selettore di modelli si popola dall'elenco /v1/models dell'endpoint; usa la allowlist Model IDs per curarlo.

L'URL ha bisogno del suffisso /v1?

Sì. Open WebUI aggiunge percorsi di route come /chat/completions alla base URL che gli dai, quindi il valore corretto è https://api.apisrouter.com/v1. Un suffisso mancante si manifesta come una lista modelli vuota; uno raddoppiato si manifesta come 404 /v1/v1 nei log.

Posso far girare Ollama e una connessione gateway allo stesso tempo?

Sì, ed è la configurazione standard. Le connessioni Ollama e le connessioni OpenAI API sono sezioni separate che alimentano entrambe il selettore di modelli, quindi i modelli locali e gli id di catalogo come claude-sonnet-4-6 risiedono fianco a fianco, con ogni conversazione che sceglie la propria corsia.

Perché le mie modifiche alle variabili d'ambiente vengono ignorate?

Open WebUI persiste le impostazioni nel suo database dopo il primo avvio, e i valori persistiti hanno precedenza sui default d'ambiente. Modifica invece la connessione in Admin Settings, oppure imposta ENABLE_PERSISTENT_CONFIG=false così che l'ambiente resti autorevole attraverso i riavvii.

Tutti gli utenti vedono i modelli da una connessione admin?

Le connessioni aggiunte in Admin Settings sono a livello di workspace per default, soggette ai controlli di accesso ai modelli e di permesso workspace che la tua versione offre. Cura il selettore con la allowlist Model IDs e le impostazioni di accesso per modello invece che con chiavi per utente.

Open WebUI può raggiungere Claude e Gemini tramite una sola connessione OpenAI?

Sì. La connessione parla chat completions standard e inoltra l'id del modello come semplice stringa, quindi funziona qualsiasi id servito dal gateway: id Claude, Gemini, DeepSeek e GPT tutti attraverso un unico URL e una chiave.