Este repositorio contiene un MVP de arquitectura cognitiva basada en LLM descrita en el briefing. El objetivo es disponer de un servidor FastAPI que combine un orquestador determinista, memoria destilada, módulo RAG y un consolidador que prepara un briefing estructurado para un LLM grande.
- FastAPI (
app/main.py): expone/chaty/health. Orquesta el flujo de consulta. - Orquestador (
app/orchestrator.py): módulo basado en reglas que decide cuándo usar RAG, memoria y razonador. - RAGEngine (
app/rag.py): almacena chunks de documentos en JSONL y calcula similitud por bolsa de palabras para recuperar contexto relevante. - MemoryStore (
app/memory_store.py): base SQLite para memorias destiladas (hechos, preferencias, conclusiones). - ReasoningEngine (
app/reasoning.py): razonador heurístico que produce conclusiones internas. - Consolidator (
app/consolidator.py): calcula scores, filtra contexto y genera el briefing. - LLMClient (
app/llm.py): encapsula la llamada a un LLM vía API o usa un fallback determinista.
-
Crear y activar un entorno virtual de Python 3.11+.
-
Instalar dependencias:
pip install -r requirements.txt
-
(Opcional) Exportar la clave del proveedor LLM:
export OPENAI_API_KEY="sk-..."
-
Levantar el servidor:
uvicorn app.main:app --reload
-
Probar el endpoint
POST /chatcon un cuerpo JSON del tipo:{ "query_text": "Analiza el nuevo protocolo del PDF de onboarding", "user_id": "usuario-demo" }
Para crear una imagen lista para despliegue:
docker build -t cognitive-llm .
docker run -it -p 8080:8080 cognitive-llmdata/raw/: memoria cruda donde se pueden colocar documentos originales.data/rag_store.jsonl: índice liviano de chunks para el RAG (se genera automáticamente).data/memory/memory.db: base SQLite con memorias destiladas.
Este MVP deja preparado el espacio para añadir un razonador más sofisticado y un mini-LLM de memoria en fases futuras.