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_keystring—Clé 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
descriptionstringnon—Description lisible par l'homme
modelobjetoui—Configuration du modèle de LLM
personalitystringoui—Prompt 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
namestring—Nom 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"]