docs: alinear modelos a qwen2.5:7b + bge-m3 (iGPU activa)
Build & Deploy ResearchOwl / build-and-push (push) Successful in 14s
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:
co-authored by
Claude Opus 4.8
parent
6029bebae5
commit
9653898366
+2
-1
@@ -7,7 +7,8 @@ TELEGRAM_ALLOWED_USERS=123456789 # your Telegram user ID
|
|||||||
|
|
||||||
# Ollama (default points to your existing instance)
|
# Ollama (default points to your existing instance)
|
||||||
OLLAMA_URL=http://ollama.chemavx.xyz
|
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)
|
# Claude fallback (optional, only for premium generation)
|
||||||
# ANTHROPIC_API_KEY=sk-ant-...
|
# ANTHROPIC_API_KEY=sk-ant-...
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
## Contexto del proyecto
|
## 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:
|
El homelab donde se desplegará tiene:
|
||||||
- **k3s** con Traefik + cert-manager + Cloudflare DNS
|
- **k3s** con Traefik + cert-manager + Cloudflare DNS
|
||||||
- **ArgoCD** para GitOps (repo: `k8s-manifests` en Gitea)
|
- **ArgoCD** para GitOps (repo: `k8s-manifests` en Gitea)
|
||||||
- **Gitea** en `git.chemavx.xyz` + Container Registry
|
- **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`
|
- **Telegram bot** ya existente en `@chemavx_bot`
|
||||||
- Dominio base: `chemavx.xyz`
|
- 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 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.
|
- **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.
|
- **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).
|
- El proyecto usa **SQLite** (coherente con el resto del homelab).
|
||||||
- Respetar el `REQUEST_DELAY=1.0` para no hacer ban en las fuentes.
|
- Respetar el `REQUEST_DELAY=1.0` para no hacer ban en las fuentes.
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ ExhaustiveScraper
|
|||||||
├── PDFs (public documents)
|
├── PDFs (public documents)
|
||||||
└── Web scraping (trafilatura)
|
└── Web scraping (trafilatura)
|
||||||
↓ recursive expansion (depth 1-3)
|
↓ recursive expansion (depth 1-3)
|
||||||
ContentProcessor (Ollama qwen2.5:3b)
|
ContentProcessor (Ollama qwen2.5:7b + bge-m3 embeddings)
|
||||||
├── Chunking (800 token chunks, 100 overlap)
|
├── Chunking (800 token chunks, 100 overlap)
|
||||||
├── Quality scoring (0-10 per chunk)
|
├── Quality scoring (0-10 per chunk)
|
||||||
├── Embeddings (cosine similarity RAG)
|
├── Embeddings (cosine similarity RAG)
|
||||||
@@ -102,7 +102,7 @@ git add . && git commit -m "feat: add researchowl" && git push
|
|||||||
|
|
||||||
## Notes
|
## 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
|
- Optionally add `ANTHROPIC_API_KEY` for Claude fallback on generation
|
||||||
- SQLite database stored in `/data/researchowl.db`
|
- SQLite database stored in `/data/researchowl.db`
|
||||||
- All outputs saved to DB and available via `/outputs`
|
- All outputs saved to DB and available via `/outputs`
|
||||||
|
|||||||
+3
-1
@@ -53,7 +53,9 @@ spec:
|
|||||||
- name: OLLAMA_URL
|
- name: OLLAMA_URL
|
||||||
value: "http://ollama.chemavx.xyz"
|
value: "http://ollama.chemavx.xyz"
|
||||||
- name: OLLAMA_MODEL
|
- name: OLLAMA_MODEL
|
||||||
value: "qwen2.5:3b"
|
value: "qwen2.5:7b"
|
||||||
|
- name: OLLAMA_EMBED_MODEL
|
||||||
|
value: "bge-m3"
|
||||||
- name: DB_PATH
|
- name: DB_PATH
|
||||||
value: "/data/researchowl.db"
|
value: "/data/researchowl.db"
|
||||||
- name: MAX_SOURCES
|
- name: MAX_SOURCES
|
||||||
|
|||||||
+2
-2
@@ -17,8 +17,8 @@ class Settings(BaseSettings):
|
|||||||
|
|
||||||
# Ollama
|
# Ollama
|
||||||
ollama_url: str = Field("http://ollama.chemavx.xyz")
|
ollama_url: str = Field("http://ollama.chemavx.xyz")
|
||||||
ollama_model: str = Field("qwen2.5:3b")
|
ollama_model: str = Field("qwen2.5:7b")
|
||||||
ollama_embed_model: str = Field("qwen2.5:3b")
|
ollama_embed_model: str = Field("bge-m3")
|
||||||
|
|
||||||
# Claude fallback (optional)
|
# Claude fallback (optional)
|
||||||
anthropic_api_key: Optional[str] = Field(None)
|
anthropic_api_key: Optional[str] = Field(None)
|
||||||
|
|||||||
Reference in New Issue
Block a user