Aller au contenu principal

Référence de la configuration YAML

Sinaptic® DROID+ utilise deux types de fichiers de configuration YAML :

  1. Configuration principale (droid.yaml) — paramètres globaux du serveur, du LLM, de la sécurité et de la journalisation (logging)
  2. Configurations d'agent (configs/agents/*.yaml) — paramètres du modèle, de la personnalité, des outils et du comportement par agent

Toutes les valeurs de configuration prennent en charge la substitution de ${ENV_VAR} — Sinaptic® DROID+ résout les variables d'environnement au démarrage.


Configuration principale (droid.yaml)

edition (édition)

ValeurDescription
communityÉdition gratuite, max 2 agents, sécurité RegExp uniquement (par défaut)
proAgents illimités, cascade complète SinapticAI
enterpriseMulti-tenancy, conformité, haute disponibilité (HA)

server (serveur)

ChampTypePar défautDescription
openai_portint8080Port pour l'API compatible OpenAI
management_portint8081Port pour l'API de gestion
cors_origins[]string["*"]Origines CORS autorisées
api_keystringClé API pour l'authentification (prend en charge ${ENV_VAR})
demo_modeboolfalseActiver le mode démo

llm

Configuration du fournisseur de LLM principal.

ChampTypePar défautDescription
providerstringopenaiNom du fournisseur de LLM (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp)
base_urlstringhttps://api.openai.com/v1URL de base de l'API
api_keystring${OPENAI_API_KEY}Clé API (prend en charge ${ENV_VAR})
default_modelstringgpt-4o-miniNom du modèle par défaut

anthropic

ChampTypePar défautDescription
base_urlstringhttps://api.anthropic.comURL de base de l'API Anthropic
api_keystring${ANTHROPIC_API_KEY}Clé API

gemini

ChampTypePar défautDescription
base_urlstringhttps://generativelanguage.googleapis.com/v1betaURL de base de l'API Gemini
api_keystring${GEMINI_API_KEY}Clé API

grok

ChampTypePar défautDescription
base_urlstringhttps://api.x.ai/v1URL de base de l'API Grok (xAI)
api_keystring${GROK_API_KEY}Clé API

ollama

ChampTypePar défautDescription
base_urlstringhttp://localhost:11434/v1URL de base de l'API Ollama

lm_studio

ChampTypePar défautDescription
base_urlstringhttp://localhost:1234/v1URL de base de l'API LM Studio

llama_cpp

ChampTypePar défautDescription
base_urlstringhttp://localhost:8080/v1URL de base du serveur llama.cpp

embedding (plongements)

ChampTypePar défautDescription
modelstringtext-embedding-3-smallNom du modèle d'embedding
base_urlstring(utilise llm.base_url par défaut)URL de base de l'API d'embedding
api_keystring(utilise llm.api_key par défaut)Clé API d'embedding

sinaptic

Configuration de la couche de sécurité SinapticAI.

ChampTypePar défautDescription
enabledbooltrueActiver le scan de sécurité SinapticAI
modestringblockAction en cas de détection de menace : block ou log
log_blockedbooltrueJournaliser les requêtes bloquées

sinaptic.pii

ChampTypePar défautDescription
enabledbooltrueActiver la détection des PII (données personnelles)
strategystringmaskStratégie de gestion des PII : mask (masquer) ou block (bloquer)

mcp

Configuration du serveur d'outils Model Context Protocol (MCP).

mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
ChampTypeDescription
serversmapDéfinitions de serveurs MCP nommés

Par serveur :

ChampTypeDescription
commandstringCommande pour lancer le serveur MCP
args[]stringArguments de la commande
envmap[string]stringVariables d'environnement pour le processus du serveur

logging (journalisation)

ChampTypePar défautDescription
levelstringinfoNiveau de log (debug, info, warn, error)
formatstringjsonFormat de log (json ou text)

audit

ChampTypePar défautDescription
enabledboolfalseActiver la journalisation d'audit
log_pathstring./logs/auditChemin des fichiers de log d'audit
retention_daysint30Jours de rétention des logs d'audit

branding (marque)

ChampTypePar défautDescription
show_badgebool(auto)Afficher le badge "Powered by Sinaptic® DROID+". Auto : true pour community, false pour pro/enterprise

Chemins de haut niveau

ChampTypePar défautDescription
data_dirstring./dataRépertoire des données d'exécution (embeddings, état)
agents_dirstring./configs/agentsRépertoire contenant les configurations YAML des agents

Configuration d'agent (configs/agents/*.yaml)

Champs de haut niveau

