Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Referencia de API de Qwen-MT

Última actualización: Oct 12, 2026

Parámetros de entrada y salida para llamar a Qwen-MT a través de la interfaz compatible con OpenAI o la API de DashScope.

Referencias: Traducción automática (Qwen-MT)

Compatible con OpenAI

Región de Singapore

base_url para el SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

Endpoint HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Región de Virginia

base_url para el SDK: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1

Endpoint HTTP: POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Región de Pekín

base_url para el SDK: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

Endpoint HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions

ImportanteAlibaba Cloud Model Studio ha lanzado dominios específicos de espacio de trabajo para las regiones de China (Pekín), Singapore y China (Hong Kong). Los nuevos dominios dedicados ofrecen un rendimiento superior y una mayor estabilidad para las solicitudes de inferencia. Recomendamos migrar a los nuevos dominios:

  • China (Pekín): de https://dashscope.aliyuncs.com a https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapur: de https://dashscope-intl.aliyuncs.com a https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
  • China (Hong Kong): de https://cn-hongkong.dashscope.aliyuncs.com a https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com

{WorkspaceId} es su ID de espacio de trabajo, que se encuentra en la página Workspace Details de la consola de Alibaba Cloud Model Studio. El dominio existente permanece totalmente funcional.

Primero, cree una clave API y configúrela como variable de entorno . Si utiliza el SDK de OpenAI, instale el SDK .

Cuerpo de la solicitud

Uso básico

Python

import os
from openai import OpenAI

client = OpenAI(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {
        "role": "user",
        "content": "No me reí después de ver este video"
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English"
}

completion = client.chat.completions.create(
    model="qwen-mt-plus",
    messages=messages,
    extra_body={
        "translation_options": translation_options
    }
)
print(completion.choices[0].message.content)

Node.js

// Node.js v18 or later is required. Run the code in an ES Module environment.
    import OpenAI from "openai";

    const openai = new OpenAI(
        {
            // Replace with your Model Studio API key if the environment variable is not set: apiKey: "sk-xxx"
            apiKey: process.env.DASHSCOPE_API_KEY,
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
        }
    );
    const completion = await openai.chat.completions.create({
        model: "qwen-mt-plus",
        messages: [
            { role: "user", content: "No me reí después de ver este video" }
        ],
        translation_options: {
            source_lang: "auto",
            target_lang: "English"
        }
    });
    console.log(JSON.stringify(completion));

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
        "model": "qwen-mt-plus",
        "messages": [{"role": "user", "content": "No me reí después de ver este video"}],
        "translation_options": {
          "source_lang": "auto",
          "target_lang": "English"
          }
    }'

Intervención de terminología

Python

import os
from openai import OpenAI

client = OpenAI(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {
        "role": "user",
        "content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa."
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
    "terms": [
        {
            "source": "biosensor",
            "target": "biological sensor"
        },
        {
            "source": "grafeno",
            "target": "graphene"
        },
        {
            "source": "elementos químicos",
            "target": "chemical elements"
        },
        {
            "source": "estado de salud del cuerpo",
            "target": "health status of the body"
        }
    ]
}

completion = client.chat.completions.create(
    model="qwen-mt-plus",  # This example uses qwen-mt-plus. You can replace the model name as needed.
    messages=messages,
    extra_body={
        "translation_options": translation_options
    }
)
print(completion.choices[0].message.content)

Node.js

// Node.js v18 or later is required. Run the code in an ES Module environment.
    import OpenAI from "openai";

    const openai = new OpenAI(
        {
            // Replace with your Model Studio API key if the environment variable is not set: apiKey: "sk-xxx"
            apiKey: process.env.DASHSCOPE_API_KEY,
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
        }
    );
    const completion = await openai.chat.completions.create({
        model: "qwen-mt-plus",
        messages: [
            { role: "user", content: "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa." }
        ],
        translation_options: {
            source_lang: "auto",
            target_lang: "English",
            terms: [
                {
                    "source": "biosensor",
                    "target": "biological sensor"
                },
                {
                    "source": "grafeno",
                    "target": "graphene"
                },
                {
                    "source": "elementos químicos",
                    "target": "chemical elements"
                },
                {
                    "source": "estado de salud del cuerpo",
                    "target": "health status of the body"
                }
            ]
        }
    });
    console.log(JSON.stringify(completion));

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

# The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "qwen-mt-plus",
      "messages": [
        {
          "role": "user",
          "content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa."
        }
      ],
      "translation_options": {
        "source_lang": "auto",
        "target_lang": "English",
        "terms": [
          {
            "source": "biosensor",
            "target": "biological sensor"
          },
          {
            "source": "grafeno",
            "target": "graphene"
          },
          {
            "source": "elementos químicos",
            "target": "chemical elements"
          },
          {
            "source": "estado de salud del cuerpo",
            "target": "health status of the body"
          }
        ]
      }
    }'

