mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Ollama signale certains échecs en cours de génération (OOM, contexte trop
grand, débordement sur CPU) via une ligne JSON {"error": ...} avec un statut
HTTP 200. La boucle de streaming ne lisait que message.content / tool_calls /
done : ces lignes étaient ignorées, le flux se terminait avec un contenu vide,
et l'UI n'affichait rien — l'agent semblait "ne pas répondre".
- ollama_client: OllamaError + détection des chunks {"error": ...} (chat & pull),
corps de réponse remonté sur erreur HTTP, timeout de connexion court
(échec rapide si Ollama injoignable) avec lecture sans limite, et parsing
JSON tolérant aux lignes partielles.
- agent: capture d'OllamaError -> événement "error" affiché à l'utilisateur.
- docker-compose: config GPU NVIDIA pour le service Ollama embarqué (sinon CPU).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
51 lines
1.8 KiB
YAML
51 lines
1.8 KiB
YAML
services:
|
|
loki:
|
|
build: .
|
|
container_name: loki
|
|
ports:
|
|
# Un seul numéro de port, identique dedans/dehors.
|
|
- "${PORT:-8717}:${PORT:-8717}"
|
|
environment:
|
|
- OLLAMA_HOST=${OLLAMA_HOST:-http://host.docker.internal:11434}
|
|
- DEFAULT_MODEL=${DEFAULT_MODEL:-llama3.1:8b}
|
|
- WORKSPACE_DIR=/workspace
|
|
- DATA_DIR=/data
|
|
- PORT=${PORT:-8717}
|
|
# Optionnel : instance SearxNG pour web_search (sinon DuckDuckGo)
|
|
- SEARX_URL=${SEARX_URL:-}
|
|
volumes:
|
|
- ./workspace:/workspace
|
|
- ./data:/data
|
|
extra_hosts:
|
|
# Permet d'atteindre un Ollama installé sur la machine hôte
|
|
- "host.docker.internal:host-gateway"
|
|
# Le HEALTHCHECK est défini dans l'image (utilise automatiquement $PORT).
|
|
restart: unless-stopped
|
|
|
|
# ── Ollama optionnel ──────────────────────────────────────────────────
|
|
# Par défaut, Loki se connecte à un Ollama déjà présent sur l'hôte.
|
|
# Pour embarquer Ollama dans la stack, lance : docker compose --profile ollama up
|
|
# et règle OLLAMA_HOST=http://ollama:11434
|
|
ollama:
|
|
image: ollama/ollama:latest
|
|
container_name: loki-ollama
|
|
profiles: ["ollama"]
|
|
ports:
|
|
- "11434:11434"
|
|
volumes:
|
|
- ollama-models:/root/.ollama
|
|
# Accès GPU NVIDIA : sans ceci, l'Ollama embarqué tourne en CPU (très lent).
|
|
# Nécessite le NVIDIA Container Toolkit installé sur l'hôte. Si tu n'as pas
|
|
# de GPU NVIDIA, commente tout le bloc `deploy:` ci-dessous.
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: ["gpu"]
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
ollama-models:
|