Freunde einladen und kostenlose Tokens verdienen!Mehr erfahren

Erstellen einer Chat-Vervollständigung (qwen-mt-turbo)

Basierend auf einem Prompt gibt das Modell eine oder mehrere vorhergesagte Vervollständigungen (Completions) zurück und kann optional die Wahrscheinlichkeiten für alternative Tokens an jeder Position liefern. Diese Schnittstelle (API) wird hauptsächlich für die Konversation mit dem Modell sowie für die Verarbeitung von NLP-Aufgaben wie maschineller Übersetzung verwendet.

Offizielle Referenzdokumentation: Alibaba Cloud Bailian - Maschinelles Übersetzungsmodell

Schnittstelleninformationen (API Info)

  • Protokoll: HTTP/HTTPS
  • HTTP-Methode: POST
  • Endpunkt (URL): https://api.codingplanx.ai/v1/chat/completions

Request-Header (Headers)

ParameternameErforderlichTypBeispielwertBeschreibung
Content-TypeJastringapplication/jsonDatenformat
AcceptJastringapplication/jsonErwartetes Antwortformat
AuthorizationNeinstringBearer {{YOUR_API_KEY}}API-Authentifizierungsnachweis (Credential)

Request-Parameter (Request Body)

Das Format des Request-Bodys ist application/json.

ParameternameErforderlichTypBeschreibung
modelJastringDie ID des zu verwendenden Modells. Beispiel: qwen-mt-turbo.
messagesJaarrayEine Liste von Nachrichten, die die bisherige Konversation umfassen. Enthält die Felder role und content.
? roleNeinstringDie Rolle des Absenders der Nachricht, z. B. user, assistant oder system.
? contentNeinstringDer Inhalt der Nachricht.
toolsJaarrayEine Liste von Tools, die das Modell aufrufen kann. Derzeit werden nur Funktionen als Tools unterstützt. Dient zur Bereitstellung einer Liste von Funktionen, für die das Modell JSON-Eingaben generieren kann.
tool_choiceJaobjectSteuert, welche Funktion das Modell aufruft (falls vorhanden). none bedeutet, dass keine aufgerufen wird, auto bedeutet, dass das Modell selbst entscheidet. Kann auch durch {"type": "function", "function": {"name": "my_function"}} erzwungen werden.
temperatureNeinintegerSampling-Temperatur, zwischen 0 und 2. Höhere Werte (wie 0.8) machen die Ausgabe zufälliger, niedrigere Werte (wie 0.2) machen sie fokussierter und deterministischer. Es wird empfohlen, entweder diesen Wert oder top_p zu ändern, aber nicht beide gleichzeitig.
top_pNeinintegerNucleus-Sampling-Parameter. 0.1 bedeutet, dass nur die Tokens berücksichtigt werden, die die obersten 10 % der Wahrscheinlichkeitsmasse ausmachen. Es wird empfohlen, entweder diesen Wert oder temperature zu ändern, aber nicht beide gleichzeitig.
nNeinintegerWie viele Chat-Vervollständigungsoptionen für jede Eingabenachricht generiert werden sollen. Standardwert ist 1.
streamNeinbooleanOb Streaming-Ausgabe aktiviert werden soll. Wenn true, werden partielle Nachrichten-Deltas als Server-Sent Events (SSE) gesendet, und bei Abschluss wird data: [DONE] gesendet. Standardwert ist false.
stopNeinstringSequenzen (bis zu 4), bei denen die API die Generierung weiterer Tokens stoppt.
max_tokensNeinintegerDie maximale Anzahl von Tokens, die in der Chat-Vervollständigung generiert werden sollen. Die Gesamtlänge von Eingabe- und generierten Tokens ist durch die Kontextlänge des Modells begrenzt.
presence_penaltyNeinnumberZahl zwischen -2.0 und 2.0. Positive Werte bestrafen neue Tokens basierend darauf, ob sie bereits im Text vorhanden sind, was die Wahrscheinlichkeit erhöht, dass das Modell neue Themen anspricht.
frequency_penaltyNeinnumberZahl zwischen -2.0 und 2.0. Positive Werte bestrafen neue Tokens basierend auf ihrer bisherigen Häufigkeit im Text, was die Wahrscheinlichkeit verringert, dass das Modell dieselben Zeilen wiederholt.
logit_biasNeinobject/nullÄndert die Wahrscheinlichkeit, dass bestimmte Tokens in der Vervollständigung erscheinen. Akzeptiert ein JSON-Objekt, das Token-IDs auf Bias-Werte (-100 bis 100) abbildet.
userNeinstringEin eindeutiger Identifikator für Ihren Endbenutzer, der helfen kann, Missbrauch zu überwachen und zu erkennen.
response_formatNeinobjectEin Objekt, das das Format spezifiziert, das das Modell ausgeben muss. {"type": "json_object"} aktiviert den JSON-Modus. Hinweis: Bei Verwendung muss das Modell in der Nachricht explizit angewiesen werden, JSON zu generieren.
seedNeininteger(Im Original als seen bezeichnet) Beta-Funktion. Ein Seed für deterministisches Sampling. Wiederholte Anfragen mit demselben Seed und denselben Parametern sollten das gleiche Ergebnis liefern.

