# Configuración del Portfolio Bot # Documentación: https://github.com/VictorVargas/rony-llm-agent/pkg/llm server: host: "0.0.0.0" port: 7331 read_timeout_ms: 30000 cors_origins: - "http://localhost:4321" # Astro dev server - "https://victorvargas.dev" # Producción (cuando exista) rate_limit: requests_per_minute: 30 # Por IP burst: 5 # Providers LLM (al menos uno configurado) providers: # === Ollama (recomendado para desarrollo) === - name: ollama-local type: ollama model: qwen2.5:1.5b # Modelo pequeño para Q&A endpoint: http://localhost:11434 default: true # === llama.cpp directo (GGUF) === - name: llamacpp-local type: llamacpp model_path: ${RONY_MODELS_PATH}/qwen2.5-1.5b-instruct-q5_k_m.gguf context_size: 4096 n_gpu_layers: 999 # === Anthropic (si quieres calidad > privacidad) === - name: anthropic-api type: anthropic model: claude-haiku-4 # Modelo barato api_key_env: ANTHROPIC_API_KEY # RAG: cómo se indexan los proyectos rag: enabled: true data_path: ./data/projects # Directorio con .md chunk_size: 500 # caracteres por chunk chunk_overlap: 50 embedding_provider: ollama # o llamacpp embedding_model: nomic-embed-text vector_db_path: ./chroma # Persistencia local top_k: 5 # Documentos a recuperar por query rerank: false # Phase 2 # Persona: quién es el bot persona: name: "Rony Chat Bot" tone: "Profesional, conocedor, amable" language: "Español" constraints: - "Solo responder sobre Victor y sus proyectos" - "Si no sabes, decir 'No tengo esa información'" - "Ser conciso pero informativo" - "Usar formato markdown para listas y código" intro: "¡Hola! Soy Rony, el asistente virtual de Victor Hugo Vargas. Pregúntame sobre sus proyectos, skills o experiencia." # System prompt base (concatenado con el contenido RAG) system_prompt: | Eres Rony Chat Bot, el asistente virtual de Victor Hugo Vargas, un ingeniero de software mexicano. Tu trabajo es responder preguntas sobre: - Los proyectos de Victor (ver archivos en data/projects/) - Su experiencia y skills técnicas - Su enfoque de trabajo Responde en español, con tono profesional pero accesible. Si te preguntan algo que no está en tu contexto, dilo honestamente. Formato recomendado: - Usa markdown para listas, código, y énfasis - Sé conciso (máximo 2-3 párrafos por respuesta) - Incluye links a repos cuando sea relevante # Logging logging: level: info # debug | info | warn | error format: json # json | text output: stderr