Ga naar hoofdinhoud

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

VeldTypeVereistBeschrijving
namestringjaTool-ID (gebruikt door de LLM)
typestringjaMoet rest_api zijn
descriptionstringaanbevolenBeschrijving getoond aan de LLM om te helpen beslissen wanneer deze tool moet worden gebruikt
urlstringjaEindpunt-URL (ondersteunt ${VAR} voor omgevingsvariabelen)
methodstringjaHTTP-methode: GET, POST, PUT, DELETE
headersmapneeHTTP-headers om in het verzoek op te nemen
timeoutstringneeTime-out van verzoek (standaard: 30s)

Hoe het werkt

  1. De LLM besluit een REST API-tool aan te roepen op basis van de name en description van de tool.
  2. Sinaptic® DROID+ voert het HTTP-verzoek uit met de geconfigureerde methode, URL, headers en eventuele inhoud (body) geleverd door de LLM.
  3. Het antwoord wordt teruggestuurd naar de LLM als het resultaat van de tool.
  4. 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 timeout voorkomt 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"