Assistant API

Maakt een modelreactie voor een gegeven assistant-id, of geef een Assistant-configuratie door die voor je verzoek moet worden gebruikt.

Om een assistent te delen met een API-sleutel, volg deze gids: https://docs.langdock.com/api-endpoints/assistant/assistant-api-guide

Endpoint POST https://api.langdock.com/assistant/v1/chat/completions

cURL voorbeeld

curl
curl --request POST \
  --url https://api.langdock.com/assistant/v1/chat/completions \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "assistantId": "asst_123",
  "messages": [
    {
      "role": "user",
      "content": "Hallo, hoe kun je me helpen?"
    }
  ],
  "stream": false,
  "maxSteps": 10
}
'

Antwoord (succesvol)


Request Parameters

Parameter
Type
Vereist
Beschrijving

assistantId

string

Eén van assistantId/assistant vereist

ID van een bestaande assistent om te gebruiken

assistant

object

Eén van assistantId/assistant vereist

Configuratie voor een nieuwe assistent

messages

array

Ja

Array van berichtobjecten met rol en inhoud

stream

boolean

Nee

Schakel streamingreacties in (standaard: false)

output

object

Nee

Gestructureerde outputformaat specificatie

maxSteps

integer

Nee (standaard: 10)

Maximaal aantal stappen dat de assistent kan nemen (1–20)

Berichtformaat

Elk bericht in de messages array moet bevatten:

  • role (vereist) — Eén van: user, assistant, of tool

  • content (vereist) — De berichtinhoud als een string

  • attachmentIds (optioneel) — Array van UUID-strings die bijlagen voor dit bericht identificeren

Assistant-configuratie

Bij het maken van een tijdelijke assistent (gebruik assistant in plaats van assistantId), kun je specificeren:

  • name (vereist) — Naam van de assistent (max 64 tekens)

  • instructions (vereist) — Systeeminstructies (max 16384 tekens)

  • description — Optionele beschrijving (max 256 tekens)

  • temperature — Temperatuur tussen 0–1

  • model — Model-ID om te gebruiken (zie Beschikbare modellen: https://docs.langdock.com/api-endpoints/assistant/assistant-models)

  • capabilities — Schakel functies in zoals webzoekopdracht, data-analyse, beeldgeneratie

  • actions — Aangepaste API-integraties

  • vectorDb — Vector-databaseverbindingen

  • knowledgeFolderIds — ID's van kennismappen om te gebruiken

  • attachmentIds — Array van UUID-strings die bijlagen aanduiden om te gebruiken

Je kunt een lijst met beschikbare modellen ophalen via de Models API: https://docs.langdock.com/api-endpoints/assistant/assistant-models


Gestructureerde output

Je kunt een gestructureerd outputformaat specificeren met de optionele output parameter.

Veld
Type
Beschrijving

type

"object" | "array" | "enum"

Het type van de gestructureerde output

schema

object

JSON Schema-definitie voor de output (voor object/array types)

enum

string[]

Array van toegestane waarden (voor enum-type)

Gedrag:

  • type: "object" zonder schema: Dwingt het antwoord om een enkel JSON-object te zijn (geen specifieke structuur)

  • type: "object" met schema: Dwingt het antwoord om overeen te komen met het opgegeven JSON Schema

  • type: "array" met schema: Dwingt het antwoord om een array te zijn van objecten die overeenkomen met het opgegeven schema

  • type: "enum": Dwingt het antwoord om één van de waarden in te zijn enum

Tools zoals easy-json-schema kunnen helpen bij het genereren van JSON Schema: https://easy-json-schema.github.io/


Streamingreacties

Wanneer stream is true, retourneert de API server-sent events (SSE) waarmee progressieve weergave van gegenereerde antwoorden mogelijk is.

Stream formaat voorbeeld:

Streams afhandelen in JavaScript:


Obtaining Attachment IDs

Om bijlagen in gesprekken te gebruiken, upload eerst bestanden met de Upload Attachment API: https://docs.langdock.com/api-endpoints/assistant/upload-attachments. De upload retourneert attachmentId waarden die je kunt opnemen in attachmentIds.


Voorbeelden

Een bestaande assistent gebruiken

Een tijdelijke assistentconfiguratie gebruiken

Gestructureerde output gebruiken met schema (array)

Gestructureerde output gebruiken met Object

Gestructureerde output gebruiken met Enum


Snelheidslimieten

De rate limit voor de Assistant Completion endpoint is:

  • 500 RPM (verzoeken per minuut)

  • 60.000 TPM (tokens per minuut)

Rate limits worden gedefinieerd op workspace-niveau (niet op API-sleutel-niveau). Elk model heeft zijn eigen rate limit. Als je je rate limit overschrijdt, ontvang je een 429 Too Many Requests antwoord.

Voor hogere rate limits, contacteer: [email protected]


Responsformaat

De API retourneert een object dat bevat:

  • result: Array met het volledige gesprek en eventuele toolaanroepen (altijd aanwezig).

  • output: Aanwezig wanneer output parameter in het verzoek was gespecificeerd. Bevat geformatteerde gestructureerde data (object, array of enum-string).

Voorbeeld (weer gestructureerde output)

Het output veld wordt automatisch gevuld en kan rechtstreeks door je applicatie worden gebruikt.


Foutafhandeling

Voorbeeld (axios):


Headers

Autorisatie (vereist)

  • Type: string

  • Formaat: "Bearer YOUR_API_KEY"

Content-Type: application/json


Body (application/json)

Optie 1: Voorzie assistantId (gebruik bestaande assistent)

  • assistantId (string, vereist bij gebruik van deze optie)

  • messages (array, vereist)

Optie 2: Voorzie assistant object (tijdelijke assistentconfiguratie)

  • assistant (object, vereist bij gebruik van deze optie)

  • messages (array, vereist)

Veelvoorkomende body-velden

  • messages (array van objecten) — elk item:

    • role (enum: user, assistant, tool) — vereist

    • content (string) — vereist

    • attachmentIds (string[uuid]) — optioneel

  • stream (boolean, standaard: false) — wanneer true retourneert SSE

  • output (object) — gestructureerde output specificatie:

    • type (enum: object | array | enum)

    • schema (object) — JSON Schema voor object/array types

    • enum (string[]) — vereist wanneer type: "enum"


Response Codes

  • 200 — Succesvolle chatafhandeling (application/json)

  • 400 — Ongeldige parameters

  • 429 — Rate limit overschreden

  • 500 — Serverfout


Gerelateerd

  • Assistants delen met API-sleutels: https://docs.langdock.com/api-endpoints/assistant/assistant-api-guide

  • Modellen voor Assistant API: https://docs.langdock.com/api-endpoints/assistant/assistant-models

Opmerkingen

  • Antwoorden worden gegenereerd met AI en kunnen fouten bevatten.