Request-Beispiel (Szenario: Maschinelle Übersetzung)

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

(Hinweis: translation_options ist ein spezifischer Erweiterungsparameter für das Übersetzungsmodell qwen-mt-turbo)

Response-Parameter (Response Body)

Das Rückgabeformat ist application/json.

ParameternameTypBeschreibung
idstringEindeutiger Identifikator für die Chat-Vervollständigung.
objectstringObjekttyp, normalerweise chat.completion.
createdintegerZeitstempel der Erstellung (Unix-Sekunden).
choicesarrayListe der Vervollständigungsoptionen.
? indexintegerDer Index dieser Option in der Liste.
? messageobjectDas vom Modell generierte Nachrichtenobjekt. Enthält role und content.
? finish_reasonstringDer Grund, warum das Modell die Generierung gestoppt hat (z. B. stop für normales Ende, length bei Erreichen des maximalen Token-Limits).
usageobjectStatistiken zum Token-Verbrauch für diese Anfrage.
? prompt_tokensintegerAnzahl der vom Prompt verbrauchten Tokens.
? completion_tokensintegerAnzahl der von der generierten Antwort verbrauchten Tokens.
? total_tokensintegerGesamtzahl der verbrauchten Tokens.

Response-Beispiel (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
    }
}

Häufig gestellte Fragen (FAQs)

1. Für welche Szenarien wird das Modell qwen-mt-turbo hauptsächlich verwendet?

qwen-mt-turbo ist ein tiefgreifend für die maschinelle Übersetzung (Machine Translation) optimiertes Modell. Obwohl es die Standard-Schnittstelle für Chat-Vervollständigungen (Chat Completions) verwendet, kann es durch die Übergabe des zu übersetzenden Textes und die Konfiguration von Ausgangs- und Zielsprache extrem hochwertige Übersetzungsergebnisse liefern.

2. Wie realisiere ich den Schreibmaschinen-Effekt (Streaming-Ausgabe)?

Setzen Sie den Parameter stream im Request-Body auf true. In diesem Fall gibt die API nicht die vollständige JSON-Antwort auf einmal zurück, sondern pusht kontinuierlich Datenblöcke (Data Chunks) über das Server-Sent Events (SSE) Protokoll. Wenn die Inhaltsgenerierung abgeschlossen ist, wird data: [DONE] zurückgegeben, um das Ende des Streams zu markieren.

3. Warum erhalte ich den Fehler 401 Unauthorized?

Bitte überprüfen Sie das Feld Authorization in den Request-Headern. Stellen Sie sicher, dass das Format Bearer <IHR_API_KEY> lautet (beachten Sie das Leerzeichen zwischen Bearer und dem API-Key) und dass dieser API-Key gültig ist sowie die Berechtigung zum Aufruf dieses Modells besitzt.

4. Wie sollten temperature und top_p konfiguriert werden?

Beide Parameter dienen zur Steuerung der Zufälligkeit der Modellausgabe. Es wird offiziell empfohlen, nur einen davon zu ändern und den anderen auf dem Standardwert zu belassen. Wenn Sie möchten, dass die Übersetzungs- oder Q&A-Ergebnisse präziser und deterministischer sind, wird empfohlen, temperature zu senken (z. B. 0.1 - 0.2); wenn Sie kreativere Inhalte generieren möchten, können Sie den Wert erhöhen (z. B. 0.8).

5. Ist translation_options im Request-Beispiel zwingend erforderlich?

Dies ist eine erweiterte Konfiguration, die von speziellen Übersetzungsmodellen wie qwen-mt-turbo unterstützt wird, um die Ausgangssprache (source_lang) und die Zielsprache (target_lang) explizit anzugeben. Obwohl Sie das Modell auch durch natürliche Sprache über content in den messages zur Übersetzung anweisen können, macht die Verwendung von translation_options die Übersetzungsanweisungen klarer und die Ergebnisse stabiler. Für grundlegende, nicht übersetzungsbezogene Konversationen muss dieser Parameter nicht übergeben werden.