docs: alinear modelos a qwen2.5:7b + bge-m3 (iGPU activa)
Build & Deploy ResearchOwl / build-and-push (push) Successful in 14s

Generación 3B→7B y embeddings a bge-m3 en README, CLAUDE.md, .env.example y
k8s/deployment.yaml. Corregido el default buggy de config.py: ollama_embed_model
era qwen2.5:3b (un modelo de chat) → bge-m3. Añadido OLLAMA_EMBED_MODEL donde
faltaba. Nota del host público de ollama ahora tras Authentik.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ChemaVX
2026-07-23 09:54:58 +00:00
co-authored by Claude Opus 4.8
parent 6029bebae5
commit 9653898366
5 changed files with 12 additions and 9 deletions
+2 -1
View File
@@ -7,7 +7,8 @@ TELEGRAM_ALLOWED_USERS=123456789 # your Telegram user ID
# Ollama (default points to your existing instance)
OLLAMA_URL=http://ollama.chemavx.xyz
OLLAMA_MODEL=qwen2.5:3b
OLLAMA_MODEL=qwen2.5:7b
OLLAMA_EMBED_MODEL=bge-m3
# Claude fallback (optional, only for premium generation)
# ANTHROPIC_API_KEY=sk-ant-...
+3 -3
View File
@@ -2,13 +2,13 @@
## Contexto del proyecto
Eres el agente de construcción e implementación de **ResearchOwl**, un bot de Telegram que realiza investigación exhaustiva sobre cualquier tema usando scraping recursivo y Ollama (qwen2.5:3b) para procesamiento y generación de contenido.
Eres el agente de construcción e implementación de **ResearchOwl**, un bot de Telegram que realiza investigación exhaustiva sobre cualquier tema usando scraping recursivo, Ollama (qwen2.5:7b para scoring, bge-m3 para embeddings) y Claude para la generación de contenido.
El homelab donde se desplegará tiene:
- **k3s** con Traefik + cert-manager + Cloudflare DNS
- **ArgoCD** para GitOps (repo: `k8s-manifests` en Gitea)
- **Gitea** en `git.chemavx.xyz` + Container Registry
- **Ollama** en `http://ollama.chemavx.xyz` con modelo `qwen2.5:3b`
- **Ollama** (vía Service interno `ollama.ollama.svc.cluster.local:11434`): `qwen2.5:7b` para scoring y `bge-m3` para embeddings. Nota: el host público `ollama.chemavx.xyz` está tras Authentik desde 2026-07-23; los consumidores del cluster van por el Service.
- **Telegram bot** ya existente en `@chemavx_bot`
- Dominio base: `chemavx.xyz`
@@ -321,6 +321,6 @@ Uso desde Telegram:
- **No crear un bot de Telegram nuevo** — el usuario ya tiene `@chemavx_bot`. Solo necesita configurar el token en el secret de k3s.
- **No modificar** los manifests de k8s para añadir Ingress — el bot usa polling de Telegram, no necesita exponer ningún puerto.
- **Ollama** ya está corriendo en el cluster. La URL `http://ollama.chemavx.xyz` es correcta.
- Si `qwen2.5:3b` es lento para scoring de calidad, se puede desactivar el scoring con `QUALITY_THRESHOLD=0` y todos los chunks pasan directamente.
- Si `qwen2.5:7b` es lento para scoring de calidad, se puede desactivar el scoring con `QUALITY_THRESHOLD=0` y todos los chunks pasan directamente.
- El proyecto usa **SQLite** (coherente con el resto del homelab).
- Respetar el `REQUEST_DELAY=1.0` para no hacer ban en las fuentes.
+2 -2
View File
@@ -18,7 +18,7 @@ ExhaustiveScraper
├── PDFs (public documents)
└── Web scraping (trafilatura)
↓ recursive expansion (depth 1-3)
ContentProcessor (Ollama qwen2.5:3b)
ContentProcessor (Ollama qwen2.5:7b + bge-m3 embeddings)
├── Chunking (800 token chunks, 100 overlap)
├── Quality scoring (0-10 per chunk)
├── Embeddings (cosine similarity RAG)
@@ -102,7 +102,7 @@ git add . && git commit -m "feat: add researchowl" && git push
## Notes
- Uses **qwen2.5:3b** (your existing Ollama) for all AI tasks — zero API cost
- Uses **qwen2.5:7b** (scoring) and **bge-m3** (embeddings) on your existing Ollama — zero API cost
- Optionally add `ANTHROPIC_API_KEY` for Claude fallback on generation
- SQLite database stored in `/data/researchowl.db`
- All outputs saved to DB and available via `/outputs`
+3 -1
View File
@@ -53,7 +53,9 @@ spec:
- name: OLLAMA_URL
value: "http://ollama.chemavx.xyz"
- name: OLLAMA_MODEL
value: "qwen2.5:3b"
value: "qwen2.5:7b"
- name: OLLAMA_EMBED_MODEL
value: "bge-m3"
- name: DB_PATH
value: "/data/researchowl.db"
- name: MAX_SOURCES
+2 -2
View File
@@ -17,8 +17,8 @@ class Settings(BaseSettings):
# Ollama
ollama_url: str = Field("http://ollama.chemavx.xyz")
ollama_model: str = Field("qwen2.5:3b")
ollama_embed_model: str = Field("qwen2.5:3b")
ollama_model: str = Field("qwen2.5:7b")
ollama_embed_model: str = Field("bge-m3")
# Claude fallback (optional)
anthropic_api_key: Optional[str] = Field(None)