Przejdź do głównej zawartości

Dokumentacja konfiguracji YAML

Sinaptic® DROID+ używa dwóch rodzajów plików konfiguracyjnych YAML:

  1. Główna konfiguracja (droid.yaml) — globalne ustawienia serwera, LLM, bezpieczeństwa i logowania
  2. Konfiguracje agentów (configs/agents/*.yaml) — model, osobowość, narzędzia i zachowanie dla każdego agenta

Wszystkie wartości konfiguracyjne obsługują podstawianie ${ENV_VAR} — Sinaptic® DROID+ rozwiązuje zmienne środowiskowe podczas uruchamiania.


Główna konfiguracja (droid.yaml)​

edition (edycja)​

WartośćOpis
communityDarmowa edycja, maks. 2 agentów, bezpieczeństwo tylko RegExp (domyślnie)
proNielimitowana liczba agentów, pełna kaskada SinapticAI
enterpriseMulti-tenancy, zgodność, wysoka dostępność (HA)

server (serwer)​

PoleTypDomyślnieOpis
openai_portint8080Port dla API kompatybilnego z OpenAI
management_portint8081Port dla Management API
cors_origins[]string["*"]Dozwolone źródła CORS
api_keystring—Klucz API do uwierzytelniania (obsługuje ${ENV_VAR})
demo_modeboolfalseWłącz tryb demo

llm​

Podstawowa konfiguracja dostawcy LLM.

PoleTypDomyślnieOpis
providerstringopenaiNazwa dostawcy LLM (openai, anthropic, gemini, grok, ollama, lm_studio, llama_cpp)
base_urlstringhttps://api.openai.com/v1Bazowy URL API
api_keystring${OPENAI_API_KEY}Klucz API (obsługuje ${ENV_VAR})
default_modelstringgpt-4o-miniDomyślna nazwa modelu

anthropic​

PoleTypDomyślnieOpis
base_urlstringhttps://api.anthropic.comBazowy URL API Anthropic
api_keystring${ANTHROPIC_API_KEY}Klucz API

gemini​

PoleTypDomyślnieOpis
base_urlstringhttps://generativelanguage.googleapis.com/v1betaBazowy URL API Gemini
api_keystring${GEMINI_API_KEY}Klucz API

grok​

PoleTypDomyślnieOpis
base_urlstringhttps://api.x.ai/v1Bazowy URL API Grok (xAI)
api_keystring${GROK_API_KEY}Klucz API

ollama​

PoleTypDomyślnieOpis
base_urlstringhttp://localhost:11434/v1Bazowy URL API Ollama

lm_studio​

PoleTypDomyślnieOpis
base_urlstringhttp://localhost:1234/v1Bazowy URL API LM Studio

llama_cpp​

PoleTypDomyślnieOpis
base_urlstringhttp://localhost:8080/v1Bazowy URL serwera llama.cpp

embedding​

PoleTypDomyślnieOpis
modelstringtext-embedding-3-smallNazwa modelu embeddingów
base_urlstring(używa llm.base_url)Bazowy URL API embeddingów
api_keystring(używa llm.api_key)Klucz API embeddingów

sinaptic​

Konfiguracja warstwy bezpieczeństwa SinapticAI.

PoleTypDomyślnieOpis
enabledbooltrueWłącz skanowanie bezpieczeństwa SinapticAI
modestringblockDziałanie po wykryciu zagrożenia: block (blokuj) lub log (tylko loguj)
log_blockedbooltrueLoguj zablokowane żądania

sinaptic.pii​

PoleTypDomyślnieOpis
enabledbooltrueWłącz wykrywanie PII (danych osobowych)
strategystringmaskStrategia obsługi PII: mask (maskuj) lub block (blokuj)

mcp​

Konfiguracja serwerów narzędzi Model Context Protocol (MCP).

mcp:
servers:
my-server:
command: "npx"
args: ["-y", "@my-org/mcp-server"]
env:
API_KEY: "${MY_API_KEY}"
PoleTypOpis
serversmapNazwane definicje serwerów MCP

Dla każdego serwera:

PoleTypOpis
commandstringKomenda do uruchomienia serwera MCP
args[]stringArgumenty komendy
envmap[string]stringZmienne środowiskowe dla procesu serwera

logging (logowanie)​

PoleTypDomyślnieOpis
levelstringinfoPoziom logowania (debug, info, warn, error)
formatstringjsonFormat logów (json lub text)

audit (audyt)​

PoleTypDomyślnieOpis
enabledboolfalseWłącz logowanie audytu
log_pathstring./logs/auditŚcieżka do plików logów audytu
retention_daysint30Liczba dni przechowywania logów audytu

branding​

PoleTypDomyślnieOpis
show_badgebool(auto)Pokaż plakietkę "Powered by Sinaptic® DROID+". Auto: true dla community, false dla pro/enterprise

Ścieżki najwyższego poziomu​

PoleTypDomyślnieOpis
data_dirstring./dataKatalog danych runtime (embeddingi, stan)
agents_dirstring./configs/agentsKatalog zawierający konfiguracje YAML agentów

Konfiguracja agenta (configs/agents/*.yaml)​

Pola najwyższego poziomu​

PoleTypWymaganeDomyślnieOpis
namestringtak(nazwa pliku)Unikalny identyfikator agenta
descriptionstringnie—Opis czytelny dla człowieka
modelobjecttak—Konfiguracja modelu LLM
personalitystringtak—Prompt systemowy dla agenta
agent_typestringnieplainPętla przetwarzania: plain lub react
execution_modestringniesequentialWykonywanie narzędzi: sequential lub parallel
chain_of_thoughtboolniefalseWłącz rozumowanie chain-of-thought
max_iterationsintnie10Maks. liczba iteracji pętli ReAct
tool_timeoutstringnie30sDomyślny timeout dla wywołań narzędzi

model​

PoleTypDomyślnieOpis
namestring—Nazwa modelu (np. gpt-4o, claude-sonnet-4-20250514)
base_urlstring(z głównej konf.)Nadpisz bazowy URL API LLM
api_keystring(z głównej konf.)Nadpisz klucz API
max_tokensint1024Maksymalna liczba tokenów odpowiedzi
temperaturefloat0.7Temperatura próbkowania (0-2)

memory.short_term (pamięć krótkotrwała)​

PoleTypDomyślnieOpis
max_messagesint50Rozmiar przesuwnego okna historii konwersacji

rag​

PoleTypDomyślnieOpis
enabledboolfalseWłącz retrieval-augmented generation
top_kint3Liczba fragmentów do pobrania
min_scorefloat0.7Próg minimalnego wyniku podobieństwa

tools (narzędzia)​

Tablica konfiguracji narzędzi.

PoleTypWymaganeOpis
namestringtakIdentyfikator narzędzia
descriptionstringnieOpis narzędzia (widoczny dla LLM)
typestringtakTyp narzędzia: mcp, rest_api
urlstringrest_apiURL punktu końcowego
methodstringrest_apiMetoda HTTP (GET, POST, PUT, DELETE)
headersmaprest_apiNagłówki HTTP
timeoutstringrest_apiTimeout żądania (np. 10s)

pipeline​

Kroki potoku wielu LLM (opcjonalnie). Gdy zdefiniowane, żądanie przechodzi przez każdy krok sekwencyjnie.

PoleTypWymaganeOpis
namestringtakIdentyfikator kroku
modelobjecttakKonfiguracja modelu dla tego kroku
personalitystringtakPrompt systemowy dla tego kroku

spawns​

Konfiguracja wywołań agent-agent (A2A).

PoleTypDomyślnieOpis
max_spawnsint5Maks. liczba wywołań sub-agentów na żądanie (0 = bez limitu)
max_tokens_per_spawnint4096Budżet tokenów na wywołanie sub-agenta
max_depthint3Maksymalna głębokość rekurencji
allowed_agents[]string[] (wszystkie)Biała lista agentów, których można wywołać
spawn_timeout_secsint60Timeout na wywołanie sub-agenta w sekundach

rate_limit (limitowanie zapytań)​

PoleTypDomyślnieOpis
requests_per_minuteint0 (nielimitowane)Maks. liczba żądań na minutę

sinaptic​

Nadpisanie SinapticAI dla konkretnego agenta.

PoleTypDomyślnieOpis
enabledbool(dziedziczone)Nadpisz globalną flagę włączenia SinapticAI

Pełny przykład​

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 wsparcia klienta z RAG i narzędziami

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

personality: |
Jesteś pomocnym agentem wsparcia klienta.
Zawsze bądź uprzejmy, zwięzły i dokładny.

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: Sprawdź status zamówienia po 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"]