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 --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
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, oftoolcontent(vereist) — De berichtinhoud als een stringattachmentIds(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–1model— 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, beeldgeneratieactions— Aangepaste API-integratiesvectorDb— Vector-databaseverbindingenknowledgeFolderIds— ID's van kennismappen om te gebruikenattachmentIds— 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.
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 Schematype: "array"met schema: Dwingt het antwoord om een array te zijn van objecten die overeenkomen met het opgegeven schematype: "enum": Dwingt het antwoord om één van de waarden in te zijnenum
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 wanneeroutputparameter 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) — vereistcontent(string) — vereistattachmentIds(string[uuid]) — optioneel
stream(boolean, standaard: false) — wanneer true retourneert SSEoutput(object) — gestructureerde output specificatie:type(enum:object|array|enum)schema(object) — JSON Schema voor object/array typesenum(string[]) — vereist wanneertype: "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.

