# Documentacion - Local LLM Agent **Version:** 1.0.0 **Fecha:** 2026-01-20 **Proyecto:** local-llm-agent **Status:** En desarrollo (MVP) --- ## Indice de Documentacion ### Vision y Arquitectura (`00-vision-general/`, `10-arquitectura/`) | Documento | Descripcion | Estado | |-----------|-------------|--------| | [ARQUITECTURA-LOCAL-LLM.md](00-vision-general/ARQUITECTURA-LOCAL-LLM.md) | Diagrama y componentes del sistema | Completo | | [MODELO-DATOS-OBJETOS.md](10-arquitectura/MODELO-DATOS-OBJETOS.md) | Definicion de objetos y estructuras | Completo | ### Requerimientos (`50-requerimientos/`) | Documento | Descripcion | Estado | |-----------|-------------|--------| | [RF-REQUERIMIENTOS-FUNCIONALES.md](50-requerimientos/RF-REQUERIMIENTOS-FUNCIONALES.md) | Requerimientos funcionales detallados | Completo | | [RNF-REQUERIMIENTOS-NO-FUNCIONALES.md](50-requerimientos/RNF-REQUERIMIENTOS-NO-FUNCIONALES.md) | Requerimientos no funcionales | Completo | ### Plan de Desarrollo (`60-plan-desarrollo/`) | Documento | Descripcion | Estado | |-----------|-------------|--------| | [PLAN-DESARROLLO.md](60-plan-desarrollo/PLAN-DESARROLLO.md) | Plan de desarrollo por fases | Completo | ### Referencias (`80-referencias/`) | Documento | Descripcion | Estado | |-----------|-------------|--------| | [API-REFERENCE.md](80-referencias/API-REFERENCE.md) | Referencia completa de API | Completo | ### Decisiones Arquitectonicas (`90-adr/`) | Documento | Descripcion | Estado | |-----------|-------------|--------| | [ADR-001-runtime-selection.md](90-adr/ADR-001-runtime-selection.md) | Seleccion de runtime (Ollama vs vLLM) | Aceptado | | [ADR-002-model-selection.md](90-adr/ADR-002-model-selection.md) | Seleccion de modelo (GPT-OSS 20B) | Aceptado | --- ## Quick Start ### Prerequisitos - Node.js 20 LTS - Python 3.11+ - Docker y Docker Compose - Ollama instalado con modelo `gpt-oss-20b` ### Inicio Rapido ```bash # 1. Clonar el proyecto (si es submodulo) cd projects/local-llm-agent # 2. Levantar servicios docker-compose up -d # 3. Verificar salud curl http://localhost:3160/health # 4. Probar chat completion curl -X POST http://localhost:3160/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model": "gpt-oss-20b", "messages": [{"role": "user", "content": "Hello"}]}' ``` ### Uso con SDK OpenAI ```python import openai client = openai.OpenAI( base_url="http://localhost:3160/v1", api_key="not-required" ) response = client.chat.completions.create( model="gpt-oss-20b", messages=[{"role": "user", "content": "What is 2+2?"}] ) print(response.choices[0].message.content) ``` --- ## Estructura del Proyecto ``` local-llm-agent/ ├── apps/ │ ├── gateway/ # NestJS API Gateway (puerto 3160) │ │ ├── src/ │ │ │ ├── modules/ │ │ │ │ ├── chat/ # /v1/chat/completions │ │ │ │ ├── models/ # /v1/models │ │ │ │ ├── health/ # /health │ │ │ │ └── mcp-tools/ # /mcp/tools (Fase 2) │ │ │ └── common/ │ │ └── test/ │ │ │ └── inference-engine/ # Python FastAPI (puerto 3161) │ ├── src/ │ │ ├── routes/ # Endpoints │ │ ├── engine/ # Backend manager, Ollama/vLLM │ │ └── adapters/ # Adapters (futuro) │ └── tests/ │ ├── docs/ # Esta documentacion ├── orchestration/ # Configuracion de proyecto ├── docker-compose.yml └── INVENTARIO.yml ``` --- ## Puertos | Servicio | Puerto | Descripcion | |----------|--------|-------------| | Gateway | 3160 | API Gateway (entrada principal) | | Inference Engine | 3161 | Motor de inferencia (interno) | | Ollama | 11434 | Runtime LLM (host) | --- ## Roadmap | Fase | Estado | Objetivo | |------|--------|----------| | Fase 1 (MVP) | En progreso | Gateway basico + Ollama | | Fase 2 | Planificado | MCP Tools + Tier Router | | Fase 3 | Futuro | vLLM + Multi-LoRA | Ver [PLAN-DESARROLLO.md](60-plan-desarrollo/PLAN-DESARROLLO.md) para detalles. --- ## Referencias - **Inventario:** `INVENTARIO.yml` - **Herencia:** `orchestration/_inheritance.yml` - **Workspace:** `/home/isem/workspace-v2` --- **Mantenido por:** Requirements-Analyst Agent **Ultima actualizacion:** 2026-01-20