Base de conocimiento con IA compartimentada y autohospedable, pensada para empresas que necesitan que sus procedimientos y secretos comerciales no salgan de su propia infraestructura.
Sube documentos, organízalos por categorías, decide qué grupo de personas ve qué, y deja que tu equipo pregunte en lenguaje natural. Las respuestas se construyen únicamente con los documentos a los que quien pregunta tiene acceso.
- Permisos reales sobre el conocimiento. Categorías, grupos y acceso por grupo a categorías. El filtrado ocurre en la propia búsqueda vectorial, no ocultando resultados en la interfaz.
- Multi-organización. Una instalación puede servir a varios departamentos o empresas, cada uno con sus documentos y sus miembros.
- Sin dependencia de terceros. Modelos, embeddings, base de datos y archivos pueden vivir enteros en tu servidor: Ollama o vLLM para la inferencia, PostgreSQL con pgvector para los vectores, y disco local o MinIO para los documentos.
- Integraciones. Slack, para preguntar desde donde ya trabaja el equipo.
Next.js 16 · PostgreSQL + pgvector · Prisma · Better Auth · Vercel AI SDK · Shadcn/UI + Tailwind · Vitest
git clone https://github.com/Pep3M/guia.git
cd guia
cp .env.example .env # define POSTGRES_PASSWORD y BETTER_AUTH_SECRET
docker compose up -dEso levanta PostgreSQL con pgvector, Ollama con los modelos y la aplicación en http://localhost:3000. Las migraciones y la descarga de modelos se hacen solas; la primera vez tarda, porque son varios GB.
Cuando termine, comprueba la instalación:
docker compose --profile tools run --rm tools bun run doctorVerifica contra los servicios reales la base de datos, ambos modelos y el almacenamiento, y avisa de los problemas que no dan error visible —como que el modelo esté truncando el contexto.
El repositorio incluye una organización de ejemplo con documentos ficticios de una empresa de logística y dos cuentas con distinto nivel de acceso, para ver en un minuto cómo la misma pregunta obtiene respuesta o no según quién la haga:
NEXT_PUBLIC_DEMO_MODE=true bun run demo:seedDetalles en docs/demo.md.
Requisitos: Bun >= 1.2 y PostgreSQL >= 14 con pgvector.
bun install
cp .env.example .env
bun run db:migrate
bun run devComandos útiles:
| Comando | Qué hace |
|---|---|
bun run dev |
Servidor de desarrollo |
bun run build |
Build de producción |
bun run test |
Tests unitarios (Vitest, modo watch) |
bun run test:integration |
Tests de integración |
bun run db:migrate |
Aplica migraciones en desarrollo |
bun run db:studio |
Explorador de la base de datos |
bun run doctor |
Diagnostica modelos, base de datos y almacenamiento |
bun run demo:seed |
Siembra la organización de demostración |
Todo se configura contra una API compatible con OpenAI, que es lo que exponen
Ollama, vLLM, LM Studio, llama.cpp y la propia OpenAI. Cambiar de proveedor es
cambiar AI_BASE_URL, no tocar código.
AI_BASE_URL="http://localhost:11434/v1"
CHAT_MODEL="qwen2.5:14b-instruct"
EMBEDDING_MODEL="bge-m3"
EMBEDDING_DIMENSIONS=1024El modelo de embeddings no se cambia a la ligera: su dimensión debe coincidir
con la de la columna Chunk.embedding y cambiarla obliga a reindexar todos los
documentos. Ver docs/self-hosting.md.
Para que las respuestas con modelos locales sean útiles, no basta un modelo pequeño. Punto de partida razonable para 10–50 usuarios:
| Componente | Mínimo | Recomendado |
|---|---|---|
| GPU | 16 GB VRAM (modelo 14B cuantizado) | 24–48 GB VRAM (modelo 24–32B) |
| RAM | 32 GB | 64 GB |
| Disco | 100 GB SSD | 500 GB NVMe |
Sin GPU la aplicación funciona, pero la latencia de respuesta la hace incómoda
para uso diario. Alternativa: apuntar AI_BASE_URL a un proveedor externo y
mantener sólo los datos en local.
AGPL-3.0. Puedes usarlo, modificarlo y desplegarlo libremente; si lo ofreces como servicio a terceros, las modificaciones deben publicarse bajo la misma licencia.
¿Necesitas una licencia comercial sin las obligaciones de la AGPL, o soporte e instalación? Escribe a través de las issues del repositorio.