LanzamientoCódigo / SDK · Listo para usarHabr AI→ original

AnythingLLM monta un asistente RAG privado sobre tus documentos en una tarde

AnythingLLM es una aplicación de código abierto que divide tus PDF y DOCX en fragmentos, los guarda en una base de datos vectorial y le entrega al modelo solo los fragmentos relevantes. Funciona en el escritorio o en Docker y se conecta a Ollama, Claude o cualquier pasarela compatible con OpenAI. Una tarde basta para montar un asistente privado. Pero el RAG de serie es mediocre y en 2026 se encontraron vulnerabilidades graves.

Procesado por IA desde Habr AI; editado por Hamidun News
AnythingLLM monta un asistente RAG privado sobre tus documentos en una tarde
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
Dato clave #1El modo Embed, a diferencia de adjuntar el archivo, no satura la ventana de contexto
CVE-2026-48116 permite RCE en Dockeractualiza a la 1.13.0 o superior
Dato clave #3Max tokens vale 1024 por defecto, y las respuestas largas se cortarán en silencio

Una situación conocida: en el disco tienes un centenar de PDF con contratos, apuntes y documentación interna. Subes un archivo a un chatbot y lo gestiona bien. Subes veinte y el contexto se desborda y parte de los datos se pierde. Añade la suscripción, la VPN y las pocas ganas de entregar tus documentos a la nube de otro. AnythingLLM está hecho precisamente para esta tarea.

Qué es y cómo funciona

AnythingLLM es una aplicación full-stack de código abierto. Toma tus archivos, los divide en chunks, los vectoriza, los guarda en una base de datos y le pasa al modelo solo los fragmentos relevantes. No faltan formatos: PDF, DOCX, TXT, páginas web y audio mediante Whisper.

La gran trampa para los novatos es que hay dos formas de añadir un documento. Si «adjuntas» el archivo al chat, su texto completo va a la ventana de contexto. Es rápido, pero con un par de archivos grandes la ventana se agota. El modo Embed funciona como un RAG de verdad: al prompt solo llegan los fragmentos cercanos a la pregunta.

Los documentos viven en un workspace. Son espacios aislados para proyectos, cada uno con su propia memoria, sus archivos y su modelo. Un workspace puede funcionar con un Ollama local y otro puede llamar a Claude por API. La versión 1.13.0 añadió Model Router: envía las consultas simples a un modelo barato y las complejas a uno de gama alta. Las reglas las defines tú, por ejemplo por palabras clave o por tamaño de la consulta. Ahí mismo aparecieron los Scheduled Jobs, es decir, agentes programados.

La base de datos vectorial por defecto es LanceDB, integrada. Si hace falta, se pueden conectar PGVector, Chroma, Milvus, Pinecone, Qdrant y otras.

Escritorio o Docker

La versión de escritorio se instala con un clic en Mac, Windows y Linux. Todo funciona en tu equipo, y el modelo integrado ofrece tres variantes GGUF según tu hardware. Sirve para averiguar en diez minutos si necesitas la herramienta. Pero es un modo para un solo usuario, y con una base de documentos grande el motor integrado empezará a ahogarse.

Docker es para el servidor: modo multiusuario, invitaciones, control de acceso a los workspaces, widgets de chat para sitios web y API completa. La copia de seguridad se reduce a copiar un único directorio de almacenamiento. Dos tropiezos habituales:

  • el contenedor se ejecuta con un usuario con UID/GID 1000, y si la carpeta del host pertenece a root, SQLite no podrá crear la base y el contenedor entrará en un reinicio infinito. Se arregla con chown -R 1000:1000 sobre el directorio de almacenamiento;
  • la opción --cap-add SYS_ADMIN parece sospechosa, pero sin ella no arrancará el navegador headless integrado para páginas web.

