Fai girare AnythingLLM su qualsiasi modello tramite Generic OpenAI.

Updated 2026-07-29

Il provider Generic OpenAI di AnythingLLM collega l'intera app a qualsiasi endpoint compatibile OpenAI: Base URL https://api.apisrouter.com/v1, una chiave, un id modello chat e limiti di token onesti. Gli id Claude, GPT, Gemini e DeepSeek sono tutti validi, per documenti, agenti e chat allo stesso modo.

Risposta rapida: cinque campi in LLM Preference.

Apri le impostazioni di AnythingLLM, vai alla sezione LLM sotto AI Providers (la schermata storicamente chiamata LLM Preference), e cerca Generic OpenAI nell'elenco provider. Selezionandolo si espongono cinque campi: Base URL, API Key, Chat Model Name, Token Context Window e Max Tokens. Compilali così: Base URL https://api.apisrouter.com/v1 (il /v1 appartiene a questo campo), la tua chiave, e l'id esatto del catalogo in Chat Model Name, per esempio claude-sonnet-4-6. Poi i due numeri: Token Context Window è la finestra totale del modello e Max Tokens limita una singola risposta, quindi prendi entrambi dalla documentazione del modello invece di indovinare. Salva, e ogni workspace che segue il default di sistema ora chatta attraverso il gateway. La documentazione segnala questo provider come orientato agli sviluppatori proprio perché si fida dei tuoi input; non è un avvertimento contro il suo utilizzo, solo un'affermazione che i cinque campi sono un contratto.

Base URL:              https://api.apisrouter.com/v1
API Key:               sk-YOUR-APISROUTER-KEY
Chat Model Name:       claude-sonnet-4-6
Token Context Window:  200000
Max Tokens:            8192

Cosa guida realmente il provider Generic OpenAI.

AnythingLLM (Mintplex Labs su GitHub, circa 63K stelle) è l'assistente documentale privato all-in-one: workspace che incorporano i tuoi file, chat basata sul contesto recuperato, agenti con uso di tool, disponibile come app desktop e server self-hosted. La LLM preference configurata sopra è il cervello predefinito per tutto questo. Le richieste partono come chat completions standard verso la tua Base URL con il Chat Model Name come stringa model, quindi il vendor non conta: un id Claude è valido quanto uno GPT, e cambiare significa modificare un campo. I workspace possono anche sovrascrivere il default di sistema con proprie impostazioni di provider e modello, il che è come un singolo deployment fa girare claude-sonnet-4-6 per il workspace legale e gpt-5.5 per l'ingegneria senza che l'uno sappia dell'altro. I due campi token meritano rispetto perché AnythingLLM li usa per gestire il budget del contesto. Il valore della context window decide quanto testo di documento recuperato e cronologia chat viene inserito in ogni richiesta; sottostimarlo fa sì che i tuoi documenti accuratamente incorporati vengano tagliati fuori dalle proprie risposte, sovrastimarlo fa rimbalzare le richieste contro il limite reale del modello. Questa è la coppia di campi dietro la maggior parte delle segnalazioni "il RAG sembra stupido" sugli endpoint generici.

Gli embedding sono una decisione separata.

AnythingLLM separa la LLM preference dalla embedding preference, e questa separazione è strutturale. Il modello chat risponde alle domande; l'embedder trasforma i tuoi documenti in vettori al momento del caricamento, e quei vettori persistono. Cambiare modello chat è gratuito, in qualsiasi momento, per workspace. Cambiare embedder invalida la geometria di tutto ciò che è già stato incorporato e significa reincorporare i tuoi documenti. La configurazione pratica: AnythingLLM include un embedder locale integrato che funziona offline e non costa nulla, e molti deployment lo mantengono semplicemente. Se invece punti la embedding preference verso un endpoint remoto, conferma che lo specifico id di embedding sia servito lì prima di caricare la tua base documentale, e considera quella scelta come vincolata al vector store. La libertà che questo garantisce sul lato chat è il punto dell'architettura: con gli embedding stabiliti, il modello chat Generic OpenAI è una manopola a basso rischio. Fai girare deepseek-v4-pro per un mese di riassunti intensivi, cambia il campo su claude-sonnet-4-6 per un trimestre di lavoro con clienti, e nulla dei tuoi documenti deve muoversi.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# Chat Model Name must match one of these ids exactly

Scegliere i modelli per il lavoro sui documenti.

Ogni id fattura attraverso la stessa chiave, quindi il ciclo di confronto è una modifica alle impostazioni: stesso workspace, stessi documenti, due settimane su ogni candidato, e la spesa per modello nella console di APIsRouter accanto al tuo giudizio personale sulle risposte.

  • Il QA basato su chunk recuperati è pesante sull'input: claude-haiku-4-5-20251001 e gemini-3.5-flash rispondono bene a domande che seguono citazioni a prezzi da volume.
  • claude-sonnet-4-6 merita il default dove le risposte arrivano agli umani senza modifiche: revisione contratti, stesura di report, qualsiasi cosa con conseguenze.
  • deepseek-v4-pro è il cavallo di battaglia a contesto lungo per i workspace costruiti su documenti grandi, dove la finestra e il prezzo dell'input dominano l'esperienza.
  • I workspace con agenti necessitano di tool calling affidabile; inizia gli agenti su claude-sonnet-4-6, poi verifica se un id più leggero regge sui tuoi flussi reali.
  • Usa gli override per workspace come policy: il default resta veloce, e l'id costoso vive solo nei workspace il cui lavoro lo giustifica.

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 Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.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 AnythingLLM.

