Invitez des amis et gagnez des tokens gratuits !En savoir plus

Créer une complétion de chat (qwen-mt-turbo)

À partir d'une invite (prompt), ce modèle renvoie une ou plusieurs complétions prédites (Completion) et peut également renvoyer les probabilités des tokens (jetons) alternatifs à chaque position. Cette interface est principalement utilisée pour converser avec le modèle et traiter des tâches de traitement du langage naturel, telles que la traduction automatique.

Documentation officielle de référence : Alibaba Cloud Bailian - Modèle de traduction automatique

Informations sur l'API

  • Protocole de requête : HTTP/HTTPS
  • Méthode de requête : POST
  • Chemin de la requête : https://api.codingplanx.ai/v1/chat/completions

En-têtes de la requête (Headers)

Nom du paramètreRequisTypeValeur d'exempleDescription
Content-TypeOuistringapplication/jsonFormat des données
AcceptOuistringapplication/jsonFormat de réponse attendu
AuthorizationNonstringBearer {{YOUR_API_KEY}}Jeton d'authentification de l'API

Paramètres de la requête (Request Body)

Le format du corps de la requête est application/json.

Nom du paramètreRequisTypeDescription
modelOuistringL'ID du modèle à utiliser. Par exemple : qwen-mt-turbo.
messagesOuiarrayLa liste des messages constituant la conversation jusqu'à présent. Contient les champs role et content.
? roleNonstringLe rôle de l'expéditeur du message, par exemple user, assistant ou system.
? contentNonstringLe contenu du message.
toolsOuiarrayUne liste d'outils que le modèle peut appeler. Actuellement, seules les fonctions sont prises en charge comme outils. Utilisé pour fournir une liste de fonctions pour lesquelles le modèle peut générer des entrées JSON.
tool_choiceOuiobjectContrôle quelle fonction (le cas échéant) le modèle doit appeler. none signifie aucun appel, auto signifie que le modèle choisit de lui-même. Vous pouvez également forcer l'appel via {"type": "function", "function": {"name": "ma_fonction"}}.
temperatureNonintegerTempérature d'échantillonnage, comprise entre 0 et 2. Des valeurs plus élevées (ex: 0.8) rendent la sortie plus aléatoire, tandis que des valeurs plus basses (ex: 0.2) la rendent plus ciblée et déterministe. Il est recommandé de modifier cette valeur ou top_p, mais pas les deux en même temps.
top_pNonintegerParamètre d'échantillonnage de noyau (nucleus). 0.1 signifie que seuls les tokens constituant les 10 % de masse de probabilité supérieure sont pris en compte. Il est recommandé de modifier cette valeur ou temperature, mais pas les deux à la fois.
nNonintegerCombien de choix de complétion de chat générer pour chaque message d'entrée. La valeur par défaut est 1.
streamNonbooleanIndique s'il faut activer la sortie en streaming. Si true, enverra des fragments de messages partiels sous forme de Server-Sent Events (SSE), puis enverra data: [DONE] à la fin. La valeur par défaut est false.
stopNonstringSéquence(s) (jusqu'à 4) où l'API arrêtera de générer de nouveaux tokens.
max_tokensNonintegerLe nombre maximum de tokens à générer dans la complétion de chat. La longueur totale des tokens d'entrée et générés est limitée par la longueur de contexte du modèle.
presence_penaltyNonnumberNombre compris entre -2.0 et 2.0. Des valeurs positives pénalisent les nouveaux tokens selon s'ils apparaissent déjà dans le texte, augmentant ainsi la probabilité que le modèle aborde de nouveaux sujets.
frequency_penaltyNonnumberNombre compris entre -2.0 et 2.0. Des valeurs positives pénalisent les nouveaux tokens en fonction de leur fréquence de présence dans le texte, réduisant ainsi la probabilité que le modèle répète les mêmes phrases.
logit_biasNonobject/nullModifie la probabilité que des tokens spécifiques apparaissent dans la complétion. Accepte un objet JSON mappant les ID des tokens à une valeur de biais (-100 à 100).
userNonstringUn identifiant unique représentant votre utilisateur final, qui peut aider à surveiller et détecter les abus.
response_formatNonobjectUn objet spécifiant le format que le modèle doit produire. Utilisez {"type": "json_object"} pour activer le mode JSON. Remarque : Lors de son utilisation, vous devez indiquer explicitement au modèle de générer du JSON dans le message.
seenNonintegerFonctionnalité en phase de test. Graine (seed) utilisée pour l'échantillonnage déterministe. Répéter une requête avec la même graine et les mêmes paramètres devrait renvoyer le même résultat.

Exemple de requête (Scénario de traduction automatique)

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

(Remarque : translation_options est un paramètre d'extension spécifique au modèle de traduction qwen-mt-turbo)

Paramètres de réponse (Response Body)

Le format de retour est application/json.

Nom du paramètreTypeDescription
idstringL'identifiant unique de la complétion de chat.
objectstringLe type d'objet, généralement chat.completion.
createdintegerLe timestamp de création (en secondes Unix).
choicesarrayLa liste des choix de complétion.
? indexintegerL'index de cette option dans la liste.
? messageobjectL'objet du message généré par le modèle. Contient role et content.
? finish_reasonstringLa raison pour laquelle le modèle a cessé de générer (par exemple, stop pour un arrêt normal, length pour avoir atteint la limite maximale de tokens).
usageobjectLes statistiques de consommation de tokens pour cette requête.
? prompt_tokensintegerLe nombre de tokens consommés par l'invite (prompt).
? completion_tokensintegerLe nombre de tokens consommés par le contenu généré.
? total_tokensintegerLe nombre total de tokens consommés.

Exemple de réponse (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
    }
}

Foire Aux Questions (FAQ)

1. Dans quels scénarios le modèle qwen-mt-turbo est-il principalement utilisé ?

qwen-mt-turbo est un modèle profondément optimisé pour la traduction automatique (Machine Translation). Bien qu'il utilise l'interface standard des Chat Completions, il peut fournir des résultats de traduction d'une qualité exceptionnelle en transmettant le texte à traduire et en configurant les langues source et cible.

2. Comment implémenter l'effet machine à écrire (sortie en streaming) ?

Définissez le paramètre stream sur true dans le corps de la requête. À ce moment-là, l'API ne renverra pas une réponse JSON complète d'un seul coup, mais continuera à pousser des blocs de données (data chunks) via le protocole Server-Sent Events (SSE). Lorsque la génération du contenu est terminée, elle renverra l'identifiant data: [DONE] pour marquer la fin du flux.

3. Pourquoi ai-je reçu une erreur 401 Unauthorized ?

Veuillez vérifier le champ Authorization dans les en-têtes de la requête. Assurez-vous que son format est Bearer <VOTRE_CLÉ_API> (notez l'espace entre Bearer et la clé API), et que cette clé API est valide et dispose des autorisations nécessaires pour appeler ce modèle.

4. Comment temperature et top_p doivent-ils être configurés ?

Ces deux paramètres sont utilisés pour contrôler le caractère aléatoire de la sortie du modèle. La recommandation officielle est de ne modifier que l'un d'entre eux et de conserver l'autre à sa valeur par défaut. Si vous souhaitez que les résultats de traduction ou de questions-réponses soient plus rigoureux et fixes, il est recommandé de réduire la temperature (par exemple, 0.1 - 0.2) ; si vous souhaitez générer un contenu plus créatif, vous pouvez l'augmenter (par exemple, 0.8).

5. Le paramètre translation_options dans l'exemple de requête est-il obligatoire ?

Il s'agit d'une configuration d'extension prise en charge par les modèles de traduction spécialisés tels que qwen-mt-turbo, utilisée pour spécifier explicitement la langue source (source_lang) et la langue cible (target_lang). Bien qu'il soit possible de demander au modèle de traduire en utilisant un langage naturel via le content dans les messages, l'utilisation de translation_options rendra les instructions de traduction plus claires et les résultats plus stables. S'il est utilisé pour des conversations de base autres que la traduction, vous pouvez omettre ce paramètre.