Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:API Completions

Dernière mise à jour :Oct 11, 2026

L'API Completions est conçue pour les scénarios de complétion de texte, tels que la complétion de code et la poursuite de contenu.

RemarqueCette documentation s'applique uniquement à la région Chine du Nord 2 (Pékin). Vous devez utiliser une clé API de la région Chine du Nord 2 (Pékin).

Modèles pris en charge

Les modèles Qwen Coder suivants sont pris en charge :

qwen-coder-turbo-latest

Prérequis

Obtenez une clé API et configurez-la en tant que variable d'environnement. Si vous utilisez le kit de développement logiciel (SDK) OpenAI, installez le SDK.

Premiers pas

Vous pouvez utiliser l'API Completions pour la complétion de texte. Deux scénarios de complétion de texte sont pris en charge :

  1. Générer du contenu qui suit un préfixe donné.
  2. Générer du contenu entre un préfixe et un suffixe donnés.

La génération de contenu précédant un suffixe donné n'est pas prise en charge.

Démarrage rapide

Transmettez des informations telles qu'un nom de fonction, des paramètres d'entrée et des instructions d'utilisation dans le préfixe. L'API Completions renvoie le code généré.

Le modèle d'invite est le suivant :

<|fim_prefix|>{prefix_content}<|fim_suffix|>

Dans ce modèle, {prefix_content} correspond aux informations de préfixe que vous transmettez.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

completion = client.completions.create(
  model="qwen-coder-turbo-latest",
  prompt="<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
)

print(completion.choices[0].text)
import OpenAI from "openai";

const openai = new OpenAI(
    {
        // If you have not configured environment variables, replace the following line with your Model Studio API key: apiKey: "sk-xxx",
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.completions.create({
        model: "qwen-coder-turbo-latest",
        prompt: "<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
    });
    console.log(completion.choices[0].text)
}

main();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-coder-turbo-latest",
    "prompt": "<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>"
}'

Générer du contenu entre un préfixe et un suffixe

L'API Completions peut générer du contenu entre un préfixe et un suffixe donnés (FIM, Fill In The Middle). Transmettez des informations telles qu'un nom de fonction, des paramètres d'entrée et des instructions d'utilisation dans le préfixe. Transmettez des informations telles que les paramètres de retour de la fonction dans le suffixe. L'API Completions renvoie le code généré.

Le modèle d'invite est le suivant :

<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>

Dans ce modèle, {prefix_content} correspond aux informations de préfixe et {suffix_content} aux informations de suffixe.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key=os.getenv("DASHSCOPE_API_KEY")
)

prefix_content = f"""def reverse_words_with_special_chars(s):
'''
Reverse each word in the string (preserving the position of non-alphabetic characters) and maintain the word order.
    Example:
    reverse_words_with_special_chars("Hello, world!") -> "olleH, dlrow!"
    Parameters:
        s (str): The input string, which may contain punctuation.
    Returns:
        str: The processed string, where words are reversed but non-alphabetic characters remain in their original positions.
'''
"""

suffix_content = "return result"

completion = client.completions.create(
  model="qwen-coder-turbo-latest",
  prompt=f"<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>",
)

print(completion.choices[0].text)
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
  apiKey: process.env.DASHSCOPE_API_KEY
});

const prefixContent = `def reverse_words_with_special_chars(s):
'''
Reverse each word in the string (preserving the position of non-alphabetic characters) and maintain the word order.
    Example:
    reverse_words_with_special_chars("Hello, world!") -> "olleH, dlrow!"
    Parameters:
        s (str): The input string, which may contain punctuation.
    Returns:
        str: The processed string, where words are reversed but non-alphabetic characters remain in their original positions.
'''
`;

const suffixContent = "return result";

async function main() {
  const completion = await client.completions.create({
    model: "qwen-coder-turbo-latest",
    prompt: `<|fim_prefix|>${prefixContent}<|fim_suffix|>${suffixContent}<|fim_middle|>`
  });

  console.log(completion.choices[0].text);
}

