Saltar al contenido principal

Referencia de configuración de YAML

Sinaptic® DROID+ utiliza dos tipos de archivos de configuración YAML:

  1. Configuración principal (droid.yaml): ajustes globales del servidor, LLM, seguridad y registro (logging).
  2. Configuraciones de agentes (configs/agents/*.yaml): modelo, personalidad, herramientas y comportamiento por agente.

Todos los valores de configuración admiten la sustitución de ${VAR_ENTORNO}: Sinaptic® DROID+ resuelve las variables de entorno al iniciarse.


Configuración principal (droid.yaml)

edition (edición)

ValorDescripción
communityEdición gratuita, máx. 2 agentes, seguridad solo RegExp (por defecto)
proAgentes ilimitados, cascada completa de SinapticAI
enterpriseMulti-tenancy, cumplimiento, HA (Alta Disponibilidad)

server (servidor)

CampoTipoPor defectoDescripción
openai_portint8080Puerto para la API compatible con OpenAI
management_portint8081Puerto para la API de gestión
cors_origins[]string["*"]Orígenes de CORS permitidos
api_keystringClave API para autenticación (admite ${VAR_ENTORNO})
demo_modeboolfalseHabilitar el modo demo

llm

Configuración del proveedor de LLM principal.

CampoTipoPor defectoDescripción
providerstringopenaiNombre del proveedor de LLM (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp)
base_urlstringhttps://api.openai.com/v1URL base de la API
api_keystring${OPENAI_API_KEY}Clave API (admite ${VAR_ENTORNO})
default_modelstringgpt-4o-miniNombre del modelo por defecto

anthropic

CampoTipoPor defectoDescripción
base_urlstringhttps://api.anthropic.comURL base de la API de Anthropic
api_keystring${ANTHROPIC_API_KEY}Clave API

gemini

CampoTipoPor defectoDescripción
base_urlstringhttps://generativelanguage.googleapis.com/v1betaURL base de la API de Gemini
api_keystring${GEMINI_API_KEY}Clave API

grok

CampoTipoPor defectoDescripción
base_urlstringhttps://api.x.ai/v1URL base de la API de Grok (xAI)
api_keystring${GROK_API_KEY}Clave API

ollama

CampoTipoPor defectoDescripción
base_urlstringhttp://localhost:11434/v1URL base de la API de Ollama

lm_studio

CampoTipoPor defectoDescripción
base_urlstringhttp://localhost:1234/v1URL base de la API de LM Studio

llama_cpp

CampoTipoPor defectoDescripción
base_urlstringhttp://localhost:8080/v1URL base del servidor llama.cpp

embedding (incrustaciones)

CampoTipoPor defectoDescripción
modelstringtext-embedding-3-smallNombre del modelo de embedding
base_urlstring(usa llm.base_url)URL base de la API de embedding
api_keystring(usa llm.api_key)Clave API de embedding

sinaptic

Configuración de la capa de seguridad de SinapticAI.

CampoTipoPor defectoDescripción
enabledbooltrueHabilitar el escaneo de seguridad de SinapticAI
modestringblockAcción ante la detección de amenazas: block (bloquear) o log (solo registrar)
log_blockedbooltrueRegistrar solicitudes bloqueadas

sinaptic.pii

CampoTipoPor defectoDescripción
enabledbooltrueHabilitar la detección de PII (datos personales)
strategystringmaskEstrategia para PII: mask (enmascarar) o block (bloquear)

mcp

Configuración del servidor de herramientas de Model Context Protocol (MCP).

mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
CampoTipoDescripción
serversmapDefiniciones de servidores MCP con nombre

Por servidor:

CampoTipoDescripción
commandstringComando para lanzar el servidor MCP
args[]stringArgumentos del comando
envmap[string]stringVariables de entorno para el proceso del servidor

logging (registro)

CampoTipoPor defectoDescripción
levelstringinfoNivel de registro (debug, info, warn, error)
formatstringjsonFormato de registro (json o text)

audit (auditoría)

CampoTipoPor defectoDescripción
enabledboolfalseHabilitar el registro de auditoría
log_pathstring./logs/auditRuta para los archivos de registro de auditoría
retention_daysint30Días para retener los registros de auditoría

branding (marca)

CampoTipoPor defectoDescripción
show_badgebool(auto)Mostrar el distintivo "Powered by Sinaptic® DROID+". Auto: true para community, false para pro/enterprise

Rutas de nivel superior

CampoTipoPor defectoDescripción
data_dirstring./dataDirectorio para datos de ejecución (embeddings, estado)
agents_dirstring./configs/agentsDirectorio que contiene las configuraciones YAML de los agentes

Configuración del agente (configs/agents/*.yaml)

Campos de nivel superior

CampoTipoRequeridoPor defectoDescripción
namestring(nombre del archivo)Identificador único del agente
descriptionstringnoDescripción legible para humanos
modelobjetoConfiguración del modelo de LLM
personalitystringPrompt del sistema para el agente
agent_typestringnoplainBucle de procesamiento: plain o react
execution_modestringnosequentialEjecución de herramientas: sequential o parallel
chain_of_thoughtboolnofalseHabilitar el razonamiento paso a paso (chain-of-thought)
max_iterationsintno10Iteraciones máximas del bucle ReAct
tool_timeoutstringno30sTiempo de espera por defecto para llamadas a herramientas

model

CampoTipoPor defectoDescripción
namestringNombre del modelo (p. ej., gpt-4o, claude-sonnet-4-20250514)
base_urlstring(de la conf. ppal)Sobrescribir la URL base de la API de LLM
api_keystring(de la conf. ppal)Sobrescribir la clave API
max_tokensint1024Máximo de tokens de respuesta
temperaturefloat0.7Temperatura de muestreo (0-2)

memory.short_term (memoria a corto plazo)

CampoTipoPor defectoDescripción
max_messagesint50Tamaño de la ventana deslizante del historial de conversación

rag

CampoTipoPor defectoDescripción
enabledboolfalseHabilitar la generación aumentada por recuperación
top_kint3Número de fragmentos a recuperar
min_scorefloat0.7Umbral mínimo de puntuación de similitud

herramientas (tools)

Array de configuraciones de herramientas.

CampoTipoRequeridoDescripción
namestringIdentificador de la herramienta
descriptionstringnoDescripción de la herramienta (se muestra al LLM)
typestringTipo de herramienta: mcp, rest_api
urlstringrest_apiURL del endpoint
methodstringrest_apiMétodo HTTP (GET, POST, PUT, DELETE)
headersmaprest_apiEncabezados HTTP
timeoutstringrest_apiTiempo de espera de la solicitud (p. ej., 10s)

pipeline (flujo)

Pasos de un flujo multi-LLM (opcional). Cuando se define, la solicitud pasa por cada paso de forma secuencial.

CampoTipoRequeridoDescripción
namestringIdentificador del paso
modelobjetoConfiguración del modelo para este paso
personalitystringPrompt del sistema para este paso

spawns (instancias hijas)

Configuración de llamadas de agente a agente (A2A).

CampoTipoPor defectoDescripción
max_spawnsint5Máx. de llamadas a sub-agentes por solicitud (0 = ilimitado)
max_tokens_per_spawnint4096Presupuesto de tokens por llamada hija
max_depthint3Profundidad máxima de recursión
allowed_agents[]string[] (todos)Lista blanca de agentes que pueden ser invocados
spawn_timeout_secsint60Tiempo de espera por llamada hija en segundos

rate_limit (límite de tasa)

CampoTipoPor defectoDescripción
requests_per_minuteint0 (ilimitado)Máximo de solicitudes por minuto

sinaptic

Sobrescritura de SinapticAI por agente.

CampoTipoPor defectoDescripción
enabledbool(hereda global)Sobrescribir el interruptor global de SinapticAI

Ejemplo completo

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: Agente de soporte al cliente con RAG y herramientas

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

personality: |
Eres un agente de soporte al cliente servicial.
Sé siempre amable, conciso y preciso.

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: Buscar el estado del pedido por 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"]