ChampTypeRequisPar défautDescription
namestringoui(nom du fichier)Identifiant unique de l'agent
descriptionstringnonDescription lisible par l'homme
modelobjetouiConfiguration du modèle de LLM
personalitystringouiPrompt système pour l'agent
agent_typestringnonplainBoucle de traitement : plain ou react
execution_modestringnonsequentialExécution des outils : sequential ou parallel
chain_of_thoughtboolnonfalseActiver le raisonnement par chaîne de pensée
max_iterationsintnon10Itérations max de la boucle ReAct
tool_timeoutstringnon30sDélai d'expiration par défaut pour les appels d'outils

model

ChampTypePar défautDescription
namestringNom du modèle (ex: gpt-4o, claude-sonnet-4-20250514)
base_urlstring(depuis la conf principale)Surcharger l'URL de base de l'API du LLM
api_keystring(depuis la conf principale)Surcharger la clé API
max_tokensint1024Nombre maximum de tokens de réponse
temperaturefloat0.7Température d'échantillonnage (0-2)

memory.short_term (mémoire à court terme)

ChampTypePar défautDescription
max_messagesint50Taille de la fenêtre glissante de l'historique de conversation

rag

ChampTypePar défautDescription
enabledboolfalseActiver la génération augmentée par récupération
top_kint3Nombre de fragments à récupérer
min_scorefloat0.7Seuil de score de similitude minimal

tools (outils)

Tableau de configurations d'outils.

ChampTypeRequisDescription
namestringouiIdentifiant de l'outil
descriptionstringnonDescription de l'outil (montrée au LLM)
typestringouiType d'outil : mcp, rest_api
urlstringrest_apiURL de l'endpoint
methodstringrest_apiMéthode HTTP (GET, POST, PUT, DELETE)
headersmaprest_apiEn-têtes HTTP
timeoutstringrest_apiDélai d'expiration de la requête (ex: 10s)

pipeline

Étapes du pipeline multi-LLM (optionnel). Lorsqu'il est défini, la requête passe par chaque étape séquentiellement.

ChampTypeRequisDescription
namestringouiIdentifiant de l'étape
modelobjetouiConfiguration du modèle pour cette étape
personalitystringouiPrompt système pour cette étape

spawns (appels subordonnés)

Configuration des appels d'agent à agent (A2A).

ChampTypePar défautDescription
max_spawnsint5Appels max de sous-agents par requête (0 = illimité)
max_tokens_per_spawnint4096Budget de tokens par appel subordonné
max_depthint3Profondeur de récursion maximale
allowed_agents[]string[] (tous)Liste blanche des agents pouvant être appelés
spawn_timeout_secsint60Délai d'expiration par appel subordonné en secondes

rate_limit (limite de débit)

ChampTypePar défautDescription
requests_per_minuteint0 (illimité)Requêtes max par minute

sinaptic

Surcharge de SinapticAI par agent.

ChampTypePar défautDescription
enabledbool(hérite du global)Surcharger l'activation globale de SinapticAI

Exemple complet

droid.yaml

edition: community

server:
openai_port: 8080
management_port: 8081
cors_origins: ["*"]

llm:
provider: openai
base_url: https://api.openai.com/v1
api_key: ${OPENAI_API_KEY}
default_model: gpt-4o-mini

anthropic:
api_key: ${ANTHROPIC_API_KEY}

embedding:
model: text-embedding-3-small

sinaptic:
enabled: true
mode: block
pii:
enabled: true
strategy: mask
log_blocked: true

logging:
level: info
format: json

audit:
enabled: false
log_path: ./logs/audit
retention_days: 30

data_dir: ./data
agents_dir: ./configs/agents

configs/agents/support-bot.yaml

name: support-bot
description: Agent de support client avec RAG et outils

model:
name: gpt-4o
max_tokens: 2048
temperature: 0.5

personality: |
Vous êtes un agent de support client utile.
Soyez toujours poli, concis et précis.

agent_type: react
execution_mode: parallel
chain_of_thought: true
max_iterations: 5
tool_timeout: 15s

memory:
short_term:
max_messages: 100

rag:
enabled: true
top_k: 5
min_score: 0.6

tools:
- name: lookup-order
type: rest_api
description: Rechercher le statut d'une commande par son ID
url: https://api.example.com/orders/${order_id}
method: GET
headers:
Authorization: "Bearer ${INTERNAL_API_KEY}"
timeout: 10s

rate_limit:
requests_per_minute: 60

spawns:
max_spawns: 3
max_depth: 2
allowed_agents: ["billing-agent", "shipping-agent"]