- README.md: full English translation, .es.md preserved - docs/architecture.md: full translation (1039 lines) - configs/portfolio-bot.yaml: full English translation, .es.yaml preserved - data/projects/README.md + example-project.md: translated with banners Default language is now English (standard for OSS). Spanish remains available via .es.* suffix files.
82 lines
No EOL
2.6 KiB
YAML
82 lines
No EOL
2.6 KiB
YAML
# Portfolio Bot Configuration
|
|
# Documentation: 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" # Production (when it exists)
|
|
rate_limit:
|
|
requests_per_minute: 30 # Per IP
|
|
burst: 5
|
|
|
|
# LLM providers (at least one configured)
|
|
providers:
|
|
# === Ollama (recommended for development) ===
|
|
- name: ollama-local
|
|
type: ollama
|
|
model: qwen2.5:1.5b # Small model for Q&A
|
|
endpoint: http://localhost:11434
|
|
default: true
|
|
|
|
# === llama.cpp direct (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 (if you want quality > privacy) ===
|
|
- name: anthropic-api
|
|
type: anthropic
|
|
model: claude-haiku-4 # Cheap model
|
|
api_key_env: ANTHROPIC_API_KEY
|
|
|
|
# RAG: how projects are indexed
|
|
rag:
|
|
enabled: true
|
|
data_path: ./data/projects # Directory with .md
|
|
chunk_size: 500 # characters per chunk
|
|
chunk_overlap: 50
|
|
embedding_provider: ollama # or llamacpp
|
|
embedding_model: nomic-embed-text
|
|
vector_db_path: ./chroma # Local persistence
|
|
top_k: 5 # Documents to retrieve per query
|
|
rerank: false # Phase 2
|
|
|
|
# Persona: who the bot is
|
|
persona:
|
|
name: "Rony Chat Bot"
|
|
tone: "Professional, knowledgeable, friendly"
|
|
language: "English"
|
|
constraints:
|
|
- "Only answer about Victor and his projects"
|
|
- "If you don't know, say 'I don't have that information'"
|
|
- "Be concise but informative"
|
|
- "Use markdown format for lists and code"
|
|
intro: "Hi! I'm Rony, Victor Hugo Vargas's virtual assistant. Ask me about his projects, skills or experience."
|
|
|
|
# Base system prompt (concatenated with RAG content)
|
|
system_prompt: |
|
|
You are Rony Chat Bot, the virtual assistant of Victor Hugo Vargas, a Mexican software engineer.
|
|
|
|
Your job is to answer questions about:
|
|
- Victor's projects (see files in data/projects/)
|
|
- His experience and technical skills
|
|
- His work approach
|
|
|
|
Respond in English, with professional but accessible tone.
|
|
If you're asked something not in your context, say it honestly.
|
|
|
|
Recommended format:
|
|
- Use markdown for lists, code, and emphasis
|
|
- Be concise (max 2-3 paragraphs per response)
|
|
- Include links to repos when relevant
|
|
|
|
# Logging
|
|
logging:
|
|
level: info # debug | info | warn | error
|
|
format: json # json | text
|
|
output: stderr |