Nodig vrienden uit en verdien gratis tokens!Meer weten

Chat Completions aanmaken (niet-streaming)

Deze endpoint wordt gebruikt om, gegeven een prompt, één of meerdere voorspelde completion-resultaten door het model te laten teruggeven. De niet-streaming interface retourneert het volledige antwoord in één keer nadat de generatie is voltooid.

  • Endpoint: https://api.codingplanx.ai/v1/chat/completions
  • HTTP-methode: POST
  • Content-Type: application/json

Verzoekparameters

Request headers

ParameterTypeVerplichtVoorbeeldwaardeBeschrijving
Content-TypestringJaapplication/jsonFormaat van de request body
AcceptstringJaapplication/jsonFormaat van de response body
AuthorizationstringNeeBearer {{YOUR_API_KEY}}Authenticatietoken

Request body

ParameterTypeVerplichtStandaardwaardeBeschrijving
modelstringJa-De model-ID die gebruikt moet worden (zoals gpt-4o, gpt-3.5-turbo).
messagesarrayJa-Lijst met conversatieberichten. Elk object bevat role (system/user/assistant) en content.
temperaturenumberNee1Samplingtemperatuur (0-2). Hoe hoger, hoe willekeuriger; hoe lager, hoe deterministischer.
top_pnumberNee1Nucleus sampling. Houdt alleen tokens in aanmerking binnen de top_p waarschijnlijkheidsmassa. Aanbevolen om slechts één van temperature of top_p aan te passen.
nintegerNee1Aantal completion-keuzes dat voor elk invoerbericht wordt gegenereerd.
streambooleanNeefalseOf streaming wordt gebruikt. Hier moet deze op false staan.
stopstring/arrayNeenullSequenties waarbij de API het genereren moet stoppen (maximaal 4).
max_tokensintegerNeeinfMaximaal aantal tokens dat mag worden gegenereerd, beperkt door de contextlengte van het model.
presence_penaltynumberNee0Tussen -2.0 en 2.0. Positieve waarden vergroten de kans dat het model nieuwe onderwerpen aansnijdt.
frequency_penaltynumberNee0Tussen -2.0 en 2.0. Positieve waarden verminderen de kans dat het model dezelfde woorden herhaalt.
logit_biasobjectNeenullWijzigt de kans dat opgegeven tokens in de completion verschijnen.
userstringNee-Unieke identificatie van de eindgebruiker, gebruikt voor misbruikdetectie.
response_formatobjectNee-Geeft het uitvoerformaat op, bijvoorbeeld { "type": "json_object" } om de JSON-modus in te schakelen.
toolsarrayNee-Lijst met tools die het model kan aanroepen (momenteel alleen function ondersteund).
tool_choicestring/objNeeautoBepaalt welke functie het model moet aanroepen (none/auto/specifieke functie).

Responseparameters

Response body

ParameterTypeBeschrijving
idstringDe unieke identificatie van deze aanvraag.
objectstringObjecttype, altijd chat.completion.
createdintegerUnix-tijdstempel (seconden).
choicesarrayLijst met completion-resultaten.
├─ indexintegerDe index van dit resultaat in de lijst.
├─ messageobjectDe door het model gegenereerde berichtinhoud.
│ ├─ rolestringRol, meestal assistant.
│ └─ contentstringDe specifieke tekstinhoud van het bericht.
└─ finish_reasonstringReden van stoppen (zoals stop, length, tool_calls).
usageobjectStatistieken over tokengebruik.
├─ prompt_tokensintegerAantal tokens verbruikt door de invoerprompt.
├─ completion_tokensintegerAantal tokens verbruikt door de gegenereerde output.
└─ total_tokensintegerTotaal aantal verbruikte tokens.

Voorbeelden

Voorbeeldverzoek (cURL)

curl --location --request POST 'https://api.codingplanx.ai/v1/chat/completions' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "user",
      "content": "Hallo, kun je jezelf even voorstellen?"
    }
  ],
  "max_tokens": 1000
}'

Voorbeeldresponse

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Hallo! Ik ben een AI-assistent aangeboden door CodingPlanX. Fijn om je van dienst te zijn."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 15,
        "completion_tokens": 25,
        "total_tokens": 40
    }
}

FAQ's (veelgestelde vragen)

V1: Hoe schakel ik de JSON-modus in?
A1: Stel in de request body "response_format": { "type": "json_object" } in. Let op: wanneer je de JSON-modus gebruikt, moet je in een system- of user-bericht expliciet aangeven dat het model JSON moet retourneren. Anders kan het model in een oneindige lus van lege witruimte terechtkomen.

V2: Hoe kies ik tussen temperature en top_p?
A2: We raden meestal aan om er slechts één van aan te passen. Als je wilt dat het model creatiever is, verhoog dan temperature (bijvoorbeeld 0.8); als je wilt dat het model strikter en consistenter antwoordt, verlaag die dan (bijvoorbeeld 0.2).

V3: Waarom is finish_reason gelijk aan length?
A3: Dit betekent dat het gegenereerde antwoord is afgekapt omdat het de door jou ingestelde limiet van max_tokens heeft bereikt of de maximale contextlengte van het model heeft overschreden.

V4: Wat is een token?
A4: Een token is de basiseenheid waarmee het model tekst verwerkt. Voor Chinees komt één karakter ongeveer overeen met 1 tot 2 tokens. Facturatie en contextlimieten van de API zijn gebaseerd op het aantal tokens.

V5: Wat is het verschil tussen presence_penalty en frequency_penalty?
A5: presence_penalty richt zich op het introduceren van nieuwe onderwerpen: zodra een woord eenmaal is verschenen, wordt het bestraft. frequency_penalty richt zich op het aantal herhalingen van woorden: hoe vaker een woord voorkomt, hoe sterker de straf.

V6: Hoe krijg ik een realtime effect van gegenereerde tekst?
A6: Stel de parameter stream in op true. Let op: het responseformaat van streaming verschilt van dit document (niet-streaming); het is gebaseerd op Server-Sent Events (SSE).