Aller au contenu

Commandes CLI

Le bundle fournit des commandes pour la maintenance et le debug.

synapse:doctor

La commande la plus importante pour la maintenance. Elle diagnostique et répare automatiquement les problèmes d'intégration.

# Lancer le diagnostic
php bin/console synapse:doctor

# Réparer les problèmes détectés
php bin/console synapse:doctor --fix

# Initialisation complète (nouveau projet)
php bin/console synapse:doctor --init

Actions effectuées par le doctor : - Vérification version PHP et extensions (Sodium). - Inscription des bundles dans bundles.php. - Diagnostic des entités personnalisées et création si nécessaire. - Vérification du mapping AssetMapper (Stimulus). - Vérification de la sécurité (firewalls, access_control) et génération de config. - Vérification des routes et de la base de données (PostgreSQL, pgvector).

synapse:purge

Purge les conversations trop anciennes selon la politique de rétention définie dans synapse.yaml.

# Simulation
php bin/console synapse:purge --dry-run
# Purge réelle
php bin/console synapse:purge

synapse:debug:embedding

Teste la génération d'un embedding avec le provider actif. Utile pour diagnostiquer les problèmes de connexion au service d'embeddings.

# Tester avec un texte
php bin/console synapse:debug:embedding "Bonjour monde"

# Tester avec un texte et afficher le vecteur complet
php bin/console synapse:debug:embedding "Bonjour monde" --show-vector

synapse:spending:warm-cache

Recalcule les compteurs de dépenses depuis la base de données et met à jour le cache. Utile après une migration, une correction manuelle en base, ou si le cache a été vidé.

php bin/console synapse:spending:warm-cache

synapse:rag:reindex

Réindexe une ou toutes les sources RAG : chunking des documents + génération des embeddings.

# Réindexer une source spécifique
php bin/console synapse:rag:reindex lycee_intranet

# Réindexer toutes les sources
php bin/console synapse:rag:reindex --all

# Mode simulé (dry-run)
php bin/console synapse:rag:reindex --dry-run

Fonctionnement : - Récupère les documents depuis le provider de source RAG (RagSourceProviderInterface) - Découpe chaque document selon la stratégie de chunking (Recursive ou Fixed) - Génère les embeddings pour chaque chunk via EmbeddingService - Persiste les chunks vectorisés dans SynapseRagDocument

synapse:rag:test

Teste une requête de recherche RAG pour diagnostiquer la pertinence et la qualité des résultats.

# Test simple
php bin/console synapse:rag:test "ma requête de test"

# Avec source spécifique et limite de résultats
php bin/console synapse:rag:test "comment configurer l'authentification ?" --source=lycee_intranet --limit=5

# Afficher les scores de pertinence (cosine similarity)
php bin/console synapse:rag:test "my query" --show-scores

Affiche : - Résultats vectoriels (chunks similaires) - Score de pertinence (0.0–1.0) pour chacun - Contenu du chunk pour validation - Métadonnées d'origine (file, page, etc.)

synapse:agent:test-suite

Exécute la batterie de tests reproductibles d'un agent (Garde-fou #4). Utile en CI/CD pour détecter des régressions après une modification de prompt.

# Exécuter tous les cas de test d'un agent
php bin/console synapse:agent:test-suite support_client

# Avec un seuil de tolérance aux échecs
php bin/console synapse:agent:test-suite support_client --fail-threshold=2

# Afficher les réponses brutes de l'agent
php bin/console synapse:agent:test-suite support_client --verbose-answers

Codes de sortie : - 0 : tous les cas sont passés - 1 : au moins un cas a échoué (ou le seuil --fail-threshold est dépassé) - 2 : erreur d'exécution (agent introuvable, exception LLM, etc.)

Les cas de test (SynapseAgentTestCase) sont créés depuis l'admin ou via data fixtures.

synapse:architect

Génère une définition d'agent ou de workflow via l'agent architecte (LLM-driven). Permet de créer des agents et workflows depuis une description en langage naturel.

# Créer un agent
php bin/console synapse:architect create-agent "Un agent de support technique pour les utilisateurs"

# Améliorer le prompt d'un agent existant
php bin/console synapse:architect improve-prompt "Rendre le prompt plus concis" --agent-key=support_technique

# Créer un workflow multi-agents
php bin/console synapse:architect create-workflow "Analyser un document puis le résumer"

# Mode simulation (affiche sans appliquer)
php bin/console synapse:architect create-agent "..." --dry-run

Actions disponibles : - create-agent : Crée un nouvel agent (inactif, prompt en pending) - improve-prompt : Propose une nouvelle version de prompt pour un agent existant - create-workflow : Crée un nouveau workflow (inactif)

Options : - --dry-run : Affiche la proposition sans la persister - --agent-key=<key> : Clé de l'agent cible (requis pour improve-prompt) - --instructions=<texte> : Directives supplémentaires pour le LLM

synapse:preset:suggest

Recommande et crée un preset LLM optimal, soit par heuristique automatique, soit via appel LLM.

# Suggestion automatique (heuristique)
php bin/console synapse:preset:suggest

# Suggestion LLM-assistée avec description
php bin/console synapse:preset:suggest "Je veux un modèle rapide et économique"

# Avec activation automatique du preset créé
php bin/console synapse:preset:suggest --heuristic --activate

# Filtrer par provider, sans créer
php bin/console synapse:preset:suggest --provider=anthropic --dry-run

Options : - --dry-run : Affiche la recommandation sans créer le preset - --activate : Active le preset créé comme preset par défaut - --provider=<slug> : Filtre les modèles par provider (ex: anthropic, ovh) - --heuristic : Force le mode heuristique sans appel LLM

synapse:version:update (Interne)

Met à jour le fichier VERSION avec la date courante au format dev 0.YYMMDD. Utilisé lors du process de release.

php bin/console synapse:version:update