Draai AnythingLLM op elk model via Generic OpenAI.
Updated 2026-07-29
De Generic OpenAI-provider van AnythingLLM verbindt de hele app met elk OpenAI-compatibel endpoint: Base URL https://api.apisrouter.com/v1, één sleutel, een chat-model-ID, en eerlijke tokenlimieten. Claude-, GPT-, Gemini- en DeepSeek-ID's komen allemaal in aanmerking, voor documenten, agents en chat.
Snel antwoord: vijf velden in LLM Preference.
Open de instellingen van AnythingLLM, ga naar de LLM-sectie onder AI Providers (het scherm dat historisch LLM Preference heette), en zoek in de providerlijst naar Generic OpenAI. Als je het selecteert, verschijnen vijf velden: Base URL, API Key, Chat Model Name, Token Context Window, en Max Tokens. Vul ze als volgt in: Base URL https://api.apisrouter.com/v1 (de /v1 hoort in dit veld), je sleutel, en het exacte catalogus-ID in Chat Model Name, bijvoorbeeld claude-sonnet-4-6. Dan de twee getallen: Token Context Window is het totale venster van het model en Max Tokens begrenst één enkel antwoord, dus haal beide uit de documentatie van het model in plaats van te gokken. Sla op, en elke workspace die de systeemstandaard volgt, chat nu via de gateway. De documentatie markeert deze provider als developer-focused precies omdat hij je invoer vertrouwt; dat is geen waarschuwing tegen het gebruik ervan, alleen een verklaring dat de vijf velden een contract zijn.
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: 8192Wat de Generic OpenAI-provider werkelijk aandrijft.
AnythingLLM (Mintplex Labs op GitHub, ruim 63K sterren) is de alles-in-één private documentassistent: workspaces die je bestanden embedden, chat gegrond in opgehaalde context, agents met tool use, beschikbaar als desktop-app en als self-hosted server. De hierboven geconfigureerde LLM-preference is het standaardbrein voor dat alles. Verzoeken vertrekken als standaard chat completions tegen je Base URL met de Chat Model Name als model-string, dus de leverancier maakt niet uit: een Claude-ID is net zo geldig als een GPT-ID, en wisselen betekent één veld bewerken. Workspaces kunnen de systeemstandaard ook overschrijven met hun eigen provider- en modelinstellingen, wat hoe één deployment claude-sonnet-4-6 draait voor de juridische workspace en gpt-5.5 voor engineering, zonder dat de een iets weet van de ander. De twee tokenvelden verdienen respect omdat AnythingLLM ze gebruikt om context te budgetteren. De contextvenster-waarde bepaalt hoeveel opgehaalde documenttekst en chatgeschiedenis per verzoek wordt ingepakt; onderschat het en je zorgvuldig ge-embedde documenten worden uit hun eigen antwoorden geknipt, overschat het en verzoeken stuiten af op de echte limiet van het model. Dit is het veldenpaar achter de meeste "RAG voelt dom" meldingen op generieke endpoints.
Embeddings zijn een aparte beslissing.
AnythingLLM splitst de LLM-preference van de embedding-preference, en die splitsing is fundamenteel. Het chatmodel beantwoordt vragen; de embedder zet je documenten om in vectoren op het moment van uploaden, en die vectoren blijven bestaan. Chatmodellen wijzigen is gratis, elke dag, per workspace. Embedders wijzigen maakt de geometrie van alles wat al ge-embed is ongeldig en betekent het opnieuw embedden van je documenten. De praktische instelling: AnythingLLM levert een ingebouwde lokale embedder die offline werkt en niets kost, en veel deployments houden die gewoon aan. Als je de embedding-preference in plaats daarvan naar een extern endpoint wijst, bevestig dan dat het specifieke embedding-ID daar bediend wordt voordat je je documentbasis uploadt, en behandel die keuze als getrouwd met de vector store. De vrijheid die dit op de chatkant oplevert, is het hele punt van de architectuur: met embeddings vastgelegd, is het Generic OpenAI-chatmodel een knop met lage inzet. Draai deepseek-v4-pro een maand voor zwaar samenvattingswerk, wissel het veld naar claude-sonnet-4-6 voor een kwartaal klantwerk, en niets aan je documenten hoeft te bewegen.
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 exactlyModellen kiezen voor documentwerk.
Elk ID factureert via dezelfde sleutel, dus de vergelijkingslus is een instellingswijziging: dezelfde workspace, dezelfde documenten, twee weken per kandidaat, en de uitgaven per model in de APIsRouter-console naast je eigen oordeel over de antwoorden.
- Gegronde QA over opgehaalde chunks is input-zwaar: claude-haiku-4-5-20251001 en gemini-3.5-flash beantwoorden citatievolgende vragen goed tegen volumeprijzen.
- claude-sonnet-4-6 verdient de standaard waar antwoorden ongewijzigd naar mensen gaan: contractbeoordeling, rapportopstelling, alles met gevolgen.
- deepseek-v4-pro is het langecontext-werkpaard voor workspaces gebouwd op grote documenten, waar het venster en de inputprijs de ervaring domineren.
- Agent-workspaces hebben betrouwbare tool calling nodig; start agents op claude-sonnet-4-6, en test dan of een lichter ID standhoudt op je echte flows.
- Gebruik overschrijvingen per workspace als beleid: de standaard blijft snel, en het dure ID leeft alleen in de workspaces waarvan het werk het rechtvaardigt.
Betaal naar gebruik · onder officiële prijzen
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Officiële prijs | Onze prijs |
|---|---|---|
| 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 |
Faalmodi specifiek voor AnythingLLM.
De tokenvelden veroorzaken de subtiele fouten. Een te laag ingesteld contextvenster knipt opgehaalde context stilletjes weg, wat zich voordoet als een model dat je documenten negeert; stel het gedocumenteerde venster in voor het ID in Chat Model Name. Een te hoog ingestelde Max Tokens voor het model produceert harde fouten bij lange antwoorden; stel het in op wat het model daadwerkelijk toestaat voor output. Harde fouten zijn eerlijker. Authenticatiefouten zitten in het API Key-veld. Model-not-found is Chat Model Name die afwijkt van de catalogusspelling; het veld is vrije tekst en de /v1/models-lijst is de bron van waarheid. Verbindingsfouten op de desktop-app betekenen meestal een proxy of firewall tussen de app en het endpoint; op Docker-deployments, onthoud dat het de container is die de Base URL moet bereiken, niet je browser. Als chat werkt maar een workspace anders gedraagt dan verwacht, controleer dan de overschrijvingsinstellingen; instellingen op workspaceniveau winnen van de systeemstandaard, en een vergeten overschrijving is het klassieke mysterie "dezelfde vraag, ander model". De developer-focused framing van de documentatie vat dit allemaal samen: de provider doet precies wat zijn vijf velden zeggen, niet meer en niet minder.
Wie routeert AnythingLLM via een gateway.
- Teams die private documentassistenten draaien en frontier-antwoordkwaliteit willen zonder een leveranciersaccount per modelfamilie.
- Desktopgebruikers die hun persoonlijke documentbasis richten op Claude- of GPT-ID's op een vooruitbetaald saldo, geen kaart nodig om te starten.
- Self-hosters die de ingebouwde lokale embedder behouden en remote chat behandelen als de enige gemeten rijstrook, uitgelezen per model in één gebruikslogboek.
- Deployments gesegmenteerd per workspace, waar overschrijvingen per workspace plus meting per sleutel elk team zijn eigen model en zijn eigen rekening geven.
- Bouwers die antwoordmodellen vergelijken over een vaste documentbasis, waar elke kandidaat één instellingswijziging is in plaats van een migratie.
Verifieer het endpoint en debug de eerste workspace-chat.
Curl eerst de modellenlijst en één chat completion, met het exacte ID dat je van plan bent in Chat Model Name te zetten. Als beide slagen, is de gateway-helft bewezen en leeft elk resterend symptoom in de vijf velden. Sla dan de providerinstellingen op en stel één vraag in een workspace met een document dat je goed kent. Een gegrond, citerend antwoord betekent dat de hele pipeline werkt. Een antwoord dat het document negeert, wijst naar de contextvenster-waarde of naar de eigen retrieval-instellingen van de workspace. Harde fouten mappen netjes: sleutel, ID-spelling, Base URL-vorm. Zodra chats vloeien, toont de APIsRouter-console model per verzoek, tokenaantallen en uitgaven. Document-QA vermenigvuldigt inputtokens via retrieval, en het gebruikslogboek is waar je leert wat je documentbasis werkelijk kost om te bevragen, per model, per dag, en per workspacesleutel als je ze splitst.
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"}]}'Veelgestelde vragen
Hoe stel ik een aangepaste Base URL in bij AnythingLLM?
Open in de instellingen onder AI Providers het LLM-preferencescherm en kies Generic OpenAI uit de providerlijst. Zet Base URL op https://api.apisrouter.com/v1, voeg je sleutel toe, zet het exacte catalogus-ID in Chat Model Name, en vul beide tokenvelden in vanuit de documentatie van het model.
Wat regelen Token Context Window en Max Tokens?
Het contextvenster vertelt AnythingLLM hoeveel opgehaalde tekst en geschiedenis het per verzoek mag inpakken; Max Tokens begrenst één enkel antwoord. Een te laag venster knipt je documenten uit antwoorden, en een te hoge waarde in beide levert verzoeken op die het model afwijst.
Kan AnythingLLM Claude of DeepSeek draaien via Generic OpenAI?
Ja. De provider stuurt Chat Model Name als platte string naar de Base URL over standaard chat completions, dus claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash en GPT-ID's werken allemaal, wisselbaar door één veld te bewerken of per workspace.
Beïnvloedt het wisselen van chatmodel mijn ge-embedde documenten?
Nee. Chat- en embedding-preferences zijn gescheiden; vectoren blijven bestaan en chatmodellen wisselen vrij. Alleen het wijzigen van de embedder maakt bestaande vectoren ongeldig en dwingt herembedding af, en daarom houden veel deployments de ingebouwde lokale embedder aan en stemmen ze alleen de chatkant af.
Waarom noemt de documentatiepagina Generic OpenAI developer-focused?
Omdat hij je invoer vertrouwt in plaats van presets per leverancier te leveren: verkeerde ID's, URL's of tokenwaarden falen tijdens runtime in plaats van door het formulier te worden opgevangen. Met ID's gekopieerd uit /v1/models en limieten uit de modeldocumentatie is het een stabiel, volwaardig pad.
Kunnen verschillende workspaces verschillende modellen gebruiken?
Ja. Workspaces erven de systeemstandaard maar kunnen de provider en het model in hun eigen chatinstellingen overschrijven, zodat één deployment standaard een snel ID kan draaien en claude-sonnet-4-6 alleen kan vastpinnen in de workspaces waarvan het werk het verdient.