¡Invita a amigos y gana tokens gratuitos!Saber más

Crear Completado de Chat (qwen-mt-turbo)

Dado un prompt (indicación), el modelo devolverá uno o más completados (Completion) predichos, y también puede devolver las probabilidades de los tokens alternativos en cada posición. Este endpoint se utiliza principalmente para conversar con el modelo y procesar tareas de lenguaje natural, como la traducción automática.

Documentación oficial de referencia: Alibaba Cloud Bailian - Modelo de Traducción Automática

Información del Endpoint

  • Protocolo de solicitud: HTTP/HTTPS
  • Método de solicitud: POST
  • Ruta de solicitud (URL): https://api.codingplanx.ai/v1/chat/completions

Encabezados de Solicitud (Headers)

Nombre del parámetroRequeridoTipoValor de ejemploDescripción
Content-TypeSístringapplication/jsonFormato de los datos
AcceptSístringapplication/jsonFormato de respuesta esperado
AuthorizationNostringBearer {{YOUR_API_KEY}}Credenciales de autenticación de la API

Parámetros de Solicitud (Request Body)

El formato del cuerpo de la solicitud es application/json.

Nombre del parámetroRequeridoTipoDescripción
modelSístringID del modelo a utilizar. Ejemplo: qwen-mt-turbo.
messagesSíarrayLista de mensajes que componen la conversación hasta el momento. Contiene los campos role y content.
? roleNostringRol del remitente del mensaje, por ejemplo, user, assistant o system.
? contentNostringContenido del mensaje.
toolsSíarrayLista de herramientas que el modelo puede invocar. Actualmente, solo se admiten funciones como herramientas. Se utiliza para proporcionar una lista de funciones para las cuales el modelo puede generar entradas JSON.
tool_choiceSíobjectControla qué función invoca el modelo (si la hay). none significa que no se llamará a ninguna, auto significa que el modelo elige por sí mismo. También se puede forzar la llamada usando {"type": "function", "function": {"name": "my_function"}}.
temperatureNointegerTemperatura de muestreo, entre 0 y 2. Valores más altos (como 0.8) hacen que la salida sea más aleatoria, mientras que valores más bajos (como 0.2) la hacen más enfocada y determinista. Se recomienda modificar este valor o top_p, pero no ambos simultáneamente.
top_pNointegerParámetro de muestreo de núcleo (nucleus sampling). 0.1 significa que solo se consideran los tokens que componen el 10% superior de la masa de probabilidad. Se recomienda alterar este valor o temperature, pero no ambos a la vez.
nNointegerCuántas opciones de completado de chat se generarán para cada mensaje de entrada. El valor predeterminado es 1.
streamNobooleanIndica si se habilita la salida en streaming. Si es true, se enviarán incrementos parciales de mensajes en forma de Server-Sent Events (SSE), y se enviará data: [DONE] al finalizar. El valor predeterminado es false.
stopNostringSecuencias donde la API dejará de generar más tokens (máximo 4).
max_tokensNointegerNúmero máximo de tokens a generar en el completado de chat. La longitud total de los tokens de entrada y generados está limitada por la longitud de contexto del modelo.
presence_penaltyNonumberNúmero entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de si ya aparecen en el texto, lo que aumenta la probabilidad de que el modelo cambie a nuevos temas.
frequency_penaltyNonumberNúmero entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens según su frecuencia actual en el texto, disminuyendo la probabilidad de que el modelo repita las mismas líneas de forma reiterada.
logit_biasNoobject/nullModifica la probabilidad de que tokens específicos aparezcan en el completado. Acepta un objeto JSON que mapea los IDs de los tokens a un valor de sesgo (de -100 a 100).
userNostringIdentificador único que representa a su usuario final, lo cual puede ayudar a monitorear y detectar abusos.
response_formatNoobjectObjeto que especifica el formato que el modelo debe emitir. El uso de {"type": "json_object"} habilita el modo JSON. Nota: Al usarlo, se debe indicar explícitamente al modelo que genere JSON en el mensaje.
seenNointegerFunción en fase Beta. Semilla (seed) utilizada para el muestreo determinista. Repetir la solicitud con la misma semilla y parámetros debería devolver el mismo resultado exacto.