Un modelo externo se conecta mediante el proveedor Generic OpenAI: basta con indicar la Base URL, la clave y el ID exacto del modelo. Así se conectan pasarelas rusas como Bothub, además de LM Studio, Ollama en modo de compatibilidad, vLLM y OpenRouter. El esquema es el mismo, solo cambia la dirección. Conviene rellenar de inmediato dos campos: Token context window, con la ventana real del modelo, y Max tokens. Por defecto vale 1024 y las respuestas largas se cortarán sin aviso.

Dónde duele

Primero, la calidad del RAG. De serie funciona, pero regular. El resultado depende del tamaño de los chunks, del modelo de embeddings y del umbral de similitud, y los valores por defecto son un compromiso, no un ajuste para tu tarea. Un síntoma típico: el modelo responde con un párrafo del medio de un PDF e ignora otros tres que dicen lo mismo con otras palabras. La primera tarde se te irá en entenderlo.

Segundo, la estabilidad de los agentes. En 2026 hubo fugas de memoria: cada consulta RAG en una sesión de agente sumaba entre 100 y 650 MB que no se liberaban. Para experimentos caseros es tolerable, para un servidor con una decena de usuarios no.

Tercero, la seguridad. CVE-2026-48116 permitía ejecutar un comando arbitrario dentro del contenedor mediante inyección de argumentos en ripgrep. El plugin de archivos está activado por defecto en la imagen oficial, así que bastaba con escribirle un mensaje al agente. CVE-2026-45403 permitía path traversal mediante enlaces simbólicos. Ambas están corregidas en la 1.13.0, y la versión actual en el momento de redactar este artículo es la 1.19.0. Además, la versión de escritorio no tiene autenticación y la de Docker no pide contraseña hasta que tú mismo la activas. Un puerto abierto sin contraseña no es privacidad, es una lotería.

No recomiendo la versión hosted en la nube, de 50 dólares al mes, para trabajo serio con documentos: no tiene LLM integrado, el embedder corre en CPU con límites estrictos y los agentes personalizados y MCP están desactivados.

Conclusión práctica

Si tienes un corpus de textos y no quieres entregarlo a nubes públicas, AnythingLLM ofrece una base funcional en una tarde. Empieza con el escritorio, pasa a Docker para el equipo, activa la contraseña desde el principio, actualiza a la versión más reciente y reserva tiempo para ajustar el chunking. Para producción con datos críticos, por ahora es mejor mantener al asistente bajo supervisión, como a un becario con acceso a producción.

Historia

Preguntas frecuentes sobre la noticia

¿Qué se sabe sobre Qué es y cómo funciona?

AnythingLLM es una aplicación full-stack de código abierto. Toma tus archivos, los divide en chunks, los vectoriza, los guarda en una base de datos y le pasa al modelo solo los fragmentos relevantes. No faltan formatos: PDF, DOCX, TXT, páginas web y audio mediante Whisper. La gran trampa para los novatos es que hay dos formas de añadir un documento. Si «adjuntas» el archivo al chat, su texto completo va a la ventana de contexto. Es rápido, pero con un par de archivos grandes la ventana se agota.

¿Qué se sabe sobre Escritorio o Docker?

La versión de escritorio se instala con un clic en Mac, Windows y Linux. Todo funciona en tu equipo, y el modelo integrado ofrece tres variantes GGUF según tu hardware. Sirve para averiguar en diez minutos si necesitas la herramienta. Pero es un modo para un solo usuario, y con una base de documentos grande el motor integrado empezará a ahogarse. Docker es para el servidor: modo multiusuario, invitaciones, control de acceso a los workspaces, widgets de chat para sitios web y API completa.

Dónde duele?

Primero, la calidad del RAG. De serie funciona, pero regular. El resultado depende del tamaño de los chunks, del modelo de embeddings y del umbral de similitud, y los valores por defecto son un compromiso, no un ajuste para tu tarea. Un síntoma típico: el modelo responde con un párrafo del medio de un PDF e ignora otros tres que dicen lo mismo con otras palabras. La primera tarde se te irá en entenderlo. Segundo, la estabilidad de los agentes.

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Unified AI Workspace · Nomad

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.

Try Nomad AI →Launch Nomad Agent
¿Qué te parece?
Cargando comentarios…