Funk-lab/ansible/roles/llama_server/templates/llama-embed.service.j2
alkatrazz 417d49c1ea fix(rag): ubatch=2048 pour llama-embed + retry rag-ingest + nettoie defaults rag
L'instance llama-embed (:1238) tournait avec l'ubatch llama.cpp par défaut (512).
En mode --embeddings + pooling, toute l'entrée doit tenir dans un seul ubatch →
tout chunk > 512 tokens échouait en HTTP 500 « input too large to process.
increase the physical batch size ». ~46 chunks du RAG (CHUNK_MAX=2000 chars ≈
700 tokens) n'étaient pas indexés.

- llama_server : ajoute llama_embed_ubatch_size (2048 = ctx) + flags
  --batch-size/--ubatch-size dans le template llama-embed.service.
- rag-ingest : retry (5×, backoff) sur erreurs transitoires 5xx/réseau de l'embed.
- rag/defaults : aligne embed_url/embed_model sur nomic :1238 (étaient des vars
  mortes pointant encore qwen3-8b :1234 — trompeuses).

Résultat : ré-ingestion 436/436 chunks, 0 erreur.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 22:47:18 +02:00

28 lines
851 B
Django/Jinja

[Unit]
Description=llama-server embeddings ({{ llama_embed_model_alias }})
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
Environment=HSA_OVERRIDE_GFX_VERSION={{ hsa_override_gfx_version }}
Environment=LD_LIBRARY_PATH={{ rocm_path }}/lib
ExecStart=/opt/llama.cpp/build/bin/llama-server \
--model {{ llama_embed_model_path }} \
--host {{ llama_server_host }} \
--port {{ llama_embed_port }} \
--ctx-size {{ llama_embed_ctx_size }} \
--batch-size {{ llama_embed_ubatch_size }} \
--ubatch-size {{ llama_embed_ubatch_size }} \
--n-gpu-layers {{ llama_embed_n_gpu_layers }} \
--alias {{ llama_embed_model_alias }} \
--embeddings \
--pooling {{ llama_embed_pooling }} \
--metrics \
--log-disable
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target