Memoria de traducción

Python

import os
from openai import OpenAI

client = OpenAI(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {
        "role": "user",
        "content": "El siguiente comando muestra la información de la versión de Thrift instalada."
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
    "tm_list": [
        {
            "source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:",
            "target": "You can use one of the following methods to query the engine version of a cluster:"
        },
        {
            "source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.",
            "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."
        },
        {
            "source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:",
            "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"
        }
    ]
}

completion = client.chat.completions.create(
    model="qwen-mt-plus",  # This example uses qwen-mt-plus. You can replace the model name as needed.
    messages=messages,
    extra_body={
        "translation_options": translation_options
    }
)
print(completion.choices[0].message.content)

Node.js

// Node.js v18 or later is required. Run the code in an ES Module environment.
    import OpenAI from "openai";

    const openai = new OpenAI(
        {
            // Replace with your Model Studio API key if the environment variable is not set: apiKey: "sk-xxx"
            apiKey: process.env.DASHSCOPE_API_KEY,
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
        }
    );
    const completion = await openai.chat.completions.create({
        model: "qwen-mt-plus",
        messages: [
            { role: "user", content: "El siguiente comando muestra la información de la versión de Thrift instalada." }
        ],
        translation_options: {
            source_lang: "auto",
            target_lang: "English",
            tm_list: [
                {
                    "source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:",
                    "target": "You can use one of the following methods to query the engine version of a cluster:"
                },
                {
                    "source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.",
                    "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."
                },
                {
                    "source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:",
                    "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"
                }
            ]
        }
    });
    console.log(JSON.stringify(completion));

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "qwen-mt-plus",
      "messages": [
        {
          "role": "user",
          "content": "El siguiente comando muestra la información de la versión de Thrift instalada."
        }
      ],
      "translation_options": {
        "source_lang": "auto",
        "target_lang": "English",
        "tm_list":[
              {"source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:", "target": "You can use one of the following methods to query the engine version of a cluster:"},
              {"source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.", "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."},
              {"source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:", "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"}
        ]
      }
    }'

Indicaciones de dominio

Python

import os
from openai import OpenAI

client = OpenAI(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {
        "role": "user",
        "content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT."
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
    "domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
}

completion = client.chat.completions.create(
    model="qwen-mt-plus",
    messages=messages,
    extra_body={
        "translation_options": translation_options
    }
)
print(completion.choices[0].message.content)

Node.js

// Node.js v18 or later is required. Run the code in an ES Module environment.
    import OpenAI from "openai";

    const openai = new OpenAI(
        {
            // Replace with your Model Studio API key if the environment variable is not set: apiKey: "sk-xxx"
            apiKey: process.env.DASHSCOPE_API_KEY,
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
        }
    );
    const completion = await openai.chat.completions.create({

        model: "qwen-mt-plus",
        messages: [
            { role: "user", content: "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT." }
        ],
        translation_options: {
            source_lang: "auto",
            target_lang: "English",
            domains: "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
        }
    });
    console.log(JSON.stringify(completion));

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "qwen-mt-plus",
      "messages": [
        {
          "role": "user",
          "content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT."
        }
      ],
      "translation_options": {
        "source_lang": "auto",
        "target_lang": "English",
        "domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
      }
    }'

model string (Obligatorio)

Nombre del modelo. Compatibles: qwen-mt-plus, qwen-mt-flash, qwen-mt-lite.

messages array (Obligatorio)

Matriz de mensajes que proporcionan contexto al modelo. Solo se admiten mensajes de usuario.

Tipo de mensaje

Mensaje de usuario object (Obligatorio)

Un mensaje de usuario que contiene la oración a traducir.

Propiedades

content string (Obligatorio)

Oración a traducir.

role string (Obligatorio)

Rol del mensaje de usuario. Debe definirse como user.

stream boolean (Opcional) El valor predeterminado es false.

Habilita el modo de salida en streaming.

Valores válidos:

  • false: Devuelve la respuesta completa después de la generación.
  • true: Devuelve la respuesta en fragmentos a medida que se generan. El cliente reconstruye la respuesta completa a partir de los fragmentos.

Notaqwen-mt-flash y qwen-mt-lite devuelven datos de forma incremental (cada fragmento contiene solo contenido nuevo). qwen-mt-plus devuelve datos de forma no incremental (cada fragmento contiene la secuencia completa hasta la fecha). Este comportamiento no se puede cambiar. Ejemplo:

I

I didn

I didn't

I didn't laugh

I didn't laugh after

...

stream_options object (Opcional)

Los elementos de configuración para la salida en streaming. Este parámetro solo tiene efecto cuando stream está establecido en true.

Propiedades

include_usage boolean (Opcional) El valor predeterminado es false.

Incluya información sobre el consumo de tokens en el último fragmento de datos.

Valores válidos:

  • true
  • false

max_tokens integer (Opcional)

Número máximo de tokens a generar. Si la salida excede este valor, la respuesta se trunca.

Los valores predeterminado y máximo corresponden a la longitud máxima de salida del modelo. Para obtener más información, consulte Selección de modelos.

seed integer (Opcional)

Semilla de número aleatorio para resultados reproducibles. Usar la misma seed y los mismos parámetros produce una salida consistente.

Rango de valores: [0, 2 31 -1].

temperature float (Opcional) El valor predeterminado es 0.65.

Temperatura de muestreo que controla la diversidad del texto generado.

Valores más altos producen texto más diverso. Valores más bajos producen texto más determinista.

Rango de valores: [0, 2)

Tanto temperature como top_p controlan la diversidad del texto. Defina solo uno de ellos.

top_p float (Opcional) El valor predeterminado es 0.8.

Umbral de probabilidad para el muestreo de núcleo que controla la diversidad del texto generado.

Valores más altos producen texto más diverso. Valores más bajos producen texto más determinista.

Rango de valores: (0, 1.0]

Tanto temperature como top_p controlan la diversidad del texto. Defina solo uno de ellos.

top_k integer (Opcional) El valor predeterminado es 1.

Tamaño del conjunto de candidatos para el muestreo durante la generación. Por ejemplo, configurar esto como 50 significa que solo los 50 tokens principales por puntuación forman el grupo de muestreo. Los valores más grandes aumentan la aleatoriedad; los valores más pequeños aumentan el determinismo. Si el valor es None o mayor que 100, top_k se desactiva y solo top_p surte efecto.

El valor debe ser mayor o igual a 0.

Parámetro no estándar de OpenAI. SDK de Python: colóquelo en el objeto extra_body extra_body={"top_k": xxx}. SDK de Node.js o llamadas HTTP: páselo como parámetro de nivel superior.

repetition_penalty float (Opcional) El valor predeterminado es 1.0.

Penalización por repetición en secuencias consecutivas. Los valores más altos reducen la repetición. Un valor de 1.0 no aplica ninguna penalización. Debe ser mayor que 0, sin límite superior estricto.

Parámetro no estándar de OpenAI. SDK de Python: colóquelo en el objeto extra_body extra_body={"repetition_penalty": xxx}. SDK de Node.js o llamadas HTTP: páselo como parámetro de nivel superior.

translation_options object (Obligatorio)

Parámetros de traducción.

Propiedades

source_lang string (Obligatorio)

El nombre completo en inglés del idioma de origen. Para obtener más información, consulte Idiomas compatibles. Si configura esto como auto, el modelo detecta automáticamente el idioma de entrada.

target_lang string (Obligatorio)

El nombre completo en inglés del idioma de destino. Para obtener más información, consulte Idiomas compatibles.

terms arrays (Opcional)

La matriz de términos a definir cuando utiliza la función Intervención de términos.

Propiedades

source string (Obligatorio)

El término en el idioma de origen.

target string (Obligatorio)

El término en el idioma de destino.

tm_list arrays (Opcional)

La matriz de memorias de traducción a definir cuando utiliza la función Memoria de traducción.

Propiedades

source string (Obligatorio)

La declaración en el idioma de origen.

target string (Obligatorio)

La declaración en el idioma de destino.

domains string (Opcional)

El prompt de dominio a definir cuando utiliza la función Prompting de dominio.

Los prompts de dominio deben estar en inglés.

Parámetro no estándar de OpenAI. SDK de Python: colóquelo en el objeto extra_body extra_body={"translation_options": xxx}. SDK de Node.js o llamadas HTTP: páselo como parámetro de nivel superior.

Objeto de respuesta de chat (salida sin streaming)

{
  "id": "chatcmpl-999a5d8a-f646-4039-968a-167743ae0f22",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "I didn't laugh after watching this video.",
        "refusal": null,
        "role": "assistant",
        "annotations": null,
        "audio": null,
        "function_call": null,
        "tool_calls": null
      }
    }
  ],
  "created": 1762346157,
  "model": "qwen-mt-plus",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": null,
  "usage": {
    "completion_tokens": 9,
    "prompt_tokens": 53,
    "total_tokens": 62,
    "completion_tokens_details": null,
    "prompt_tokens_details": null
  }
}

id string

ID único de solicitud.

choices array

Matriz de contenido generado por el modelo.

Propiedades

finish_reason string

Razón por la cual el modelo detuvo la generación de contenido.

Valores posibles:

  • stop: La salida está completa.
  • length: Se alcanzó el límite de longitud de salida.

index integer

Índice del objeto actual en la matriz choices.

message object

Mensaje de salida del modelo.

Propiedades

content string

Resultado de la traducción.

refusal string

Actualmente fijo en null.

role string

El rol del mensaje. Este valor está fijado como assistant.

audio object

Actualmente fijo en null.

function_call object

Actualmente fijo en null.

tool_calls array

Actualmente fijo en null.

created integer

La marca de tiempo UNIX cuando se creó la solicitud.

model string

El modelo utilizado para la solicitud.

object string

Este valor siempre es chat.completion.

service_tier string

Actualmente fijo en null.

system_fingerprint string

Actualmente fijo en null.

usage object

Consumo de tokens para la solicitud.

Propiedades

completion_tokens integer

Número de tokens en la salida del modelo.

prompt_tokens integer

Número de tokens en la entrada.

total_tokens integer

Total de tokens consumidos, igual a prompt_tokens + completion_tokens.

completion_tokens_details object

Actualmente fijo en null.

prompt_tokens_details object

Actualmente fijo en null.

Objeto de fragmento de respuesta de chat (salida en streaming)

{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "", "function_call": null, "refusal": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "I", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " didn", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "'t", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " laugh", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " after", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " watching", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " this", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " video", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": ".", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": "stop", "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": "stop", "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": {"completion_tokens": 9, "prompt_tokens": 56, "total_tokens": 65, "completion_tokens_details": null, "prompt_tokens_details": null}}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after watching","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after watching this","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after watching this video","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after watching this video.","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after watching this video.","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[{"delta":{"content":"I didn’t laugh after watching this video.","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-478e183e-cbdc-4ea0-aeae-4c2ba1d03e4d","choices":[],"created":1762346453,"model":"qwen-mt-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":9,"prompt_tokens":56,"total_tokens":65,"completion_tokens_details":null,"prompt_tokens_details":null}}

id string

El ID único de la llamada. Cada objeto de fragmento tiene el mismo ID.

choices array

Una matriz de contenido generado por el modelo. Si include_usage se define como true, esta matriz está vacía en el último fragmento.

Propiedades

delta object

El contenido de salida devuelto en modo streaming.

Propiedades

content string

El resultado de la traducción. qwen-mt-flash y qwen-mt-lite proporcionan actualizaciones incrementales. qwen-mt-plus proporciona actualizaciones no incrementales.

function_call object

Actualmente fijo en null.

refusal object

Actualmente fijo en null.

role string

El rol del objeto de mensaje. Este tiene un valor solo en el primer fragmento.

finish_reason string

El modelo deja de generar por una de tres razones:

  • Cuando la salida está completa, el valor es stop.
  • El valor es null durante la generación.
  • length: La generación se detuvo porque se alcanzó el límite de longitud de salida.

index integer

El índice de la respuesta actual en la matriz choices.

created integer

La marca de tiempo UNIX cuando se creó la solicitud. Cada fragmento tiene la misma marca de tiempo.

model string

El modelo utilizado para la solicitud.

object string

Este valor siempre es chat.completion.chunk.

service_tier string

Actualmente fijo en null.

system_fingerprint string

Actualmente fijo en null.

usage object

Los tokens consumidos por la solicitud. Esto se devuelve en el último fragmento solo cuando include_usage es true.

Propiedades

completion_tokens integer

El número de tokens en la salida del modelo.

prompt_tokens integer

El número de tokens de entrada.

total_tokens integer

El número total de tokens. Esta es la suma de prompt_tokens y completion_tokens.

completion_tokens_details object

Actualmente fijo en null.

prompt_tokens_details object

Actualmente fijo en null.

DashScope

Singapore

Endpoint HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

Defina base_url como:

Código Python

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

Código Java

  • Método 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
  • Método 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";

Virginia

Endpoint HTTP: POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

Defina base_url como:

Código Python

dashscope.base_http_api_url = 'https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1'

Código Java

  • Método 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1");
  • Método 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1";

Beijing

Endpoint HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

No necesita configurar base_url para llamadas al SDK. El valor predeterminado es https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1.

Debe crear una clave API y exportar la clave API como variable de entorno . Si utiliza el SDK de DashScope, instale el SDK de DashScope .

Cuerpo de la solicitud

Uso básico

Python

import os
import dashscope

# The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {
        "role": "user",
        "content": "No me reí después de ver este video"
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
}
response = dashscope.Generation.call(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-mt-plus",  # This example uses qwen-mt-plus. You can replace the model name as needed.
    messages=messages,
    result_format='message',
    translation_options=translation_options
)
print(response.output.choices[0].message.content)

Java

// DashScope SDK 2.20.6 or later is required.
    import java.lang.System;
    import java.util.Collections;
    import com.alibaba.dashscope.aigc.generation.Generation;
    import com.alibaba.dashscope.aigc.generation.GenerationParam;
    import com.alibaba.dashscope.aigc.generation.GenerationResult;
    import com.alibaba.dashscope.aigc.generation.TranslationOptions;
    import com.alibaba.dashscope.common.Message;
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;

    public class Main {
        // The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
        public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
            Message userMsg = Message.builder()
                    .role(Role.USER.getValue())
                    .content("No me reí después de ver este video")
                    .build();
            TranslationOptions options = TranslationOptions.builder()
                    .sourceLang("auto")
                    .targetLang("English")
                    .build();
            GenerationParam param = GenerationParam.builder()
                    // If you have not configured the environment variable, replace the following line with your Model Studio API key: .apiKey("sk-xxx")
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model("qwen-mt-plus")
                    .messages(Collections.singletonList(userMsg))
                    .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                    .translationOptions(options)
                    .build();
            return gen.call(param);
        }
        public static void main(String[] args) {
        // The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
            try {
                GenerationResult result = callWithMessage();
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
            } catch (ApiException | NoApiKeyException | InputRequiredException e) {
                System.err.println("Error message: "+e.getMessage());
                e.printStackTrace();
            } finally {
                System.exit(0);
            }
        }
    }

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
    -H "Authorization: $DASHSCOPE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "qwen-mt-plus",
      "input": {
        "messages": [
          {
            "content": "No me reí después de ver este video",
            "role": "user"
          }
        ]
      },
      "parameters": {
        "translation_options": {
          "source_lang": "auto",
          "target_lang": "English"
        }
      }
    }'

Intervención de terminología

Python

import os
import dashscope

# The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {
        "role": "user",
        "content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa."
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
    "terms": [
        {
            "source": "biosensor",
            "target": "biological sensor"
        },
        {
            "source": "grafeno",
            "target": "graphene"
        },
        {
            "source": "elementos químicos",
            "target": "chemical elements"
        },
        {
            "source": "estado de salud del cuerpo",
            "target": "health status of the body"
        }
    ]
}
response = dashscope.Generation.call(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-mt-plus",  # This example uses qwen-mt-plus. You can replace the model name as needed.
    messages=messages,
    result_format='message',
    translation_options=translation_options
)
print(response.output.choices[0].message.content)

Java

// DashScope SDK 2.20.6 or later is required.
    import java.lang.System;
    import java.util.Collections;
    import java.util.Arrays;
    import com.alibaba.dashscope.aigc.generation.Generation;
    import com.alibaba.dashscope.aigc.generation.GenerationParam;
    import com.alibaba.dashscope.aigc.generation.GenerationResult;
    import com.alibaba.dashscope.aigc.generation.TranslationOptions;
    import com.alibaba.dashscope.aigc.generation.TranslationOptions.Term;
    import com.alibaba.dashscope.common.Message;
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;

    public class Main {
        // The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
        public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
            Message userMsg = Message.builder()
                    .role(Role.USER.getValue())
                    .content("Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa.")
                    .build();
            Term term1 = Term.builder()
                    .source("biosensor")
                    .target("biological sensor")
                    .build();
            Term term2 = Term.builder()
                    .source("estado de salud del cuerpo")
                    .target("health status of the body")
                    .build();
            TranslationOptions options = TranslationOptions.builder()
                    .sourceLang("auto")
                    .targetLang("English")
                    .terms(Arrays.asList(term1, term2))
                    .build();
            GenerationParam param = GenerationParam.builder()
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model("qwen-mt-plus")
                    .messages(Collections.singletonList(userMsg))
                    .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                    .translationOptions(options)
                    .build();
            return gen.call(param);
        }
        public static void main(String[] args) {
            try {
                GenerationResult result = callWithMessage();
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
            } catch (ApiException | NoApiKeyException | InputRequiredException e) {
                System.err.println("Error message: "+e.getMessage());
            }
            System.exit(0);
        }
    }

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
    -H "Authorization: $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
      "model": "qwen-mt-plus",
      "input": {
        "messages": [
          {
            "content": "Este conjunto de biosensores utiliza grafeno, un material novedoso. Su objetivo son los elementos químicos. Su agudo «sentido del olfato» le permite reflejar el estado de salud del cuerpo de forma más profunda y precisa.",
            "role": "user"
          }
        ]
      },
      "parameters": {
        "translation_options": {
          "source_lang": "auto",
          "target_lang": "English",
          "terms": [
            {
              "source": "biosensor",
              "target": "biological sensor"
            },
            {
              "source": "estado de salud del cuerpo",
              "target": "health status of the body"
            }
          ]
        }
      }
    }'

Memoria de traducción

Python

import os
import dashscope

# The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {
        "role": "user",
        "content": "El siguiente comando muestra la información de la versión de Thrift instalada."
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
    "tm_list": [
        {
            "source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:",
            "target": "You can use one of the following methods to query the engine version of a cluster:"
        },
        {
            "source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.",
            "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."
        },
        {
            "source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:",
            "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"
        }
    ]}
response = dashscope.Generation.call(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-mt-plus",  # This example uses qwen-mt-plus. You can replace the model name as needed.
    messages=messages,
    result_format='message',
    translation_options=translation_options
)
print(response.output.choices[0].message.content)

Java

// DashScope SDK 2.20.6 or later is required.
    import java.lang.System;
    import java.util.Collections;
    import java.util.Arrays;
    import com.alibaba.dashscope.aigc.generation.Generation;
    import com.alibaba.dashscope.aigc.generation.GenerationParam;
    import com.alibaba.dashscope.aigc.generation.GenerationResult;
    import com.alibaba.dashscope.aigc.generation.TranslationOptions;
    import com.alibaba.dashscope.aigc.generation.TranslationOptions.Tm;
    import com.alibaba.dashscope.common.Message;
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;

    public class Main {
        // The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
        public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
            Message userMsg = Message.builder()
                    .role(Role.USER.getValue())
                    .content("El siguiente comando muestra la información de la versión de Thrift instalada.")
                    .build();
            Tm tm1 = Tm.builder()
                    .source("Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:")
                    .target("You can use one of the following methods to query the engine version of a cluster:")
                    .build();
            Tm tm2 = Tm.builder()
                    .source("La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.")
                    .target("The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website.")
                    .build();
            Tm tm3 = Tm.builder()
                    .source("Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:")
                    .target("You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:")
                    .build();
            TranslationOptions options = TranslationOptions.builder()
                    .sourceLang("auto")
                    .targetLang("English")
                    .tmList(Arrays.asList(tm1, tm2, tm3))
                    .build();
            GenerationParam param = GenerationParam.builder()
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model("qwen-mt-plus")
                    .messages(Collections.singletonList(userMsg))
                    .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                    .translationOptions(options)
                    .build();
            return gen.call(param);
        }
        public static void main(String[] args) {
            try {
                GenerationResult result = callWithMessage();
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
            } catch (ApiException | NoApiKeyException | InputRequiredException e) {
                System.err.println("Error message: "+e.getMessage());
            }
            System.exit(0);
        }
    }

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
    -H "Authorization: $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
      "model": "qwen-mt-plus",
      "input": {
        "messages": [
          {
            "content": "El siguiente comando muestra la información de la versión de Thrift instalada.",
            "role": "user"
          }
        ]
      },
      "parameters": {
        "translation_options": {
          "source_lang": "auto",
          "target_lang": "English",
          "tm_list":[
              {"source": "Puede utilizar uno de los siguientes métodos para consultar la versión del motor de un clúster:", "target": "You can use one of the following methods to query the engine version of a cluster:"},
              {"source": "La versión de Thrift utilizada por nuestro HBase en la nube es la 0.9.0. Por lo tanto, recomendamos que la versión del cliente también sea la 0.9.0. Puede descargar Thrift 0.9.0 desde aquí. El paquete de código fuente descargado se utilizará posteriormente. Primero debe instalar el entorno de compilación de Thrift. Para la instalación desde el código fuente, puede consultar el sitio web oficial de Thrift.", "target": "The version of Thrift used by ApsaraDB for HBase is 0.9.0. Therefore, we recommend that you use Thrift 0.9.0 to create a client. Click here to download Thrift 0.9.0. The downloaded source code package will be used later. You must install the Thrift compiling environment first. For more information, see Thrift official website."},
              {"source": "Puede instalar el SDK a través de PyPI. El comando de instalación es el siguiente:", "target": "You can run the following command in Python Package Index (PyPI) to install Elastic Container Instance SDK for Python:"}
          ]
        }
      }
    }'

Indicaciones de dominio

Python

import os
import dashscope

# The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {
        "role": "user",
        "content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT."
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
    "domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."
}
response = dashscope.Generation.call(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-mt-plus",
    messages=messages,
    result_format='message',
    translation_options=translation_options
)
print(response.output.choices[0].message.content)

Java

// DashScope SDK 2.20.6 or later is required.
    import java.lang.System;
    import java.util.Collections;
    import com.alibaba.dashscope.aigc.generation.Generation;
    import com.alibaba.dashscope.aigc.generation.GenerationParam;
    import com.alibaba.dashscope.aigc.generation.GenerationResult;
    import com.alibaba.dashscope.aigc.generation.TranslationOptions;
    import com.alibaba.dashscope.common.Message;
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;

    public class Main {
        // The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
        public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
            // The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
            Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
            Message userMsg = Message.builder()
                    .role(Role.USER.getValue())
                    .content("La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT.")
                    .build();
            TranslationOptions options = TranslationOptions.builder()
                    .sourceLang("auto")
                    .targetLang("English")
                    .domains("The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style.")
                    .build();
            GenerationParam param = GenerationParam.builder()
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))

                    .model("qwen-mt-plus")
                    .messages(Collections.singletonList(userMsg))
                    .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                    .translationOptions(options)
                    .build();
            return gen.call(param);
        }
        public static void main(String[] args) {
        // The following is the base_url for the Beijing region. Replace WorkspaceId with your actual workspace ID. Configurations vary by region.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
            try {
                GenerationResult result = callWithMessage();
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
            } catch (ApiException | NoApiKeyException | InputRequiredException e) {
                System.err.println("Error message: "+e.getMessage());
            }
            System.exit(0);
        }
    }

curl

Los endpoints y las claves de API difieren según la región. El siguiente es el Singapore endpoint.

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation \
    -H "Authorization: $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
      "model": "qwen-mt-plus",
      "input": {
        "messages": [
          {
            "content": "La segunda instrucción SELECT devuelve un número que indica la cantidad de filas que habría devuelto la primera instrucción SELECT si no se hubiera utilizado la cláusula LIMIT.",
            "role": "user"
          }
        ]
      },
      "parameters": {
        "translation_options": {
          "source_lang": "auto",
          "target_lang": "English",
          "domains": "The sentence is from Ali Cloud IT domain. It mainly involves computer-related software development and usage methods, including many terms related to computer software and hardware. Pay attention to professional troubleshooting terminologies and sentence patterns when translating. Translate into this IT domain style."}
      }
    }'

model string (Obligatorio)

Nombre del modelo. Compatibles: qwen-mt-plus, qwen-mt-flash, qwen-mt-lite.

messages array (Obligatorio)

Matriz de mensajes que proporcionan contexto al modelo. Solo se admiten mensajes de usuario.

Tipo de mensaje

Mensaje de usuario object (Obligatorio)

Un mensaje de usuario que contiene la oración a traducir.

Propiedades

content string (Obligatorio)

Oración a traducir.

role string (Obligatorio)

Rol del mensaje de usuario. Debe definirse como user.

max_tokens integer (Opcional)

Número máximo de tokens a generar. Si la salida excede este valor, la respuesta se trunca.

Los valores predeterminado y máximo corresponden a la longitud máxima de salida del modelo. Para obtener más información, consulte Selección de modelos.

En el SDK de Java, el parámetro es maxTokens. Para llamadas HTTP, coloque max_tokens en el objeto parameters.

seed integer (Opcional)

Semilla de número aleatorio para resultados reproducibles. Usar la misma seed y los mismos parámetros produce una salida consistente.

Rango de valores: [0, 2 31 -1].

Cuando realice una llamada HTTP, coloque seed en el objeto parameters.

temperature float (Opcional) El valor predeterminado es 0.65.

Temperatura de muestreo que controla la diversidad del texto generado.

Valores más altos producen texto más diverso. Valores más bajos producen texto más determinista.

Rango de valores: [0, 2)

Tanto temperature como top_p controlan la diversidad del texto. Defina solo uno de ellos.

Cuando realice una llamada HTTP, coloque temperature en el objeto parameters.

top_p float (Opcional) El valor predeterminado es 0.8.

Umbral de probabilidad para el muestreo de núcleo que controla la diversidad del texto generado.

Valores más altos producen texto más diverso. Valores más bajos producen texto más determinista.

Rango de valores: (0, 1.0]

Tanto temperature como top_p controlan la diversidad del texto. Defina solo uno de ellos.

En el SDK de Java, el parámetro es el objeto topPparameters.

repetition_penalty float (Opcional) El valor predeterminado es 1.0.

Penalización por repetición en secuencias consecutivas. Los valores más altos reducen la repetición. Un valor de 1.0 no aplica ninguna penalización. Debe ser mayor que 0, sin límite superior estricto.

En el SDK de Java, el parámetro es repetitionPenalty. Para llamadas HTTP, agregue repetition_penalty al objeto parameters.

top_k integer (Opcional) El valor predeterminado es 1.

Tamaño del conjunto de candidatos para el muestreo durante la generación. Por ejemplo, configurar esto como 50 significa que solo los 50 tokens principales por puntuación forman el grupo de muestreo. Los valores más grandes aumentan la aleatoriedad; los valores más pequeños aumentan el determinismo. Si el valor es None o mayor que 100, top_k se desactiva y solo top_p surte efecto.

El valor debe ser mayor o igual a 0.

En el SDK de Java, el parámetro es topK. Cuando realice una llamada HTTP, configure top_k en el objeto parameters.

stream boolean (Opcional)

Habilita el modo de salida en streaming.

Valores válidos:

  • false: Devuelve la respuesta completa después de la generación.
  • true: Devuelve la respuesta en fragmentos a medida que se generan. El cliente reconstruye la respuesta completa a partir de los fragmentos.

Notaqwen-mt-flash y qwen-mt-lite devuelven datos de forma incremental (cada fragmento contiene solo contenido nuevo). qwen-mt-plus devuelve datos de forma no incremental (cada fragmento contiene la secuencia completa hasta la fecha). Este comportamiento no se puede cambiar. Ejemplo:

I

I didn

I didn't

I didn't laugh

I didn't laugh after

...

Este parámetro solo es compatible con el SDK de Python. Para implementar la salida por streaming con el SDK de Java, llame a la interfaz streamCall. Para implementar la salida por streaming con una llamada HTTP, configure X-DashScope-SSE como enable en el encabezado.

translation_options object (Obligatorio)

Parámetros de traducción.

Propiedades

source_lang string (Obligatorio)

El nombre completo en inglés del idioma de origen. Para obtener más información, consulte Idiomas compatibles. Si configura esto como auto, el modelo detecta automáticamente el idioma de entrada.

target_lang string (Obligatorio)

El nombre completo en inglés del idioma de destino. Para obtener más información, consulte Idiomas compatibles.

terms arrays (Opcional)

La matriz de términos a definir cuando utiliza la función Intervención de términos.

Propiedades

source string (Obligatorio)

El término en el idioma de origen.

target string (Obligatorio)

El término en el idioma de destino.

tm_list arrays (Opcional)

La matriz de memorias de traducción a definir cuando utiliza la función Memoria de traducción.

Propiedades

source string (Obligatorio)

La declaración en el idioma de origen.

target string (Obligatorio)

La declaración en el idioma de destino.

domains string (Opcional)

El prompt de dominio a definir cuando utiliza la función Prompting de dominio.

Los prompts de dominio deben estar en inglés.

En el SDK de Java, el parámetro es translationOptions. Cuando realice una llamada HTTP, coloque translation_options en el objeto parameters.

Objeto de respuesta de chat (igual para salida en streaming y sin streaming)

{
  "status_code": 200,
  "request_id": "9b4ec3b2-6d29-40a6-a08b-7e3c9a51c289",
  "code": "",
  "message": "",
  "output": {
    "text": null,
    "finish_reason": "stop",
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "role": "assistant",
          "content": "I didn't laugh after watching this video."
        }
      }
    ],
    "model_name": "qwen-mt-plus"
  },
  "usage": {
    "input_tokens": 53,
    "output_tokens": 9,
    "total_tokens": 62
  }
}

status_code string

Código de estado de la solicitud. 200 indica éxito; otros valores indican fallo.

El SDK de Java no devuelve este parámetro. Si la llamada falla, se lanza una excepción. El mensaje de excepción contiene el contenido de status_code y message.

request_id string

ID único de solicitud.

En el SDK de Java, el parámetro devuelto es requestId.

code string

Código de error. Vacío en caso de éxito.

Solo el SDK de Python devuelve este parámetro.

output object

Resultado de la llamada.

Propiedades

text string

Actualmente fijo en null.

finish_reason string

Razón por la cual el modelo detuvo la generación de contenido. Valores válidos:

  • El valor es null durante la generación.
  • stop: El modelo detuvo la generación de contenido de forma natural.
  • length: La generación se detuvo porque se alcanzó el límite de longitud de salida.

choices array

Salida del modelo.

Propiedades

finish_reason string

Valores válidos:

  • El valor es null durante la generación.
  • stop: El modelo detuvo la generación de contenido de forma natural.
  • length: La generación se detuvo porque se alcanzó el límite de longitud de salida.

message object

Mensaje de salida del modelo.

Propiedades

role string

Rol del mensaje de salida. Fijo como assistant.

content string

Resultado de la traducción.

model_name string

Modelo utilizado para esta solicitud.

usage object

Uso de tokens para la solicitud.

Propiedades

input_tokens integer

Número de tokens de entrada.

output_tokens integer

Número de tokens de salida.

total_tokens integer

Total de tokens, igual a input_tokens + output_tokens.

Códigos de error

Si la llamada falla, consulte Códigos de error para resolver el problema.