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_keystringKlucz 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
descriptionstringnieOpis czytelny dla człowieka
modelobjecttakKonfiguracja modelu LLM
personalitystringtakPrompt 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
namestringNazwa 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"]