Funk-lab/ansible/roles/rag
alkatrazz e811e862ae fix(rag): exclure hermes/builtin de l'index funk-docs
Les rapports auto-générés par hermes-auto-improve (admin/hermes/builtin/,
"ne pas éditer") représentaient ~84% des points de la collection et noyaient
la vraie doc → rag-query remontait du bruit. On les élague à l'ingestion
(os.walk), surchargeable via RAG_EXCLUDE. Collection re-bâtie : 403 points
propres (0 builtin), rag-query remonte de nouveau les bons documents.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 21:12:56 +02:00
..
defaults feat(rag): RAG Hermes — Qdrant + rag-ingest/rag-query + skill funk-ai 2026-05-14 22:16:06 +02:00
files fix(rag): exclure hermes/builtin de l'index funk-docs 2026-06-19 21:12:56 +02:00
handlers feat(rag): RAG Hermes — Qdrant + rag-ingest/rag-query + skill funk-ai 2026-05-14 22:16:06 +02:00
tasks feat(rag): RAG Hermes — Qdrant + rag-ingest/rag-query + skill funk-ai 2026-05-14 22:16:06 +02:00
README.md docs(ansible): README par rôle (19) + gaps IaC découverts à l'audit 2026-06-10 15:21:24 +02:00

rag

Déploie la chaîne RAG sur storage-01 : scripts d'ingestion/requête + copie des docs + skill Hermes.

Ce que fait le rôle

  • Crée /srv/data/rag/docs
  • Déploie /usr/local/bin/rag-ingest et /usr/local/bin/rag-query
  • Synchronise admin/ du repo vers /srv/data/rag/docs/ (copie indexée)
  • Déploie le skill rag-docs dans les skills globaux Hermes + le profil funk-ai

Variables principales

Variable Défaut
rag_docs_dir /srv/data/rag/docs
qdrant_url http://127.0.0.1:6333
embed_url http://192.168.10.20:1234/v1/embeddings (llama-server GPU)
embed_model qwen3-8b
rag_collection funk-docs

Workflow après modification de admin/

ansible-playbook -i inventory.yml playbooks/storage-01.yml --tags rag   # re-sync les docs
ssh storage-01 /usr/local/bin/rag-ingest                                # ré-indexe dans Qdrant

(hermes-auto-improve fait aussi un rsync + rag-ingest en fin de run.)

Caveats

  • Dépendances fortes : Qdrant up (:6333) et llama-server GPU up (:1234) — sinon connection refused
  • rag-ingest parcourt tout /srv/data/rag/docs y compris hermes/builtin/ (rapports du bot) — pollution potentielle des résultats, exclusion à prévoir
  • Les embeddings viennent du modèle de génération (Qwen3-8B) — un modèle d'embedding dédié (nomic-embed, bge-m3) est dans la roadmap