Ejemplo de Solicitud (Escenario de Traducción Automática)

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

(Nota: translation_options es un parámetro de extensión exclusivo del modelo de traducción qwen-mt-turbo)

Parámetros de Respuesta (Response Body)

El formato de retorno es application/json.

Nombre del parámetroTipoDescripción
idstringIdentificador único del completado de chat.
objectstringTipo de objeto, generalmente es chat.completion.
createdintegerMarca de tiempo (timestamp) de creación en segundos Unix.
choicesarrayLista de opciones de completado generadas.
? indexintegerÍndice de la opción dentro de la lista.
? messageobjectObjeto del mensaje generado por el modelo. Contiene role y content.
? finish_reasonstringMotivo por el cual el modelo dejó de generar (por ejemplo, stop indica un final normal, length indica que se alcanzó el límite máximo de tokens).
usageobjectEstadísticas de consumo de tokens de esta solicitud.
? prompt_tokensintegerNúmero de tokens consumidos por el prompt (indicación).
? completion_tokensintegerNúmero de tokens consumidos por el contenido generado.
? total_tokensintegerNúmero total de tokens consumidos.

Ejemplo de Respuesta (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
    }
}

Preguntas Frecuentes (FAQs)

1. ¿Para qué escenarios se utiliza principalmente el modelo qwen-mt-turbo?

qwen-mt-turbo es un modelo profundamente optimizado para la Traducción Automática (Machine Translation). Aunque utiliza la interfaz estándar de Chat Completions, al proporcionar el texto que se necesita traducir y configurar el idioma de origen y destino, puede ofrecer resultados de traducción de altísima calidad.

2. ¿Cómo implementar el efecto de máquina de escribir (salida en streaming)?

Establezca el parámetro stream como true en el cuerpo de la solicitud. En este caso, el endpoint no devolverá una respuesta JSON completa de una sola vez, sino que utilizará el protocolo Server-Sent Events (SSE) para enviar bloques de datos (data chunks) de forma continua. Cuando el contenido se haya generado por completo, devolverá data: [DONE] para indicar el fin del stream.

3. ¿Por qué recibo un error 401 Unauthorized?

Verifique el campo Authorization en el encabezado de la solicitud. Asegúrese de que su formato sea Bearer <SU_API_KEY> (tenga en cuenta que debe haber un espacio en blanco entre Bearer y la API Key), y que la clave de la API esté activa y tenga los permisos necesarios para invocar dicho modelo.

4. ¿Cómo se deben configurar temperature y top_p?

Ambos parámetros se utilizan para controlar la aleatoriedad de la salida del modelo. La recomendación oficial es modificar solo uno de ellos y mantener el otro con su valor predeterminado. Si desea que los resultados de la traducción o las respuestas sean más rigurosos y deterministas, se recomienda reducir la temperature (por ejemplo, entre 0.1 - 0.2); si desea generar contenido más creativo y variado, puede aumentarla (por ejemplo, a 0.8).

5. ¿Es obligatorio el parámetro translation_options del ejemplo de solicitud?

Esta es una configuración de extensión admitida por modelos de traducción especializados como qwen-mt-turbo, y se utiliza para especificar explícitamente el idioma de origen (source_lang) y el idioma de destino (target_lang). Aunque es posible pedir al modelo que traduzca utilizando lenguaje natural en el content de los messages, el uso de translation_options hace que las instrucciones de traducción sean más precisas y los resultados mucho más estables. Si se utiliza para conversaciones básicas no relacionadas con la traducción, puede omitir este parámetro sin problema.