AnythingLLM monta um assistente RAG privado sobre seus documentos em uma noite
O AnythingLLM é um aplicativo de código aberto que divide seus PDFs e DOCX em trechos, guarda tudo em um banco vetorial e entrega ao modelo apenas os fragmentos relevantes. Funciona no desktop ou no Docker e se conecta ao Ollama, ao Claude ou a qualquer gateway compatível com OpenAI. Uma noite basta para montar um assistente privado. Mas o RAG de fábrica é medíocre, e em 2026 foram encontradas vulnerabilidades graves.
Processado por IA de Habr AI; editado por Hamidun News
Situação conhecida: no disco há uma centena de PDFs com contratos, anotações e documentação interna. Você envia um arquivo a um chatbot e ele dá conta. Envia vinte, e o contexto estoura e parte dos dados se perde. Some a assinatura, a VPN e a má vontade de entregar seus documentos à nuvem de outra pessoa. O AnythingLLM foi feito exatamente para essa tarefa.
O que é e como funciona
O AnythingLLM é um aplicativo full-stack de código aberto. Ele pega seus arquivos, divide em chunks, vetoriza, guarda em um banco de dados e entrega ao modelo apenas os trechos relevantes. Não faltam formatos: PDF, DOCX, TXT, páginas da web e áudio via Whisper.
A principal armadilha para iniciantes é que existem duas formas de adicionar um documento. Se você «anexa» o arquivo ao chat, o texto completo vai para a janela de contexto. É rápido, mas com um par de arquivos grandes a janela acaba. O modo Embed funciona como um RAG de verdade: apenas os fragmentos próximos da pergunta chegam ao prompt.
Os documentos vivem em um workspace. São espaços isolados para projetos, cada um com sua própria memória, seus arquivos e seu modelo. Um workspace pode rodar com um Ollama local, outro pode chamar o Claude pela API. A versão 1.13.0 trouxe o Model Router: ele envia as solicitações simples a um modelo barato e as complexas a um modelo de ponta. As regras são definidas por você, por exemplo por palavras-chave ou pelo tamanho da solicitação. Ali também surgiram os Scheduled Jobs, ou seja, agentes agendados.
O banco vetorial padrão é o LanceDB, integrado. Se necessário, é possível conectar PGVector, Chroma, Milvus, Pinecone, Qdrant e outros.
Desktop ou Docker
A versão desktop se instala com um clique no Mac, Windows e Linux. Tudo roda na sua máquina, e o modelo integrado oferece três variantes GGUF de acordo com o seu hardware. Serve para descobrir em dez minutos se você precisa da ferramenta. Mas é um modo para um único usuário, e com uma base grande de documentos o motor integrado começa a sufocar.
O Docker é para o servidor: modo multiusuário, convites, controle de acesso aos workspaces, widgets de chat para sites e API completa. O backup se resume a copiar um único diretório de armazenamento. Dois tropeços comuns:
- o contêiner roda com um usuário de UID/GID 1000, e se a pasta no host pertence ao root, o SQLite não consegue criar o banco e o contêiner entra em reinício eterno. Resolve-se com chown -R 1000:1000 no diretório de armazenamento;
- a flag --cap-add SYS_ADMIN parece suspeita, mas sem ela o navegador headless integrado, usado para páginas da web, não inicia.
Um modelo externo é conectado pelo provedor Generic OpenAI: basta informar a Base URL, a chave e o ID exato do modelo. É assim que se conectam gateways russos como o Bothub, além de LM Studio, Ollama em modo de compatibilidade, vLLM e OpenRouter. O esquema é o mesmo, muda só o endereço. Vale preencher de imediato dois campos: Token context window, com a janela real do modelo, e Max tokens. O padrão é 1024, e respostas longas serão cortadas sem aviso.
Onde dói
Primeiro, a qualidade do RAG. De fábrica ele funciona, mas só mais ou menos. O resultado depende do tamanho dos chunks, do modelo de embeddings e do limiar de similaridade, e os padrões são um compromisso, não um ajuste para a sua tarefa. Sintoma típico: o modelo responde com base em um parágrafo do meio do PDF e ignora outros três que dizem o mesmo com outras palavras. A primeira noite vai embora nessa investigação.
Segundo, a estabilidade dos agentes. Em 2026 houve vazamentos de memória: cada consulta RAG em uma sessão de agente acrescentava de 100 a 650 MB que não eram liberados. Para experimentos caseiros é tolerável, para um servidor com uma dezena de usuários não.
Terceiro, a segurança. A CVE-2026-48116 permitia executar um comando arbitrário dentro do contêiner por meio de injeção de argumentos no ripgrep. O plugin de arquivos vem ativado por padrão na imagem oficial, então bastava enviar uma mensagem ao agente. A CVE-2026-45403 permitia path traversal por links simbólicos. Ambas foram corrigidas na 1.13.0, e a versão atual no momento da redação deste artigo é a 1.19.0. Além disso, o desktop não tem autenticação, e a versão Docker não pede senha até que você mesmo a ative. Uma porta aberta sem senha não é privacidade, é loteria.
Não recomendo a versão hosted na nuvem, de 50 dólares por mês, para trabalho sério com documentos: ela não tem LLM integrado, o embedder roda em CPU com limites rígidos, e os agentes personalizados e o MCP estão desativados.
Conclusão prática
Se você tem um corpus de textos e não quer entregá-lo a nuvens públicas, o AnythingLLM oferece uma base funcional em uma noite. Comece pelo desktop, passe para o Docker para a equipe, ative a senha logo de início, atualize para a versão mais recente e reserve tempo para ajustar o chunking. Para produção com dados críticos, por ora é melhor manter o assistente sob supervisão, como um estagiário com acesso à produção.
- 8 de nov. de 2026OpenAI lanca o LifeVal, benchmark em que um agente matricula criancas em creches e compra alimentos
- 8 de nov. de 2026Editor passou 30 entrevistas pelo Claude: as citações são fiéis, mas o modelo nunca dá o veredicto «não assista»
- 8 de nov. de 2026Fireworks processa 40 trilhões de tokens por dia em modelos personalizados — o dobro do verão
- 8 de nov. de 2026Editar 10% das palavras reduz a detecção da marca d'água da OpenAI de 92% para 66%
Perguntas frequentes sobre a notícia
O que é e como funciona?
O AnythingLLM é um aplicativo full-stack de código aberto. Ele pega seus arquivos, divide em chunks, vetoriza, guarda em um banco de dados e entrega ao modelo apenas os trechos relevantes. Não faltam formatos: PDF, DOCX, TXT, páginas da web e áudio via Whisper. A principal armadilha para iniciantes é que existem duas formas de adicionar um documento. Se você «anexa» o arquivo ao chat, o texto completo vai para a janela de contexto. É rápido, mas com um par de arquivos grandes a janela acaba.
O que se sabe sobre Desktop ou Docker?
A versão desktop se instala com um clique no Mac, Windows e Linux. Tudo roda na sua máquina, e o modelo integrado oferece três variantes GGUF de acordo com o seu hardware. Serve para descobrir em dez minutos se você precisa da ferramenta. Mas é um modo para um único usuário, e com uma base grande de documentos o motor integrado começa a sufocar. O Docker é para o servidor: modo multiusuário, convites, controle de acesso aos workspaces, widgets de chat para sites e API completa.
Onde dói?
Primeiro, a qualidade do RAG. De fábrica ele funciona, mas só mais ou menos. O resultado depende do tamanho dos chunks, do modelo de embeddings e do limiar de similaridade, e os padrões são um compromisso, não um ajuste para a sua tarefa. Sintoma típico: o modelo responde com base em um parágrafo do meio do PDF e ignora outros três que dizem o mesmo com outras palavras. A primeira noite vai embora nessa investigação. Segundo, a estabilidade dos agentes.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.