Skip to main content
Toolkit/Framework

Completions API

A Completions API foi projetada para cenários de conclusão de texto, como complementação de código e continuação de conteúdo.

Este documento se aplica apenas à região North China 2 (Beijing). Você deve usar uma API key da região North China 2 (Beijing).

Modelos suportados

Os seguintes modelos Qwen Coder são suportados: qwen-coder-turbo

Pré-requisitos

Obtain an API key e configure it as an environment variable. Se você utilizar o kit de desenvolvimento de software (SDK) da OpenAI, install the SDK.

Primeiros passos

Utilize a Completions API para concluir textos. Dois cenários de conclusão de texto são suportados:
  1. Gerar conteúdo que segue um prefixo fornecido.
  2. Gerar conteúdo entre um prefixo e um sufixo fornecidos.
A geração de conteúdo que precede um sufixo fornecido não é suportada.

Início rápido

Passe informações como nome da função, parâmetros de entrada e instruções de uso no prefixo. A Completions API retorna o código gerado. O modelo de prompt é:
<|fim_prefix|>{prefix_content}<|fim_suffix|>
No modelo, {prefix_content} representa as informações de prefixo que você transmite.
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",
  prompt="<|fim_prefix|>Write a Python quick sort function, def quick_sort(arr):<|fim_suffix|>",
)

print(completion.choices[0].text)

Gerar conteúdo entre um prefixo e um sufixo

A Completions API pode gerar conteúdo entre um prefixo e um sufixo fornecidos (FIM, Fill In The Middle). Transmita informações como nome da função, parâmetros de entrada e instruções de uso no prefixo. Inclua dados como os parâmetros de retorno da função no sufixo. A Completions API retorna o código gerado. O modelo de prompt é:
<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>
Neste modelo, {prefix_content} corresponde às informações do prefixo e {suffix_content} às informações do sufixo.
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",
  prompt=f"<|fim_prefix|>{prefix_content}<|fim_suffix|>{suffix_content}<|fim_middle|>",
)

print(completion.choices[0].text)

Parâmetros de entrada e saída

Parâmetros de entrada

ParameterTypeRequiredDescription
modelstringYesNome do modelo a ser chamado.
promptstringYesPrompt para o qual as conclusões serão geradas.
max_tokensintegerNoNúmero máximo de tokens a serem retornados na solicitação.
max_tokens não afeta o processo de geração do Large Language Model (LLM). Se a quantidade de tokens gerados pelo modelo exceder max_tokens, o conteúdo retornado será truncado.
temperaturefloatNoTemperatura de amostragem, que controla a diversidade do texto gerado.Uma temperatura mais alta resulta em texto mais diversificado, enquanto uma temperatura mais baixa produz texto mais determinístico.Valores válidos: [0, 2.0).Como temperature e top_p controlam a diversidade do texto, defina apenas um deles.
top_pfloatNoLimiar de probabilidade para amostragem de núcleo, responsável por controlar a diversidade do texto gerado.Um top_p maior resulta em texto mais diversificado, enquanto um top_p menor gera texto mais determinístico.Valores válidos: (0, 1.0].Visto que temperature e top_p influenciam a diversidade textual, configure somente um dos dois.
streambooleanNoDefine se a resposta deve ser transmitida em streaming. Valores válidos:
  • false (padrão): Retorna o resultado após a geração de todo o conteúdo.
  • true: Transmite a saída conforme ela é gerada. Um chunk é enviado imediatamente após a geração de parte do conteúdo.
stream_optionsobjectNoQuando a saída em streaming estiver ativada, defina este parâmetro como {"include_usage": true} para exibir o número de tokens utilizados na última linha da saída.
stopstring or arrayNoO modelo interrompe automaticamente a geração de texto quando está prestes a incluir a string ou o token_id especificado no parâmetro stop.É possível transmitir palavras sensíveis no parâmetro stop para controlar a saída do modelo.
seedintegerNoDefinir o parâmetro seed torna o processo de geração de texto mais determinístico. Isso é geralmente usado para garantir que o modelo produza resultados consistentes em cada execução.Se você passar o mesmo valor de seed para cada chamada do modelo e mantiver os outros parâmetros inalterados, o modelo retornará o mesmo resultado sempre que possível.O valor deve estar no intervalo de 0 a 231−1.
presence_penaltyfloatNoControla o grau de repetição de conteúdo quando o modelo gera texto.O valor deve estar no intervalo de [-2.0, 2.0]. Um valor positivo reduz a repetição, enquanto um valor negativo a aumenta.

Parâmetros de saída

Parameter

Type

Description

id

string

Identificador exclusivo da chamada.

choices

array

Array contendo o conteúdo gerado pelo modelo.

choices[0].text

string

Conteúdo gerado pela solicitação.

choices[0].finish_reason

string

Motivo pelo qual o modelo parou de gerar conteúdo.

choices[0].index

integer

Índice do elemento atual no array. O valor é fixo em 0.

choices[0].logprobs

object

Atualmente fixo como null.

created

integer

Horário em que a solicitação foi criada.

model

string

Nome do modelo utilizado na solicitação.

system_fingerprint

string

Este parâmetro está atualmente fixo como null.

object

string

Tipo do objeto. Sempre será "text_completion".

usage

object

Estatísticas de uso da solicitação.

usage.prompt_tokens

integer

Quantidade de tokens no prompt.

usage.completion_tokens

integer

Quantidade de tokens em choices[0].text.

usage.total_tokens

integer

Soma de usage.prompt_tokens e usage.completion_tokens.

Códigos de erro

Se a chamada do modelo falhar e retornar uma mensagem de erro, consulte Error codes para resolução.
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
API em tempo real
Incorporação de Texto
Produção de Modelos
Completions API - Alibaba Cloud Model Studio