REST API-hulpmiddelen
Sinaptic® DROID+-agents kunnen externe HTTP-eindpunten aanroepen als tools. Hiermee kunnen agents communiceren met elke REST API — interne services, API's van derden, webhooks — zonder aangepaste code te schrijven.
Configuratie
Voeg REST API-tools rechtstreeks toe aan de YAML-configuratie van uw agent:
# configs/agents/mijn-agent.yaml
name: "mijn-agent"
tools:
- name: "get-weather"
type: "rest_api"
description: "Vraag het huidige weer op voor een stad"
url: "https://api.weather.example.com/current?city=${city}"
method: "GET"
headers:
Authorization: "Bearer ${WEATHER_API_KEY}"
timeout: "10s"
- name: "create-ticket"
type: "rest_api"
description: "Maak een supportticket aan"
url: "https://api.example.com/tickets"
method: "POST"
headers:
Content-Type: "application/json"
Authorization: "Bearer ${INTERNAL_API_KEY}"
timeout: "15s"
Velden
| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
name | string | ja | Tool-ID (gebruikt door de LLM) |
type | string | ja | Moet rest_api zijn |
description | string | aanbevolen | Beschrijving getoond aan de LLM om te helpen beslissen wanneer deze tool moet worden gebruikt |
url | string | ja | Eindpunt-URL (ondersteunt ${VAR} voor omgevingsvariabelen) |
method | string | ja | HTTP-methode: GET, POST, PUT, DELETE |
headers | map | nee | HTTP-headers om in het verzoek op te nemen |
timeout | string | nee | Time-out van verzoek (standaard: 30s) |
Hoe het werkt
- De LLM besluit een REST API-tool aan te roepen op basis van de
nameendescriptionvan de tool. - Sinaptic® DROID+ voert het HTTP-verzoek uit met de geconfigureerde methode, URL, headers en eventuele inhoud (body) geleverd door de LLM.
- Het antwoord wordt teruggestuurd naar de LLM als het resultaat van de tool.
- De LLM verwerkt het resultaat in het antwoord aan de gebruiker.
Beveiliging
- REST API-tools respecteren de SinapticAI-instellingen van de agent — invoer en uitvoer van tools worden gescand op PII (persoonlijke gegevens) en pogingen tot injectie.
- Gebruik omgevingsvariabelen (
${VAR}) voor API-sleutels en geheimen in headers — zet deze nooit rechtstreeks in de configuratie. - Het veld
timeoutvoorkomt dat tools voor onbepaalde tijd blijven hangen bij trage eindpunten.
Voorbeelden
Een interne microservice aanroepen
tools:
- name: "lookup-order"
type: "rest_api"
description: "Orderstatus opzoeken op basis van order-ID"
url: "https://internal-api.example.com/orders/${order_id}"
method: "GET"
headers:
X-Service-Token: "${INTERNAL_TOKEN}"
timeout: "5s"
Een webhook verzenden
tools:
- name: "notify-slack"
type: "rest_api"
description: "Een melding naar een Slack-kanaal sturen"
url: "${SLACK_WEBHOOK_URL}"
method: "POST"
headers:
Content-Type: "application/json"
timeout: "10s"