I campi token causano gli errori sottili. Una context window impostata troppo bassa tronca silenziosamente il contesto recuperato, il che si presenta come un modello che ignora i tuoi documenti; imposta la finestra documentata per l'id in Chat Model Name. Max Tokens impostato troppo alto per il modello produce errori netti sulle risposte lunghe; impostalo a ciò che il modello consente effettivamente in output. Gli errori netti sono più onesti. I fallimenti di autenticazione sono il campo API Key. Model-not-found è il Chat Model Name che si è discostato dalla grafia del catalogo; il campo è testo libero e l'elenco /v1/models è la fonte di verità. Gli errori di connessione sull'app desktop di solito significano un proxy o un firewall tra l'app e l'endpoint; sui deployment Docker, ricorda che è il container che deve raggiungere la Base URL, non il tuo browser. Se la chat funziona ma un workspace si comporta diversamente dal previsto, controlla le sue impostazioni di override; le impostazioni del provider a livello di workspace prevalgono sul default di sistema, e un override dimenticato è il classico mistero "stessa domanda, modello diverso". L'impostazione orientata agli sviluppatori della documentazione riassume tutto quanto sopra: il provider fa esattamente ciò che dicono i suoi cinque campi, né più né meno.

Chi instrada AnythingLLM tramite un gateway.

  • Team che gestiscono assistenti documentali privati e vogliono qualità di risposta di frontiera senza un account fornitore per ogni famiglia di modelli.
  • Utenti desktop che puntano la propria base documentale personale verso id Claude o GPT su un saldo prepagato, nessuna carta richiesta per iniziare.
  • Self-hoster che mantengono l'embedder locale integrato e trattano la chat remota come l'unica corsia misurata, letta per modello su un unico log di utilizzo.
  • Deployment segmentati per workspace, dove gli override per workspace più la misurazione per chiave danno a ogni team il proprio modello e il proprio conto.
  • Builder che confrontano modelli di risposta su una base documentale fissa, dove ogni candidato è una modifica alle impostazioni invece che una migrazione.

Verifica l'endpoint e fai debug della prima chat del workspace.

Esegui prima una curl sull'elenco modelli e una chat completion, usando l'id esatto che intendi mettere in Chat Model Name. Con entrambe superate, la metà gateway è dimostrata e ogni sintomo rimanente vive nei cinque campi. Poi salva le impostazioni del provider e fai una domanda in un workspace con un documento che conosci bene. Una risposta fondata, con citazioni, significa che l'intera pipeline funziona. Una risposta che ignora il documento indica il valore della context window o le impostazioni di retrieval proprie del workspace. Gli errori netti si mappano in modo chiaro: chiave, grafia dell'id, forma della Base URL. Una volta che le chat scorrono, la console di APIsRouter mostra il modello per richiesta, i conteggi dei token e la spesa. Il QA documentale moltiplica i token di input attraverso il retrieval, e il log di utilizzo è dove scopri quanto costa realmente interrogare la tua base documentale, per modello, per giorno, e per chiave di workspace se le separi.

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

Domande frequenti

Come imposto una Base URL personalizzata in AnythingLLM?

Nelle impostazioni sotto AI Providers, apri la schermata LLM preference e scegli Generic OpenAI dall'elenco provider. Imposta Base URL su https://api.apisrouter.com/v1, aggiungi la tua chiave, metti l'id esatto del catalogo in Chat Model Name, e compila entrambi i campi token dalla documentazione del modello.

Cosa controllano Token Context Window e Max Tokens?

La context window dice ad AnythingLLM quanto testo recuperato e cronologia può inserire per richiesta; Max Tokens limita una singola risposta. Sottostimare la finestra taglia i tuoi documenti fuori dalle risposte, e sovrastimare uno dei due produce richieste che il modello rifiuta.

AnythingLLM può far girare Claude o DeepSeek tramite Generic OpenAI?

Sì. Il provider invia Chat Model Name come semplice stringa alla Base URL tramite chat completions standard, quindi claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash e gli id GPT funzionano tutti, commutabili modificando un campo o per workspace.

Cambiare il modello chat influisce sui miei documenti incorporati?

No. Le preferenze di chat ed embedding sono separate; i vettori persistono e i modelli chat si cambiano liberamente. Solo cambiare l'embedder invalida i vettori esistenti e obbliga a reincorporare, motivo per cui molti deployment mantengono l'embedder locale integrato e ottimizzano solo il lato chat.

Perché la pagina della documentazione definisce Generic OpenAI orientato agli sviluppatori?

Perché si fida dei tuoi input invece di fornire preset per singolo vendor: id, URL o valori token sbagliati falliscono a runtime invece di essere intercettati dal modulo. Con id copiati da /v1/models e limiti dalla documentazione del modello, è un percorso stabile e di prima classe.

Workspace diversi possono usare modelli diversi?

Sì. I workspace ereditano il default di sistema ma possono sovrascrivere provider e modello nelle proprie impostazioni chat, quindi un singolo deployment può far girare un id veloce come default e fissare claude-sonnet-4-6 solo nei workspace il cui lavoro lo merita.