main();
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-coder-turbo-latest",
    "prompt": "<|fim_prefix|>def reverse_words_with_special_chars(s):\n\"\"\"\nReverse each word in the string (preserving the position of non-alphabetic characters) and maintain the word order.\n    Example:\n    reverse_words_with_special_chars(\"Hello, world!\") -> \"olleH, dlrow!\"\n    Parameters:\n        s (str): The input string, which may contain punctuation.\n    Returns:\n        str: The processed string, where words are reversed but non-alphabetic characters remain in their original positions.\n\"\"\"\n<|fim_suffix|>return result<|fim_middle|>"
}'

Paramètres d'entrée et de sortie

Paramètres d'entrée

ParamètreTypeObligatoireDescription

model

string

Oui

Nom du modèle à appeler.

prompt

string

Oui

Invite pour laquelle générer des complétions.

max_tokens

integer

Non

Nombre maximal de jetons à renvoyer dans la réponse.

max_tokens n'affecte pas le processus de génération du grand modèle de langage (LLM). Si le nombre de jetons générés par le modèle dépasse max_tokens, le contenu renvoyé est tronqué.

temperature

float

Non

Température d'échantillonnage, qui contrôle la diversité du texte généré.

Une température plus élevée produit un texte plus diversifié, tandis qu'une température plus basse produit un texte plus déterministe.

Valeurs valides : [0, 2.0).

Étant donné que temperature et top_p contrôlent tous deux la diversité du texte, définissez uniquement l'un des deux.

top_p

float

Non

Seuil de probabilité pour l'échantillonnage par noyau, qui contrôle la diversité du texte généré.

Une valeur top_p plus élevée produit un texte plus diversifié, tandis qu'une valeur top_p plus basse produit un texte plus déterministe.

Valeurs valides : (0, 1.0].

Étant donné que temperature et top_p contrôlent tous deux la diversité du texte, définissez uniquement l'un des deux.

stream

boolean

Non

Indique si la réponse doit être diffusée en continu. Valeurs valides :

  • false (par défaut) : Renvoie le résultat après la génération de tout le contenu.
  • true : Diffuse la sortie au fur et à mesure de sa génération. Un fragment est émis immédiatement après la génération d'une partie du contenu.

stream_options

object

Non

Lorsque la diffusion en continu est activée, définissez ce paramètre sur {"include_usage": true} pour afficher le nombre de jetons utilisés dans la dernière ligne de la sortie.

stop

string ou array

Non

Le modèle arrête automatiquement la génération de texte lorsqu'il est sur le point d'inclure la chaîne ou le token_id spécifié dans le paramètre stop.

Vous pouvez transmettre des mots sensibles dans le paramètre stop pour contrôler la sortie du modèle.

seed

integer

Non

La définition du paramètre seed rend le processus de génération de texte plus déterministe. Cela est généralement utilisé pour garantir que le modèle produit des résultats cohérents à chaque exécution.

Si vous transmettez la même valeur seed pour chaque appel de modèle et conservez les autres paramètres inchangés, le modèle renvoie autant que possible le même résultat.

La valeur doit être comprise entre 0 et 231−1.

presence_penalty

float

Non

Contrôle le degré de répétition du contenu lors de la génération de texte par le modèle.

La valeur doit être comprise dans la plage [-2,0, 2,0]. Une valeur positive réduit la répétition, tandis qu'une valeur négative l'augmente.

Paramètres de sortie

Paramètre

Type

Description

id

string

Identifiant unique de l'appel.

choices

array

Tableau contenant le contenu généré par le modèle.

choices[0].text

string

Contenu généré par la requête.

choices[0].finish_reason

string

Raison pour laquelle le modèle a arrêté de générer du contenu.

choices[0].index

integer

Index de l'élément actuel dans le tableau. La valeur est fixée à 0.

choices[0].logprobs

object

Ce paramètre est actuellement fixé à null.

created

integer

Horodatage de création de la requête.

model

string

Nom du modèle utilisé pour la requête.

system_fingerprint

string

Ce paramètre est actuellement fixé à null.

object

string

Type d'objet. Toujours défini sur "text_completion".

usage

object

Statistiques d'utilisation de la requête.

usage.prompt_tokens

integer

Nombre de jetons dans le prompt.

usage.completion_tokens

integer

Nombre de jetons dans choices[0].text.

usage.total_tokens

integer

Somme de usage.prompt_tokens et de usage.completion_tokens.

Codes d'erreur

Si l'appel au modèle échoue et renvoie un message d'erreur, consultez les Codes d'erreur pour résoudre le problème.