Перейти до основного вмісту

Довідник з конфігурації YAML

Sinaptic® DROID+ використовує два типи конфігураційних файлів YAML:

  1. Головна конфігурація (droid.yaml) — глобальні налаштування сервера, LLM, безпеки та логування
  2. Конфігурації агентів (configs/agents/*.yaml) — налаштування моделі, особистості, інструментів та поведінки для кожного агента

Усі значення конфігурації підтримують підстановку ${ENV_VAR} — Sinaptic® DROID+ розпізнає змінні оточення під час запуску.


Головна конфігурація (droid.yaml)​

edition (видання)​

ЗначенняОпис
communityБезкоштовне видання, макс. 2 агенти, безпека тільки на основі RegExp (за замовчуванням)
proНеобмежена кількість агентів, повний каскад SinapticAI
enterpriseБагатокористувацький режим (multi-tenancy), відповідність стандартам, висока доступність (HA)

server (сервер)​

ПолеТипЗа замовчуваннямОпис
openai_portint8080Порт для API, сумісного з OpenAI
management_portint8081Порт для Management API
cors_origins[]string["*"]Дозволені джерела CORS
api_keystring—API-ключ для автентифікації (підтримує ${ENV_VAR})
demo_modeboolfalseУвімкнути демо-режим

llm​

Основна конфігурація постачальника LLM.

ПолеТипЗа замовчуваннямОпис
providerstringopenaiНазва постачальника LLM (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp)
base_urlstringhttps://api.openai.com/v1Базовий URL API
api_keystring${OPENAI_API_KEY}API-ключ (підтримує ${ENV_VAR})
default_modelstringgpt-4o-miniНазва моделі за замовчуванням

anthropic​

ПолеТипЗа замовчуваннямОпис
base_urlstringhttps://api.anthropic.comБазовий URL API Anthropic
api_keystring${ANTHROPIC_API_KEY}API-ключ

gemini​

ПолеТипЗа замовчуваннямОпис
base_urlstringhttps://generativelanguage.googleapis.com/v1betaБазовий URL API Gemini
api_keystring${GEMINI_API_KEY}API-ключ

grok​

ПолеТипЗа замовчуваннямОпис
base_urlstringhttps://api.x.ai/v1Базовий URL API Grok (xAI)
api_keystring${GROK_API_KEY}API-ключ

ollama​

ПолеТипЗа замовчуваннямОпис
base_urlstringhttp://localhost:11434/v1Базовий URL API Ollama

lm_studio​

ПолеТипЗа замовчуваннямОпис
base_urlstringhttp://localhost:1234/v1Базовий URL API LM Studio

llama_cpp​

ПолеТипЗа замовчуваннямОпис
base_urlstringhttp://localhost:8080/v1Базовий URL сервера llama.cpp

embedding (ембеддінг)​

ПолеТипЗа замовчуваннямОпис
modelstringtext-embedding-3-smallНазва моделі ембеддінгу
base_urlstring(використовує llm.base_url)Базовий URL API ембеддінгу
api_keystring(використовує llm.api_key)API-ключ ембеддінгу

sinaptic​

Конфігурація рівня безпеки SinapticAI.

ПолеТипЗа замовчуваннямОпис
enabledbooltrueУвімкнути сканування безпеки SinapticAI
modestringblockДія при виявленні загрози: block (блокувати) або log (тільки логувати)
log_blockedbooltrueЛогувати заблоковані запити

sinaptic.pii​

ПолеТипЗа замовчуваннямОпис
enabledbooltrueУвімкнути виявлення PII (персональних даних)
strategystringmaskСтратегія обробки PII: mask (маскувати) або block (блокувати)

mcp​

Конфігурація серверів інструментів Model Context Protocol (MCP).

mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
ПолеТипОпис
serversmapІменовані визначення серверів MCP

Для кожного сервера:

ПолеТипОпис
commandstringКоманда для запуску сервера MCP
args[]stringАргументи команди
envmap[string]stringЗмінні оточення для процесу сервера

logging (логування)​

ПолеТипЗа замовчуваннямОпис
levelstringinfoРівень логування (debug, info, warn, error)
formatstringjsonФормат логів (json або text)

audit (аудит)​

ПолеТипЗа замовчуваннямОпис
enabledboolfalseУвімкнути логування аудиту
log_pathstring./logs/auditШлях до файлів логів аудиту
retention_daysint30Скільки днів зберігати логи аудиту

branding (брендування)​

ПолеТипЗа замовчуваннямОпис
show_badgebool(авто)Показувати бейдж "Powered by Sinaptic® DROID+". Авто: true для community, false для pro/enterprise

Шляхи верхнього рівня​

ПолеТипЗа замовчуваннямОпис
data_dirstring./dataДиректорія для даних (ембеддінги, стан)
agents_dirstring./configs/agentsДиректорія з YAML-конфігураціями агентів

Конфігурація агента (configs/agents/*.yaml)​

Поля верхнього рівня​

ПолеТипОбов'язковеЗа замовчуваннямОпис
namestringтак(ім'я файлу)Унікальний ідентифікатор агента
descriptionstringні—Опис у довільній формі
modelobjectтак—Конфігурація моделі LLM
personalitystringтак—Системний промпт для агента
agent_typestringніplainЦикл обробки: plain або react
execution_modestringніsequentialВиконання інструментів: sequential (послідовно) або parallel (паралельно)
chain_of_thoughtboolніfalseУвімкнути міркування Chain-of-thought
max_iterationsintні10Макс. кількість ітерацій циклу ReAct
tool_timeoutstringні30sТайм-аут за замовчуванням для викликів інструментів

model​

ПолеТипЗа замовчуваннямОпис
namestring—Назва моделі (наприклад, gpt-4o, claude-sonnet-4-20250514)
base_urlstring(з головної конф.)Перевизначити базовий URL API LLM
api_keystring(з головної конф.)Перевизначити API-ключ
max_tokensint1024Максимальна кількість токенів відповіді
temperaturefloat0.7Температура вибірки (0-2)

memory.short_term​

ПолеТипЗа замовчуваннямОпис
max_messagesint50Розмір ковзного вікна історії діалогу

rag​

ПолеТипЗа замовчуваннямОпис
enabledboolfalseУвімкнути генерацію з доповненням пошуком (RAG)
top_kint3Кількість фрагментів для отримання
min_scorefloat0.7Поріг мінімального бала схожості

tools (інструменти)​

Масив конфігурацій інструментів.

ПолеТипОбов'язковеОпис
namestringтакІдентифікатор інструменту
descriptionstringніОпис інструменту (показується LLM)
typestringтакТип інструменту: mcp, rest_api
urlstringrest_apiURL кінцевої точки
methodstringrest_apiМетод HTTP (GET, POST, PUT, DELETE)
headersmaprest_apiЗаголовки HTTP
timeoutstringrest_apiТайм-аут запиту (наприклад, 10s)

pipeline (пайплайн)​

Кроки пайплайну з декількома LLM (опціонально). Якщо визначено, запит проходить крізь кожен крок послідовно.

ПолеТипОбов'язковеОпис
namestringтакІдентифікатор кроку
modelobjectтакКонфігурація моделі для цього кроку
personalitystringтакСистемний промпт для цього кроку

spawns​

Конфігурація викликів між агентами (A2A).

ПолеТипЗа замовчуваннямОпис
max_spawnsint5Макс. кількість викликів субагентів на запит (0 = без ліміту)
max_tokens_per_spawnint4096Бюджет токенів на один виклик
max_depthint3Максимальна глибина рекурсії
allowed_agents[]string[] (усі)Білий список агентів, яких можна викликати
spawn_timeout_secsint60Тайм-аут на один виклик субагента у секундах

rate_limit (обмеження частоти)​

ПолеТипЗа замовчуваннямОпис
requests_per_minuteint0 (необмежено)Макс. запитів на хвилину

sinaptic​

Перевизначення SinapticAI для конкретного агента.

ПолеТипЗа замовчуваннямОпис
enabledbool(успадковується)Перевизначити глобальний прапорець увімкнення SinapticAI

Повний приклад​

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: Агент підтримки клієнтів з RAG та інструментами

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

personality: |
Ви — помічник служби підтримки клієнтів.
Завжди будьте ввічливими, лаконічними та точними.

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: Пошук статусу замовлення за 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"]