Sistema de Retrieval-Augmented Generation (RAG) basado en grafos, optimizado para despliegue en Easypanel.
- Características
- Requisitos
- Instalación en Easypanel
- Configuración
- Integración con n8n
- Uso
- Troubleshooting
- Contribuir
- 🚀 RAG basado en grafos: Sistema de recuperación inteligente usando grafos de conocimiento
- 💾 Sin dependencias externas: No requiere bases de datos adicionales (PostgreSQL, Redis, etc.)
- 🔌 API REST completa: Endpoints para insertar, consultar y gestionar documentos
- 🎨 WebUI incluida: Interfaz web para visualización de grafos y consultas
- 🤝 Compatible con múltiples LLMs: OpenAI, Ollama, Anthropic, Google Gemini y más
- 📊 Base de datos vectorial integrada: Sistema propio de almacenamiento vectorial
- 🔄 Cache inteligente: Optimización de consultas LLM con sistema de cache
- 🌐 Multilenguaje: Soporte para múltiples idiomas
- Docker instalado
- Easypanel configurado
- Mínimo 2GB de RAM
- 5GB de espacio en disco
- API Key de OpenAI (o cualquier proveedor LLM compatible)
- API Key de embeddings (puede ser la misma de OpenAI)
Nota: También puedes usar Ollama localmente sin necesidad de APIs externas
- Accede a tu panel de Easypanel
- Crea un nuevo servicio → App
- Configura según la guía: Ver guía detallada
# Clonar el repositorio
git clone https://github.com/webhook-ja/lightrag-easypanel.git
cd lightrag-easypanel
# Copiar y configurar variables de entorno
cp .env.example .env
nano .env # Edita con tus API keys
# Levantar el servicio
docker-compose up -d# Configuración del servidor
HOST=0.0.0.0
PORT=9621
# LLM (OpenAI)
LLM_BINDING=openai
LLM_MODEL=gpt-4o-mini
LLM_BINDING_API_KEY=tu-api-key-aqui
# Embeddings (OpenAI)
EMBEDDING_BINDING=openai
EMBEDDING_MODEL=text-embedding-3-large
EMBEDDING_DIM=3072
EMBEDDING_BINDING_API_KEY=tu-api-key-aqui
# Performance
ENABLE_LLM_CACHE=true
MAX_ASYNC=4
MAX_PARALLEL_INSERT=2Ver todas las opciones en: Configuración completa
Configura estos 3 volúmenes en Easypanel:
| Mount Path | Descripción | Tamaño recomendado |
|---|---|---|
/app/data/rag_storage |
Base de datos vectorial y grafos | 5GB - 20GB |
/app/data/inputs |
Documentos a procesar | 1GB - 5GB |
/app/data/tiktoken |
Cache de tokens | 100MB |
En tus nodos HTTP Request de n8n, usa:
http://TU_IP_SERVIDOR:9621
O si están en la misma red de Easypanel:
http://nombre-del-servicio:9621
Ver guía completa: Integración n8n
# Insertar documento
POST /insert
{
"text": "Tu contenido aquí..."
}
# Consultar (streaming)
POST /query/stream
{
"query": "Tu pregunta",
"mode": "hybrid"
}
# Subir archivo
POST /upload
Content-Type: multipart/form-dataAccede a la interfaz web en:
http://TU_IP_SERVIDOR:9621/webui
Documentación de API completa: API Reference
- Verifica que el contenedor esté corriendo:
docker ps - Revisa los logs:
docker logs nombre-contenedor - Asegúrate que el puerto 9621 esté expuesto
- Verifica que las variables de entorno estén configuradas
- Comprueba que la API key sea válida
- Revisa los límites de tu cuenta OpenAI
Ver más soluciones: Troubleshooting completo
Las contribuciones son bienvenidas! Por favor:
- Fork el proyecto
- Crea tu rama de feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: nueva característica') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver LICENSE para más detalles.
- LightRAG Original: HKUDS/LightRAG
- Creador y Mantenedor: webhook-ja - adbductiondesarrolloweb@gmail.com
- Adaptación para Easypanel: Creado por webhook-ja
- Asistencia en Desarrollo: Claude Code de Anthropic
- Interfaz de Chatbot: Diseñada por webhook-ja con Claude Code
- Documentación: Escrita en colaboración entre webhook-ja y Claude Code
¿Tienes preguntas? Abre un Issue
Hecho con ❤️ por webhook-ja para la comunidad de Easypanel
Desarrollado con la asistencia de Claude Code