Skip to content

sylfG/linkanvil

Repository files navigation

Logo

🧠 LinkAnvil: Autonomous Knowledge Extractor

Plataforma orientada al procesamiento ágil y desatendido de URLs para construir grafos semánticos privados.
Explora la Documentación »

Ver Instalación · Reportar un Bug · Proponer Funcionalidad

VitePress Docker License


🎯 Sobre el Proyecto

LinkAnvil no es únicamente un "cerebro digital" genérico; es una plataforma analítica diseñada para el procesamiento asíncrono de URLs.

El objetivo principal es proporcionar un cauce estructurado donde puedas "enviar y olvidar" enlaces (artículos, documentación, foros). LinkAnvil se encarga de extraer el contenido, procesarlo mediante LLMs, vectorizarlo (RAG), y establecer colisiones semánticas (relacionar automáticamente conceptos similares) mediante su grafo de conocimiento interno.

✨ Ventajas y Características Principales

  • Ingesta Desatendida de URLs: Uso de colas (RabbitMQ) para procesar información web en segundo plano, sin bloqueos ni latencia para el usuario final.
  • Colisión Semántica Vectorial: Interconexión autónoma de recursos utilizando similitud del coseno en Qdrant, desvelando relaciones ocultas entre tus documentos guardados.
  • Proxy LLM Resiliente y Privado: Fallbacks automatizados (ej: OpenAI → Anthropic → Local) usando LiteLLM. Además, es 100% compatible con Ollama, permitiendo ejecutar modelos de IA de forma totalmente privada y desconectada si tu hardware lo permite.
  • Pipeline Zero-Defect: Aislamiento de fallos mediante Dead Letter Queues (DLQ). Si el scraping de una URL falla, el ecosistema sigue funcionando y el error se audita.
  • Observabilidad Completa: Telemetría, métricas y trazas nativas con OpenTelemetry, Jaeger, Prometheus y Grafana.

🛠️ Tecnologías y Servicios

El backend de LinkAnvil está desacoplado y funciona mediante una orquestación de contenedores.

  • API Gateway: Traefik
  • Message Broker: RabbitMQ
  • Bases de Datos: PostgreSQL (Relacional + RLS) y Qdrant (Vectorial)
  • Caché Temporal: Redis
  • Lógica y Orquestación: LiteLLM (Gateway de IA) y n8n (Workflows)
  • Observabilidad: OpenTelemetry, Jaeger, Prometheus, Grafana

💻 Requisitos del Sistema

LinkAnvil está compuesto por una arquitectura de microservicios ligera que puede desplegarse en cualquier entorno compatible con Docker (Servidor VPS, NAS, Nube o Local). Los siguientes requisitos contemplan únicamente la ejecución de los servicios base del sistema (bases de datos, orquestador, colas y telemetría), excluyendo el host (SO) y excluyendo la ejecución de Modelos de Lenguaje (IA).

Recurso Mínimos Recomendados
CPU 2 Cores (x86_64 o ARM64) 4+ Cores (x86_64 o ARM64)
Memoria RAM (Docker) 4 GB asignados a los contenedores 8 GB asignados a los contenedores
Dependencias Docker Engine v24+, Compose v2 Docker Engine v24+, Compose v2
Almacenamiento 10 GB (Imágenes y volúmenes base) 20 GB+ (Persistencia a largo plazo)

Aceleración y Modelos Privados (Ollama): El sistema envía y delega todo el cómputo de inteligencia artificial a través de LiteLLM. Puedes usar APIs externas (OpenAI, Anthropic) sin un aumento en el uso del hardware, o si lo prefieres, LinkAnvil es compatible directamente para conectar con motores locales como Ollama permitiendo un ecosistema 100% privado y sin red.

Nota: Si decides alojar modelos privados mediante Ollama en esa misma máquina, deberás sumarle al sistema los requisitos proporcionales del LLM seleccionado (p. ej. sumar +8GB extra de RAM/VRAM para correr un Llama 3 de 8B parámetros).


🚀 Empezar: Instalación y Pruebas

Para mantener este README conciso, la guía completa paso a paso con configuración de variables, arranque de contenedores, scripts de health-check e inyección de la primera URL, se encuentra en nuestra documentación:

👉 Ir al Tutorial Paso a Paso: Guía de Instalación y Configuración


📚 Documentación Técnica Interna

Toda la arquitectura, diagramas e hitos de desarrollo residen en VitePress y GitHub Pages. Si eres desarrollador, te sugerimos leer:


🤝 Contribución

¡Las contribuciones hacen que la comunidad de código abierto sea un lugar increíble para aprender, inspirar y crear! Cualquier contribución que hagas será muy apreciada.

  1. Haz un Fork del proyecto
  2. Crea tu rama para la nueva Feature (git checkout -b feature/IncreibleFeature)
  3. Haz commit de tus cambios (git commit -m 'Add some IncreibleFeature')
  4. Sube la rama (git push origin feature/IncreibleFeature)
  5. Abre un Pull Request

📄 Licencia

Distribuido bajo la Licencia MIT. Consulta el archivo LICENSE para más información.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors