Nodig vrienden uit en verdien gratis tokens!Meer weten

Chat Completions aanmaken (qwen-mt-turbo)

Gegeven een prompt retourneert dit model een of meer voorspelde completions (aanvullingen), en het kan ook de waarschijnlijkheden van alternatieve tokens op elke positie teruggeven. Deze interface wordt voornamelijk gebruikt om met het model te praten en om natuurlijke-taaltaken zoals machinevertaling te verwerken.

Officiële referentiedocumentatie: Alibaba Cloud Bailian - Machine Translation Model

Interface-informatie

  • Requestprotocol: HTTP/HTTPS
  • Requestmethode: POST
  • Requestpad: https://api.codingplanx.ai/v1/chat/completions

Requestheaders (Headers)

ParameternaamVerplichtTypeVoorbeeldwaardeBeschrijving
Content-TypeJastringapplication/jsonGegevensindeling
AcceptJastringapplication/jsonGewenst responseformaat
AuthorizationNeestringBearer {{YOUR_API_KEY}}API-authenticatiereferentie

Requestparameters (Request Body)

De requestbody gebruikt het formaat application/json.

ParameternaamVerplichtTypeBeschrijving
modelJastringDe ID van het te gebruiken model. Bijvoorbeeld: qwen-mt-turbo.
messagesJaarrayDe lijst met berichten die tot nu toe deel uitmaken van het gesprek. Bevat de velden role en content.
? roleNeestringDe rol van de afzender van het bericht, bijvoorbeeld user, assistant of system.
? contentNeestringDe inhoud van het bericht.
toolsJaarrayEen lijst met tools die het model kan aanroepen. Momenteel worden alleen functies als tool ondersteund. Dit wordt gebruikt om functies op te geven waarvoor het model JSON-invoer kan genereren.
tool_choiceJaobjectBepaalt welke functie het model moet aanroepen (indien van toepassing). none betekent niet aanroepen, auto betekent dat het model zelf kiest. U kunt ook een specifieke functie forceren via {"type": "function", "function": {"name": "my_function"}}.
temperatureNeeintegerSamplingtemperatuur, tussen 0 en 2. Hogere waarden (zoals 0.8) maken de output willekeuriger, lagere waarden (zoals 0.2) maken deze geconcentreerder en deterministischer. Het wordt aanbevolen om óf deze waarde óf top_p aan te passen, maar niet beide tegelijk.
top_pNeeintegerParameter voor nucleus sampling. 0.1 betekent dat alleen tokens worden overwogen die samen de bovenste 10% van de waarschijnlijkheidsmassa vormen. Het wordt aanbevolen om óf deze waarde óf temperature aan te passen, maar niet beide tegelijk.
nNeeintegerHoeveel chat completion-keuzes per ingevoerd bericht moeten worden gegenereerd. Standaard is 1.
streamNeebooleanOf streaming-uitvoer moet worden ingeschakeld. Als dit true is, worden gedeeltelijke berichtincrementen verzonden via Server-Sent Events (SSE), en na voltooiing wordt data: [DONE] gestuurd. Standaard is false.
stopNeestringEen reeks waarop de API stopt met verdere tokengeneratie (maximaal 4).
max_tokensNeeintegerHet maximale aantal tokens dat in de chat completion wordt gegenereerd. De totale lengte van invoer plus gegenereerde tokens is beperkt door de contextlengte van het model.
presence_penaltyNeenumberEen getal tussen -2.0 en 2.0. Positieve waarden bestraffen nieuwe tokens op basis van of ze al in de tekst voorkomen, waardoor de kans toeneemt dat het model over nieuwe onderwerpen spreekt.
frequency_penaltyNeenumberEen getal tussen -2.0 en 2.0. Positieve waarden bestraffen nieuwe tokens op basis van hun bestaande frequentie in de tekst, waardoor de kans op herhaling van dezelfde regels afneemt.
logit_biasNeeobject/nullWijzigt de kans dat opgegeven tokens in de completion verschijnen. Accepteert een JSON-object dat token-ID's koppelt aan biaswaarden (-100 tot 100).
userNeestringEen unieke identificatie voor uw eindgebruiker, wat kan helpen bij monitoring en misbruikdetectie.
response_formatNeeobjectEen object dat het formaat specificeert waarin het model moet antwoorden. Met {"type": "json_object"} wordt de JSON-modus ingeschakeld. Let op: wanneer u dit gebruikt, moet u in de berichten aangeven dat het model JSON moet genereren.
seenNeeintegerFunctie in testfase. Wordt gebruikt als seed voor deterministische sampling. Herhaalde requests met dezelfde seed en parameters zouden hetzelfde resultaat moeten opleveren.

Requestvoorbeeld (scenario voor machinevertaling)

{
  "model": "qwen-mt-turbo",
  "messages": [
    {
      "role": "user",
      "content": "看完这个视频我没有笑"
    }
  ],
  "translation_options": {
    "source_lang": "auto",
    "target_lang": "English"
  }
}

(Opmerking: translation_options is een modelspecifieke uitgebreide parameter voor het vertaalmodel qwen-mt-turbo.)

Responseparameters (Response Body)

Het responseformaat is application/json.

ParameternaamTypeBeschrijving
idstringDe unieke identifier van de chat completion.
objectstringHet objecttype, meestal chat.completion.
createdintegerTijdstempel van aanmaak (Unix-seconden).
choicesarrayDe lijst met completion-keuzes.
? indexintegerDe index van deze optie in de lijst.
? messageobjectHet door het model gegenereerde berichtobject. Bevat role en content.
? finish_reasonstringDe reden waarom het model stopte met genereren (bijvoorbeeld stop voor normale beëindiging, length voor het bereiken van de maximale tokenlimiet).
usageobjectStatistieken van het tokenverbruik voor deze request.
? prompt_tokensintegerHet aantal tokens dat door de prompt is verbruikt.
? completion_tokensintegerHet aantal tokens dat door de gegenereerde inhoud is verbruikt.
? total_tokensintegerHet totale aantal verbruikte tokens.

Responsevoorbeeld (200 OK)

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "\r
\r
Hello there, how may I assist you today?"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 12,
        "total_tokens": 21
    }
}

Veelgestelde vragen (FAQs)

1. Voor welke scenario's wordt het model qwen-mt-turbo vooral gebruikt?

qwen-mt-turbo is een model dat diep is geoptimaliseerd voor machinevertaling (Machine Translation). Hoewel het gebruikmaakt van de standaard Chat Completions-interface, kan het door het meegeven van te vertalen tekst en het configureren van bron- en doeltaal vertalingen van zeer hoge kwaliteit leveren.

2. Hoe implementeer ik een typewriter-effect (streaming-uitvoer)?

Stel in de requestbody de parameter stream in op true. In dat geval retourneert de interface niet in één keer een volledige JSON-response, maar pusht deze continu datablokken via het Server-Sent Events (SSE)-protocol. Wanneer de inhoud volledig is gegenereerd, wordt data: [DONE] teruggegeven om het einde van de stream aan te geven.

3. Waarom krijg ik een 401 Unauthorized-fout?

Controleer het veld Authorization in de requestheaders. Zorg ervoor dat de indeling Bearer <uw_API_KEY> is (let op: er staat een spatie tussen Bearer en de API Key), en dat deze API Key geldig is en bevoegd is om dit model aan te roepen.

4. Hoe moet ik temperature en top_p configureren?

Deze twee parameters worden beide gebruikt om de willekeurigheid van de modeloutput te sturen. Officieel wordt aanbevolen om slechts één van beide te wijzigen en de andere op de standaardwaarde te laten. Als u wilt dat vertalingen of antwoorden strikter en consistenter zijn, verlaag dan temperature (bijvoorbeeld naar 0.1 - 0.2); als u creatievere output wilt, kunt u deze verhogen (bijvoorbeeld naar 0.8).

5. Is translation_options in het requestvoorbeeld verplicht?

Dit is een uitgebreide configuratie die wordt ondersteund door gespecialiseerde vertaalmodellen zoals qwen-mt-turbo, en wordt gebruikt om expliciet de brontaal (source_lang) en doeltaal (target_lang) op te geven. Hoewel u het model ook in natuurlijke taal via messages.content kunt instrueren om te vertalen, maakt het gebruik van translation_options de vertaalaanwijzing duidelijker en het resultaat stabieler. Voor gewone niet-vertaalgerichte gesprekken hoeft deze parameter niet te worden meegestuurd.