Rode o AnythingLLM em qualquer modelo via Generic OpenAI.
Updated 2026-07-29
O provedor Generic OpenAI do AnythingLLM conecta o app inteiro a qualquer endpoint compatível com OpenAI: Base URL https://api.apisrouter.com/v1, uma chave, um id de chat model, e limites de token honestos. Ids de Claude, GPT, Gemini e DeepSeek se qualificam todos, para documentos, agentes e chat igualmente.
Resposta rápida: cinco campos em LLM Preference.
Abra as configurações do AnythingLLM, vá para a seção LLM em AI Providers (a tela historicamente chamada LLM Preference), e procure Generic OpenAI na lista de provedores. Selecioná-la expõe cinco campos: Base URL, API Key, Chat Model Name, Token Context Window, e Max Tokens. Preencha-os assim: Base URL https://api.apisrouter.com/v1 (o /v1 pertence a este campo), sua chave, e o id exato do catálogo em Chat Model Name, por exemplo claude-sonnet-4-6. Depois os dois números: Token Context Window é a janela total do modelo e Max Tokens limita uma única resposta, então tire os dois da documentação do modelo em vez de chutar. Salve, e todo workspace que segue o padrão do sistema agora conversa pelo gateway. A documentação marca esse provedor como voltado a desenvolvedores precisamente porque ele confia nas suas entradas; isso não é um aviso contra usá-lo, só uma declaração de que os cinco campos são um contrato.
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: 8192O que o provedor Generic OpenAI realmente comanda.
O AnythingLLM (Mintplex Labs no GitHub, cerca de 63 mil estrelas) é o assistente de documentos privado tudo-em-um: workspaces que embarcam seus arquivos, chat baseado em contexto recuperado, agentes com uso de ferramentas, disponível como app de desktop e servidor auto-hospedado. A preferência de LLM configurada acima é o cérebro padrão de tudo isso. As requisições saem como chat completions padrão contra sua Base URL com o Chat Model Name como a string do modelo, então o fornecedor não importa: um id da Claude é tão válido quanto um da GPT, e trocar significa editar um campo. Workspaces também podem sobrescrever o padrão do sistema com suas próprias configurações de provedor e modelo, o que é como um único deployment roda claude-sonnet-4-6 para o workspace jurídico e gpt-5.5 para engenharia sem que um saiba do outro. Os dois campos de token merecem respeito porque o AnythingLLM os usa para orçar contexto. O valor da janela de contexto decide quanto texto de documento recuperado e histórico de chat cabe em cada requisição; subestimá-lo corta seus documentos cuidadosamente embarcados fora de suas próprias respostas, superestimá-lo faz as requisições esbarrarem no limite real do modelo. Esse é o par de campos por trás da maioria dos relatos de "o RAG parece burro" em endpoints genéricos.
Embeddings são uma decisão separada.
O AnythingLLM separa a preferência de LLM da preferência de embedding, e essa separação sustenta o sistema. O chat model responde perguntas; o embedder transforma seus documentos em vetores no momento do upload, e esses vetores persistem. Trocar de chat model é grátis, qualquer dia, por workspace. Trocar de embedder invalida a geometria de tudo que já foi embarcado e significa reembarcar seus documentos. A configuração prática: o AnythingLLM vem com um embedder local nativo que funciona offline e não custa nada, e muitos deployments simplesmente o mantêm. Se você apontar a preferência de embedding para um endpoint remoto em vez disso, confirme que o id de embedding específico é servido ali antes de subir sua base de documentos, e trate essa escolha como casada com o vector store. A liberdade que isso compra do lado do chat é o objetivo da arquitetura: com os embeddings resolvidos, o chat model do Generic OpenAI é um dial de baixo risco. Rode deepseek-v4-pro por um mês de resumo pesado, troque o campo para claude-sonnet-4-6 por um trimestre de trabalho de cliente, e nada nos seus documentos precisa se mover.
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 exactlyEscolhendo modelos para trabalho com documentos.
Todo id fatura pela mesma chave, então o ciclo de comparação é uma edição de configuração: mesmo workspace, mesmos documentos, duas semanas em cada candidato, e o gasto por modelo no console da APIsRouter ao lado do seu próprio julgamento das respostas.
- QA fundamentado sobre trechos recuperados é pesado em entrada: claude-haiku-4-5-20251001 e gemini-3.5-flash respondem bem perguntas que seguem citações a preços de volume.
- claude-sonnet-4-6 merece o padrão onde as respostas seguem para humanos sem edição: revisão de contrato, redação de relatório, qualquer coisa com consequências.
- deepseek-v4-pro é o cavalo de batalha de contexto longo para workspaces construídos sobre documentos grandes, onde a janela e o preço de entrada dominam a experiência.
- Workspaces de agente precisam de chamadas de ferramenta confiáveis; comece agentes em claude-sonnet-4-6, depois teste se um id mais leve aguenta nos seus fluxos reais.
- Use sobrescritas por workspace como política: o padrão continua rápido, e o id caro vive só nos workspaces cujo trabalho o justifica.
Pague pelo uso · abaixo do preço oficial
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modelo | Preço oficial | Nosso preço |
|---|---|---|
| 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 |
Modos de falha específicos do AnythingLLM.
Os campos de token causam as falhas sutis. Uma janela de contexto definida baixa demais trunca silenciosamente o contexto recuperado, o que aparece como um modelo que ignora seus documentos; defina a janela documentada para o id em Chat Model Name. Max Tokens definido alto demais para o modelo produz erros duros em respostas longas; defina-o para o que o modelo realmente permite de saída. Erros duros são mais honestos. Falhas de autenticação são o campo API Key. Model-not-found é o Chat Model Name se afastando da grafia do catálogo; o campo é texto livre e a listagem /v1/models é a fonte da verdade. Erros de conexão no app de desktop geralmente significam um proxy ou firewall entre o app e o endpoint; em deployments Docker, lembre que é o container que precisa alcançar a Base URL, não seu navegador. Se o chat funciona mas um workspace se comporta diferente do esperado, verifique suas configurações de sobrescrita; configurações de provedor no nível do workspace vencem o padrão do sistema, e uma sobrescrita esquecida é o clássico mistério "mesma pergunta, modelo diferente". O enquadramento voltado a desenvolvedores da documentação resume tudo isso: o provedor faz exatamente o que seus cinco campos dizem, nem mais nem menos.
Quem roteia o AnythingLLM por um gateway.
- Times rodando assistentes de documentos privados que querem qualidade de resposta de ponta sem uma conta de fornecedor por família de modelo.
- Usuários de desktop apontando sua base de documentos pessoal para ids Claude ou GPT com saldo pré-pago, sem cartão necessário para começar.
- Auto-hospedeiros que mantêm o embedder local nativo e tratam o chat remoto como a única faixa medida, lida em um único log de uso.
- Deployments segmentados por workspace, onde sobrescritas por workspace mais medição por chave dão a cada time seu próprio modelo e sua própria conta.
- Criadores comparando modelos de resposta sobre uma base de documentos fixa, onde cada candidato é uma edição de configuração em vez de uma migração.
Verifique o endpoint e depure o primeiro chat de workspace.
Faça curl na listagem de modelos e em uma chat completion primeiro, usando o id exato que você pretende colocar em Chat Model Name. Com os dois passando, a metade do gateway está comprovada e todo sintoma restante vive nos cinco campos. Depois salve as configurações do provedor e faça uma pergunta em um workspace com um documento que você conhece bem. Uma resposta fundamentada, citando, significa que todo o pipeline funciona. Uma resposta que ignora o documento aponta para o valor da janela de contexto ou para as próprias configurações de recuperação do workspace. Erros duros mapeiam de forma limpa: chave, grafia do id, formato da Base URL. Assim que os chats fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. QA de documentos multiplica tokens de entrada pela recuperação, e o log de uso é onde você aprende o que sua base de documentos realmente custa para consultar, por modelo, por dia, e por chave de workspace se você as separar.
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"}]}'Perguntas frequentes
Como eu configuro uma Base URL personalizada no AnythingLLM?
Nas configurações em AI Providers, abra a tela de preferência de LLM e escolha Generic OpenAI na lista de provedores. Defina Base URL como https://api.apisrouter.com/v1, adicione sua chave, coloque o id exato do catálogo em Chat Model Name, e preencha os dois campos de token com base na documentação do modelo.
O que Token Context Window e Max Tokens controlam?
A janela de contexto diz ao AnythingLLM quanto texto recuperado e histórico ele pode empacotar por requisição; Max Tokens limita uma única resposta. Subestimar a janela corta seus documentos fora das respostas, e superestimar qualquer um dos dois produz requisições que o modelo rejeita.
O AnythingLLM pode rodar Claude ou DeepSeek pelo Generic OpenAI?
Sim. O provedor envia Chat Model Name como uma string simples para a Base URL em chat completions padrão, então claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash, e ids GPT funcionam todos, trocáveis editando um campo ou por workspace.
Trocar o chat model afeta meus documentos embarcados?
Não. As preferências de chat e embedding são separadas; os vetores persistem e os chat models trocam livremente. Só trocar o embedder invalida os vetores existentes e força reembarcar, o que é por isso que muitos deployments mantêm o embedder local nativo e ajustam só o lado do chat.
Por que a página de documentação chama o Generic OpenAI de voltado a desenvolvedores?
Porque ele confia nas suas entradas em vez de vir com predefinições por fornecedor: ids, URLs, ou valores de token errados falham em tempo de execução em vez de serem pegos pelo formulário. Com ids copiados de /v1/models e limites da documentação do modelo, é um caminho estável e de primeira classe.
Workspaces diferentes podem usar modelos diferentes?
Sim. Os workspaces herdam o padrão do sistema mas podem sobrescrever o provedor e o modelo em suas próprias configurações de chat, então um deployment pode rodar um id rápido por padrão e fixar claude-sonnet-4-6 só nos workspaces cujo trabalho o merece.