Skip to main content

Compatible con OpenAI - Chat

Puede llamar a los modelos mediante la API de Chat compatible con OpenAI. Este documento describe los parámetros de entrada y salida, y proporciona ejemplos de llamadas.

  • Singapore
  • EE. UU. (Virginia)
  • China (Beijing)
  • Hong Kong (China)
  • Germany (Frankfurt)
  • Japan (Tokyo)
Configuración de llamada SDK para base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1Solicitud HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
Reemplace {WorkspaceId} con su ID de espacio de trabajo real. Obtenga una clave API y configúrela como variable de entorno. Si utiliza un SDK de OpenAI, también debe instalar el SDK.
Alibaba Cloud Model Studio ha lanzado dominios específicos de espacio de trabajo para las regiones de China (Pekín), Singapur 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.

Cuerpo de la solicitud

modelstring(Obligatorio)El nombre del modelo.Modelos compatibles: Modelo de lenguaje grande Qwen (versiones comerciales y de código abierto), Qwen-VL, Qwen-Coder, Qwen-Omni, Qwen-Math, DeepSeek, Kimi, GLM y MiniMax.Para consultar nombres de modelos específicos y detalles de facturación, visite la Consola de Model Studio.messagesarray(Obligatorio)El contexto pasado al modelo de lenguaje grande, organizado en orden conversacional.

Tipo de mensaje

Mensaje del sistemaobject(Opcional)Un mensaje del sistema que define el rol, tono, tarea o restricciones para el modelo de lenguaje grande. Por lo general, es el primer elemento en el arreglo messages.
No establezca un mensaje de sistema para los modelos QwQ. Los mensajes de sistema no tienen efecto en los modelos QVQ.
contentstring(Obligatorio)La instrucción del sistema. Especifica el rol, el comportamiento, el estilo de respuesta y las restricciones de tarea del modelo.rolestring(Obligatorio)El rol para el mensaje del sistema. El valor está fijado en system.
Mensaje de usuario object(Obligatorio)El mensaje del usuario. Transmite preguntas, instrucciones o contexto al modelo.
contentstring or array(Obligatorio)El contenido del mensaje. El tipo es cadena si la entrada es solo texto. El tipo es arreglo si la entrada contiene datos multimodales, como imágenes, o si la caché explícita está habilitada.
typestring(Obligatorio)Valores válidos:
  • text Establezca en text para entrada de texto.
  • image_url Establezca en image_url para entrada de imagen.
  • input_audio Establezca en input_audio para entrada de audio.
  • video Establezca en video para entrada de video como una lista de imágenes.
  • video_url Establezca en video_url para entrada de archivo de video.
    Solo algunos modelos Qwen-VL admiten la entrada de archivos de video. Para obtener más información, consulte Comprensión de video (Qwen-VL). Los modelos QVQ y Qwen-Omni admiten la entrada directa de archivos de video.
textstringEl texto de entrada. Este parámetro es obligatorio cuando type es text.image_urlobjectLa información de la imagen de entrada. Este parámetro es obligatorio cuando type es image_url.
url string(Obligatorio)La URL o Data URL codificada en Base64 de la imagen. Para pasar un archivo local, consulte Comprensión de imágenes y videos.
input_audioobjectLa información de audio de entrada. Este parámetro es obligatorio cuando type es input_audio.
data string(Obligatorio)La URL o Data URL codificada en Base64 del audio. Para pasar un archivo local, consulte Ingresar un archivo local codificado en Base64.formatstring(Obligatorio)El formato del audio de entrada, como mp3 o wav.
videoarrayLa información de video de entrada, proporcionada como una lista de imágenes. Este parámetro es obligatorio cuando type es video. Para más información sobre su uso, consulte Comprensión de video (Qwen-VL, QVQ) o Comprensión de video (Qwen-Omni).Valor de ejemplo:
[
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"
]
video_urlobjectLa información del archivo de video de entrada. Este parámetro es obligatorio cuando type es video_url.Qwen-VL solo puede comprender la información visual de los archivos de video, mientras que Qwen-Omni puede comprender tanto la información visual como la de audio.
url string(Obligatorio)La URL pública o Data URL codificada en Base64 del archivo de video. Para ingresar un archivo de video local, consulte Ingresar un archivo local codificado en Base64.
fpsfloat(Opcional)El número de fotogramas a extraer por segundo. Valores válidos: [0.1, 10]. Valor predeterminado: 2.0.
El rango válido para MiniMax/MiniMax-M3 es [0.2, 5], y el valor predeterminado es 1.
El parámetro fps tiene dos funciones:
  • Al ingresar un archivo de video, controla la frecuencia de extracción de fotogramas. Se extrae un fotograma cada 1/fps segundos.
    Esto aplica a Qwen-VL y modelos QVQ.
  • Informa al modelo sobre el intervalo de tiempo entre fotogramas adyacentes para ayudarle a comprender mejor la progresión del video a lo largo del tiempo. Esto se aplica tanto a entradas de archivos de video como a listas de imágenes. Esta función es adecuada para escenarios como la localización temporal de eventos o el resumen de contenido segmentado.
    Compatible con Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen2.5-VL, Qwen3.8-Omni-Flash, Qwen3.5-Omni y modelos QVQ.
Un valor mayor de fps es adecuado para escenarios de movimiento rápido, como eventos deportivos o películas de acción. Un valor menor de fps es adecuado para videos largos o escenas con contenido estático.
  • Entrada para una lista de imágenes: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
  • Entrada de archivo de video: {"video": "https://xx1.mp4", "fps":2}
min_pixelsinteger(Opcional)Establece el umbral mínimo de píxeles para las imágenes de entrada o los fotogramas de video. Si el recuento de píxeles de una entrada es menor que min_pixels, esta se amplía hasta que su recuento total de píxeles sea mayor que min_pixels. Consulte los modelos y valores compatibles a continuación.
  • Entrada de imagen:
    • qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL: Valor predeterminado y mínimo: 65536
    • qwen3.8-omni-flash, Qwen3.5-Omni: Valor predeterminado y mínimo: 24576
    • Serie de código abierto Qwen2.5-VL y modelos de la serie QVQ: Valor predeterminado y mínimo: 3136
  • Entrada de archivo de video o lista de imágenes:
    • qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, qwen3.8-omni-flash, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3.5-Omni, Qwen3-VL (incluidas las versiones comerciales y de código abierto): Valor predeterminado: 65536. Valor mínimo: 4096
    • Serie de código abierto Qwen2.5-VL y modelos de la serie QVQ: Valor predeterminado: 50176. Valor mínimo: 3136
  • Entrada de imagen: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536}
  • Entrada de archivo de video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536}
  • Entrada de lista de imágenes: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}
max_pixelsinteger(Opcional)Especifica el umbral máximo de píxeles para las imágenes de entrada o los fotogramas de video. Si el recuento de píxeles de una imagen o video de entrada está dentro del rango [min_pixels, max_pixels], el modelo procesa la imagen original. Si el recuento de píxeles es mayor que max_pixels, la imagen se reduce hasta que su recuento de píxeles sea menor o igual a max_pixels. Consulte los modelos y valores compatibles a continuación.
  • Entrada de imagen: El valor de max_pixels depende de si el parámetro vl_high_resolution_images está habilitado.
    • Cuando vl_high_resolution_images es False:
      • qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL: Valor predeterminado: 2621440. Valor máximo: 16777216
      • qwen3.8-omni-flash, Qwen3.5-Omni: Valor predeterminado: 1310720. Valor máximo: 16777216
      • Serie de código abierto Qwen2.5-VL y modelos de la serie QVQ: Valor predeterminado: 1003520. Valor máximo: 12845056
    • Cuando vl_high_resolution_images es True:
      • qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, qwen3.8-omni-flash, Qwen3.7, Qwen3.6, Qwen3.5-Omni, Qwen3.5, Qwen3-VL: max_pixels no es válido. El recuento máximo de píxeles para las imágenes de entrada está fijado en 16777216.
      • Modelos de la serie de código abierto Qwen2.5-VL y de la serie QVQ: max_pixels no es válido. El recuento máximo de píxeles para las imágenes de entrada está fijado en 12845056.
  • Entrada de archivo de video o lista de imágenes:
    • Series qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, qwen3.8-omni-flash, Qwen3.7, serie Qwen3.6, serie Qwen3.5, Qwen3.5-Omni, serie de código cerrado Qwen3-VL: Valor predeterminado: 655360. Valor máximo: 2048000
    • Otros modelos de código abierto Qwen3-VL: Valor predeterminado: 655360. Valor máximo: 786432
    • Serie de código abierto Qwen2.5-VL y modelos de la serie QVQ: Valor predeterminado: 501760. Valor máximo: 602112
  • Entrada de imagen: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}
  • Entrada de archivo de video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360}
  • Entrada de lista de imágenes: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}
total_pixelsinteger(Opcional)Limita el recuento total de píxeles de todos los fotogramas extraídos de un video, que se calcula como (píxeles por fotograma × total de fotogramas). Si el recuento total de píxeles del video supera este límite, el sistema reduce la escala de los fotogramas del video. El sistema garantiza que el recuento de píxeles de un solo fotograma permanezca dentro del rango [min_pixels, max_pixels]. Consulte los modelos y valores compatibles a continuación.Para videos largos con muchos fotogramas extraídos, puede reducir este valor para disminuir el consumo de tokens y el tiempo de procesamiento, pero esto puede resultar en una pérdida de detalle de la imagen.
  • qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, Qwen3.7 series, Qwen3.6 series, Qwen3.5 series: Valor predeterminado y máximo: 819200000. Esto corresponde a 800000 tokens de imagen (1 token de imagen por 32×32 píxeles).
  • Qwen3-VL closed-source series: Valor predeterminado y máximo: 134217728. Esto corresponde a 131072 tokens de imagen (1 token de imagen por 32×32 píxeles).
  • qwen3.8-omni-flash, Qwen3.5-Omni: Valor predeterminado y mínimo: 184549376. Esto corresponde a 180224 tokens de imagen (1 token de imagen por 32×32 píxeles).
  • Otros modelos de código abierto Qwen3-VL: Valor predeterminado y mínimo: 67108864. Esto corresponde a 65536 tokens de imagen (1 token de imagen por 32×32 píxeles).
  • Modelos de la serie de código abierto Qwen2.5-VL y de la serie QVQ: Valor predeterminado y mínimo: 51380224. Esto corresponde a 65536 tokens de imagen (1 token de imagen por 28×28 píxeles).
  • Entrada de archivo de video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728}
  • Entrada de lista de imágenes: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}
cache_controlobject(Opcional)Habilita el almacenamiento en caché explícito. Para más información, consulte Almacenamiento en caché explícito.
type string(Obligatorio)Solo se admite ephemeral.
rolestring(Obligatorio)El rol para el mensaje del usuario. El valor está fijado en user.
Mensaje del asistente object(Opcional)La respuesta del modelo. Normalmente se pasa de nuevo al modelo como contexto en una conversación de múltiples turnos.
contentstring(Opcional)El contenido de texto de la respuesta del modelo. Cuando se incluye tool_calls, content puede estar vacío. De lo contrario, content es obligatorio.rolestring(Obligatorio)El rol para el mensaje del asistente. El valor está fijado en assistant.partialboolean(Opcional) Valor predeterminado: falseEspecifica si se debe habilitar el modo parcial.Valores válidos:
  • true: Habilitar.
  • false: Deshabilitar.
Para obtener una lista de modelos compatibles, consulte modo parcial.tool_calls array(Opcional)La información sobre la herramienta y sus parámetros de entrada que el modelo decide llamar. Contiene uno o más objetos y se obtiene del campo tool_calls de la respuesta anterior del modelo.
id string(Obligatorio)El ID de la llamada a la herramienta.type string(Obligatorio)El tipo de herramienta. Actualmente, solo se admite function.function object(Obligatorio)Herramientas y parámetros de entrada
name string(Obligatorio)El nombre de la herramienta.arguments string(Obligatorio)La información de los parámetros de entrada, como una cadena con formato JSON.
index integer(Obligatorio)El índice de esta llamada a la herramienta en la matriz tool_calls.
Mensaje de herramienta object(Opcional)El resultado de la llamada a la herramienta.
contentstring(Obligatorio)El contenido de salida de la función de la herramienta. Debe ser una cadena. Si la herramienta devuelve datos estructurados, como JSON, deben serializarse en una cadena.rolestring(Obligatorio)El valor está fijado en tool.tool_call_idstring(Obligatorio)El ID de la llamada a la herramienta a la que responde este mensaje. Puede obtenerlo de completion.choices[0].message.tool_calls[$index].id. Este ID se utiliza para asociar el mensaje de la herramienta con la llamada a la herramienta correspondiente.
streamboolean(Opcional) Valor predeterminado: falseEspecifica si se debe responder en modo de salida por streaming. Para obtener más información, consulte Salida por streaming.Valores válidos:
  • false: El modelo devuelve el contenido completo una vez finalizada la generación.
  • true: El modelo genera el contenido a medida que se produce. Se devuelve un fragmento de datos cada vez que se genera una parte del contenido. Debe leer estos fragmentos para ensamblar la respuesta completa.
Recomendamos establecer esto en true para mejorar la experiencia del usuario y reducir el riesgo de tiempos de espera agotados.
Para llamadas sin streaming, el tiempo de espera máximo es de al menos 300 segundos y varía según la región y el modelo. Si no se completa a tiempo, el servicio interrumpe la solicitud y devuelve el contenido generado en lugar de un error. Le recomendamos que utilice llamadas con streaming para escenarios que requieren salidas largas. Para más información, consulte la descripción del tiempo de espera en Descripción general de los modelos de generación de texto.
stream_optionsobject(Opcional)Elementos de configuración para la salida en streaming. Este parámetro solo surte efecto cuando stream se establece en true.

Propiedades

include_usageboolean(Opcional) Valor predeterminado: falseEspecifica si se debe incluir información de consumo de tokens en el último fragmento de datos de la respuesta.Valores válidos:
  • true: Incluir.
  • false: No incluir.
Para la salida en streaming, la información de consumo de tokens solo puede aparecer en el último fragmento de datos de la respuesta.
modalitiesarray(Opcional) Valor predeterminado: ["text"]La modalidad de los datos de salida. Este parámetro se aplica únicamente a los modelos Qwen-Omni. Para obtener más información, consulte No en tiempo real (Qwen-Omni).Valores válidos:
  • ["text","audio"]: Salida de texto y audio. Aplica a modelos que admiten salida de audio.
  • ["text"]: Solo salida de texto.
qwen3.8-omni-flash produce únicamente texto. Consulte el ejemplo de Qwen3.8-Omni-Flash.audioobject(Opcional)La voz y el formato del audio de salida. Este parámetro se aplica a los modelos Qwen-Omni que admiten salida de audio y requiere que el parámetro modalities se establezca en ["text","audio"]. Para más información, consulte No en tiempo real (Qwen-Omni).
voicestring (Obligatorio)La voz del audio de salida. Para más información, consulte No en tiempo real (Qwen-Omni).formatstring (Obligatorio)El formato del audio de salida. Solo se admite wav.
temperaturefloat(Opcional)La temperatura de muestreo, que controla la diversidad del texto generado por el modelo.Una temperatura más alta da como resultado un texto más diverso, mientras que una temperatura más baja da como resultado un texto más determinista.Rango de valores: [0, 2)Tanto temperature como top_p pueden controlar la diversidad del texto generado. Le recomendamos que configure solo uno de ellos. Para obtener más información, consulte Descripción general.Para Qwen3.8-Omni-Flash, el valor predeterminado es 0.6 en modo de pensamiento y 0.7 en modo sin pensamiento.
No modifique el valor de temperatura predeterminado para los modelos QVQ.
top_pfloat(Opcional)El umbral de probabilidad para el muestreo de núcleo, que controla la diversidad del texto generado por el modelo.Un top_p más alto resulta en un texto más diverso. Un top_p más bajo resulta en un texto más determinista.Rango de valores: (0, 1.0]Tanto temperature como top_p pueden controlar la diversidad del texto generado. Le recomendamos que configure solo uno de ellos. Para obtener más información, consulte Descripción general.Para Qwen3.8-Omni-Flash, el valor predeterminado es 0.95 en modo de pensamiento y 0.8 en modo sin pensamiento.
No modifique el valor predeterminado de top_p para los modelos QVQ.
top_kinteger(Opcional)Especifica el número de tokens candidatos de los cuales muestrear durante la generación. Un valor mayor resulta en una salida más aleatoria, mientras que un valor menor resulta en una salida más determinista. Si se establece en null o en un valor mayor que 100, la estrategia top_k se desactiva y solo entra en vigor la estrategia top_p. El valor debe ser un entero mayor o igual a 0.
Serie QVQ: 10;Serie QwQ: 40;Serie Qwen3-Omni-Flash: 50;Todos los demás modelos: 20.Serie GLM (suministrada por Alibaba Cloud): 20;Las series DeepSeek, Kimi y MiniMax no admiten el parámetro top_k.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realiza la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"top_k":xxx}.
No modifique el valor predeterminado de top_k para los modelos QVQ.
repetition_penaltyfloat(Opcional)La penalización por repetición para secuencias consecutivas durante la generación del modelo. Aumentar repetition_penalty puede reducir la repetición en la salida del modelo. Un valor de 1.0 significa que no hay penalización. No existe un rango de valores estricto, siempre que sea mayor que 0.Para Qwen3.8-Omni-Flash, el valor predeterminado es 1.05 tanto en modos de pensamiento como sin pensamiento.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realiza la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"repetition_penalty":xxx}.
No modifique el valor predeterminado de repetition_penalty para los modelos QVQ.
presence_penalty float(Opcional)Controla la repetición de contenido cuando el modelo genera texto.Rango de valores: [-2.0, 2.0]. Los valores positivos reducen la repetición, mientras que los valores negativos la aumentan.En escenarios que requieren diversidad, diversión o creatividad, como la escritura creativa o la lluvia de ideas, puede aumentar este valor. En escenarios que enfatizan la coherencia y la precisión terminológica, como documentos técnicos o textos formales, puede disminuir este valor.Para Qwen3.8-Omni-Flash, el valor predeterminado es 0.0 en modo de pensamiento y 1.5 en modo sin pensamiento.
los siguientes modelos en modo sin pensamiento (qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b), Qwen3.7 (modo sin pensamiento), Qwen3.6 (modo sin pensamiento), Qwen3.5-Omni, Qwen3.5 (modo sin pensamiento), Qwen3 (modo sin pensamiento), serie Qwen3-Instruct/1.7b/4b (modo de pensamiento), serie QVQ, qwen-max, serie qwen2.5-vl, Qwen3-VL (sin pensamiento): 1.5;qwen-plus/qwen-plus-latest/2025-04-28 (modo de pensamiento), qwen-turbo-2025-04-28 (modo de pensamiento): 0.5;Todos los demás son 0.0.Serie DeepSeek (suministrada por Alibaba Cloud): versión destilada deepseek-r1-distill-qwen: 1;Serie Kimi (suministrada por Alibaba Cloud): kimi-k2.7-code, kimi-k2.6, kimi-k2.5: 0.0;Serie Kimi (suministrada por Moonshot AI): 0.0;Serie MiniMax (suministrada por Alibaba Cloud): MiniMax-M2.5: 0.0;Otros modelos de DeepSeek, Kimi, GLM y MiniMax no tienen un valor predeterminado.
Si el valor del parámetro es positivo, el modelo aplica una penalización a los tokens que ya existen en el texto. La penalización no está relacionada con el número de veces que aparece el token. Esto reduce la probabilidad de que estos tokens reaparezcan, disminuyendo así la repetición de contenido y aumentando la diversidad léxica.
Prompt: Traduzca esta oración al chino: "Esta película es buena. La trama es buena, la actuación es buena, la música es buena y, en general, toda la película simplemente es buena. Es realmente buena, de hecho. La trama es tan buena, y la actuación es tan buena, y la música es tan buena".Valor del parámetro 2.0: Esta película es genial. La trama es fantástica, la actuación es soberbia y la música también es muy hermosa. En general, toda la película es simplemente increíble. De hecho, es verdaderamente sobresaliente. La historia es muy emocionante, las actuaciones son excelentes y la banda sonora es muy conmovedora.Valor del parámetro 0.0: Esta película es buena. La trama es buena, la actuación es buena y la música es buena. En general, toda la película es muy buena. De hecho, es realmente genial. La trama es muy buena, la actuación también es excelente y la música es igualmente sobresaliente.Valor del parámetro -2.0: Esta película es buena. La trama es buena, la actuación es buena y la música es buena. En general, toda la película es buena. De hecho, es realmente buena. La trama es muy buena, la actuación es muy buena y la música es muy buena.
No modifique el valor predeterminado de presence_penalty para los modelos QVQ.
response_formatobject (Opcional) Valor predeterminado: {"type": "text"}El formato de la respuesta. Valores válidos:
  • {"type": "text"}: Genera una respuesta de texto.
  • {"type": "json_object"}: Genera una cadena con formato JSON estándar.
  • {"type": "json_schema", "json_schema": {...}}: Genera una cadena JSON que cumple estrictamente con el esquema JSON especificado, lo que le brinda un control preciso sobre la estructura de salida y los tipos de campos.
Para obtener más información, consulte Salida estructurada. Los modos json_object y json_schema admiten diferentes modelos. Para obtener más información, consulte Modelos compatibles.
Si especifica {"type": "json_object"}, debe indicar explícitamente al modelo que genere JSON en el prompt, por ejemplo, "Por favor, genere en formato JSON". De lo contrario, se producirá un error. Si especifica {"type": "json_schema", ...}, no es necesario que el prompt contenga la palabra clave JSON.
typestring(Obligatorio)El formato del contenido devuelto. Valores válidos:
  • text: Genera una respuesta de texto.
  • json_object: Genera una cadena con formato JSON estándar.
  • json_schema: Genera una cadena JSON que cumple estrictamente con la estructura definida por el campo json_schema.
json_schemaobject(Opcional)Requerido cuando type es json_schema. Define la estructura JSON que debe seguir la salida del modelo. Para obtener más información, consulte Obtención de salida estructurada.
Cuando utiliza el método parse del SDK de OpenAI, puede pasar directamente una clase Pydantic de Python o un objeto Zod de Node.js. El SDK lo convierte automáticamente a un JSON Schema, por lo que no necesita construir uno manualmente.
namestring(Obligatorio)El nombre del esquema.schemaobject(Obligatorio)El objeto de esquema JSON que describe la estructura de salida. Utilice properties para definir la estructura de campos, required para listar los campos obligatorios y additionalProperties para controlar si se pueden devolver campos que no están definidos en el esquema. Le recomendamos establecer additionalProperties en false para que solo se devuelvan los campos definidos. Tipos de datos admitidos: string, number, integer, boolean, object, array y enum. Para obtener más información, consulte Guía de configuración.strictboolean(Opcional)Especifica si se debe seguir estrictamente la estructura definida por schema. Recomendamos establecer este parámetro en true.
max_tokensinteger(Opcional, se desaprobará)
Este parámetro quedará obsoleto. Para nuevas integraciones, utilice max_completion_tokens.
El significado de este parámetro varía según el modelo:
  • qwen4-max-preview, deepseek-v4.1-flash, deepseek-v4-pro, deepseek-v4-pro-0813, deepseek-v4-flash-0731: El número máximo de tokens para la suma de la respuesta del modelo y el contenido de la cadena de pensamiento. max_tokens es equivalente a max_completion_tokens. Si la salida del modelo supera este valor, la generación se detiene anticipadamente y el finish_reason devuelto es length.
  • glm-5.3: max_tokens es el número máximo de tokens para la suma de la respuesta del modelo y el contenido de la cadena de pensamiento. Si la salida del modelo supera este valor, la generación se detiene anticipadamente y el finish_reason devuelto es length. glm-5.3 ignora el parámetro thinking_budget.
  • glm-5.2: Cuando no se pasa el parámetro thinking_budget, max_tokens es el número máximo de tokens para la suma de la respuesta del modelo y el contenido de la cadena de pensamiento, y si la salida del modelo supera este valor, la generación se detiene anticipadamente y el finish_reason devuelto es length. Cuando se pasa el parámetro thinking_budget, max_tokens es el número máximo de tokens solo para la respuesta del modelo, y el número de tokens para la parte de la cadena de pensamiento se controla por separado mediante thinking_budget.
  • Otros modelos: El número máximo de tokens para la respuesta del modelo (excluyendo la cadena de pensamiento). Si el contenido generado excede este valor, la generación se detiene anticipadamente y el finish_reason devuelto es length.
Para los modelos GLM, los valores predeterminado y máximo se indican en la siguiente tabla. Para otros modelos, los valores predeterminado y máximo son ambos la longitud máxima de salida del modelo.
ProveedorModeloValor predeterminadoValor máximo
Alibaba Cloudglm-5.3, glm-5.2, glm-5.2-fast-preview, glm-5.1, glm-565536131072
ZHIPU AIZHIPU/GLM-5.3, ZHIPU/GLM-5.265536131072
max_completion_tokensinteger(Opcional)La longitud máxima de la salida del modelo, incluida la cadena de pensamiento y la respuesta del modelo. Si la salida del modelo excede este valor, la generación se detiene anticipadamente y el finish_reason devuelto es length.Para los modelos GLM, consulte la tabla del parámetro max_tokens para conocer los valores predeterminado y máximo. Para otros modelos, los valores predeterminado y máximo son ambos la longitud máxima de salida del modelo.Diferencia con max_tokens: max_completion_tokens siempre limita la salida completa del modelo (cadena de pensamiento + respuesta). El alcance específico de max_tokens varía según el modelo y la configuración de thinking_budget, como se describe anteriormente. Para los modelos de razonamiento, se recomienda utilizar max_completion_tokens.Se admiten los siguientes modelos:
  • Qwen Max: Modelos Qwen3.7-Max y posteriores
  • Qwen Plus: Modelos Qwen3.5-Plus y posteriores
  • Qwen Flash: Modelos Qwen3.5-Flash y posteriores
  • Kimi: Modelos kimi-k2.5 y posteriores
  • GLM: Los modelos suministrados por Alibaba Cloud y ZHIPU AI que aparecen en la tabla anterior
  • MiniMax: Modelos MiniMax-M2.5 y posteriores
  • DeepSeek: Modelos deepseek-v4-pro y posteriores
Excepto los modelos GLM suministrados por ZHIPU AI que aparecen en la tabla anterior, los modelos anteriores no incluyen otros modelos suministrados directamente por terceros.
Puede haber una diferencia de hasta 10 tokens entre el recuento real de tokens de salida y el valor especificado de max_completion_tokens.
vl_high_resolution_imagesboolean(Opcional) Valor predeterminado: falseEspecifica si se debe aumentar el límite de píxeles para las imágenes de entrada al recuento de píxeles que corresponde a 16384 tokens. Para obtener más información, consulte Procesamiento de imágenes de alta resolución.
  • vl_high_resolution_images: true utiliza una estrategia de resolución fija e ignora la configuración de max_pixels. Si se excede la resolución, el recuento total de píxeles de la imagen se reduce para mantenerse dentro de este límite.
    Cuando vl_high_resolution_images es True, los límites de píxeles varían según el modelo:
    • Para los modelos qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, qwen3.8-omni-flash, serie Qwen3.7, serie Qwen3.6, serie Qwen3.5 y Qwen3-VL series, el valor es 16777216. (Cada Token corresponde a 32*32 píxeles. El valor total se calcula como 16384*32*32.)
    • QVQ series, otros modelos de la Qwen2.5-VL series: 12845056 (1 token corresponde a 28*28 píxeles, que es 16384*28*28)
  • Cuando vl_high_resolution_images es false, el límite de píxeles se determina mediante max_pixels. Si el recuento de píxeles de la imagen de entrada supera max_pixels, la imagen se reduce para ajustarse al límite de max_pixels. El límite de píxeles predeterminado para cada modelo es el valor predeterminado de max_pixels.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realiza la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"vl_high_resolution_images":xxx}.
ninteger(Opcional) Valor predeterminado: 1El número de respuestas a generar. El rango de valores es 1-4. Esto es adecuado para escenarios que requieren múltiples respuestas candidatas, como escritura creativa o textos publicitarios.
n=0 es equivalente a n=1.
Solo compatible con modelos Qwen3 (modo sin pensamiento).
Si se pasa el parámetro tools, establezca n en 1.
Aumentar n incrementa el consumo de tokens de salida, pero no el consumo de tokens de entrada.
enable_thinking boolean (Opcional)Para kimi-k3.1-pro (implementado en Alibaba Cloud Model Studio), el valor predeterminado es true. Puede establecerlo en false para deshabilitar el pensamiento, pero se recomienda encarecidamente mantenerlo habilitado, ya que deshabilitarlo degrada significativamente la calidad de la salida.Cuando utiliza un modelo de pensamiento mixto, que admite tanto modos de pensamiento como de no pensamiento, este parámetro especifica si se debe habilitar el modo de pensamiento. Esto se aplica a los modelos Qwen4, Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3, Qwen3.8-Omni-Flash, Qwen3-Omni-Flash y Qwen3-VL, junto con DeepSeek-V4.1-Flash, la serie DeepSeek-V4-Pro/V4-Flash, la serie DeepSeek-V3.2/V3.2-exp/V3.1, Kimi-K2.7-code (solo modelo de pensamiento), la serie Kimi-K2.6/K2.5 y la serie GLM. La serie DeepSeek-V4 habilita el pensamiento de forma predeterminada. Puede ajustar la intensidad de inferencia con el parámetro reasoning_effort.Valores válidos:
  • true: Habilitar
    Cuando está habilitado, el contenido de pensamiento se devuelve en el campo reasoning_content.
  • false: Deshabilitar
Valores predeterminados para diferentes modelos: Modelos compatibles
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"enable_thinking": xxx}.
Si llama directamente a través de HTTP (por ejemplo, con curl) en lugar de utilizar el SDK de OpenAI, no use extra_body. Simplemente coloque enable_thinking en el nivel superior del cuerpo de la solicitud (body), junto con parámetros como model y messages, por ejemplo "enable_thinking": true.
Los modelos MiniMax y MiniMax-M3 de Xiyu Technology no utilizan este parámetro. En su lugar, utilice el parámetro thinking.
thinking object (Opcional) Valor predeterminado: {"type":"adaptive"}Controla el modo de pensamiento de MiniMax/MiniMax-M3 proporcionado por MiniMax.Valores válidos de thinking.type:
  • adaptive: Automático (predeterminado). El modelo decide si debe pensar.
  • disabled: Deshabilita el pensamiento y responde directamente.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"thinking": {"type": "adaptive"}}.
preserve_thinking boolean (Opcional) Valor predeterminado: false (Valor predeterminado para qwen4-max-preview, qwen3.8-max/qwen3.8-flash:true)Especifica si se debe agregar el reasoning_content de los mensajes del asistente en el historial de conversación a la entrada del modelo. Esto es adecuado para escenarios donde el modelo necesita referirse al proceso de razonamiento histórico.kimi-k3.1-pro y kimi-k3 (implementados en Alibaba Cloud Model Studio) conservan de forma predeterminada el reasoning_content histórico proporcionado por el cliente. Se recomienda reenviar los mensajes históricos del asistente con su reasoning_content completo en messages.Para hacer referencia al razonamiento de un turno anterior, inclúyalo en el campo reasoning_content del mensaje histórico del asistente en messages. Consulte Pasar el proceso de pensamiento.Actualmente compatible con qwen4-max-preview (habilitado de forma predeterminada), qwen3.7-max, qwen3.7-max-2026-05-20 y snapshots posteriores, qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.7-flash, qwen3.7-flash-2026-07-15, qwen3.6-flash, qwen3.6-flash-2026-04-16, serie qwen3.8-max (habilitado por defecto), qwen3.8-flash (habilitado por defecto), qwen3.8-omni-flash (habilitado por defecto), kimi-k2.6 (implementado en Alibaba Cloud Model Studio), kimi-k2.7-code (implementado en Alibaba Cloud Model Studio, habilitado por defecto), kimi/kimi-k2.7-code-highspeed (suministrado por Moonshot AI, habilitado por defecto) y kimi/kimi-k2.7-code (suministrado por Moonshot AI, habilitado por defecto).
Importante (qwen4-max-preview, qwen3.8-max/qwen3.8-flash): Al utilizar qwen4-max-preview, qwen3.8-max/qwen3.8-flash, preserve_thinking tiene como valor predeterminado true. Debe devolver todo el reasoning_content histórico en el campo reasoning_content. NO concatene reasoning_content en el campo de contenido. Hacerlo puede degradar el rendimiento del modelo.
  • Para los modelos compatibles qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, Qwen3.7, Qwen3.6 y Kimi mencionados anteriormente, habilitar este parámetro cuando los mensajes históricos carecen de reasoning_content no causa un error.
  • Cuando está habilitado, el reasoning_content de la conversación histórica se incluye en el recuento de tokens de entrada y se factura.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"preserve_thinking": True}.
thinking_budget integer (Opcional)El número máximo de tokens para el proceso de pensamiento. Esto se aplica a qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, así como a Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen3, GLM y los modelos Kimi, excepto kimi-k3.1-pro y kimi-k3, que no admiten este parámetro. Para más información, consulte Limitar la longitud del pensamiento.Para estos modelos, el valor predeterminado es la longitud máxima de cadena de pensamiento del modelo. Para obtener más información, consulte la lista de modelos.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"thinking_budget": xxx}.
use_multichannel boolean (opcional)Controla si se analiza la información espacial en audio multicanal. Se aplica a la entrada de audio para qwen3.8-omni-flash. El valor predeterminado es false, que analiza todo el audio como mono. Cuando es true y la entrada tiene dos canales (izquierda y derecha) o cuatro canales (FOA, en orden WYZX), el modelo analiza la información de audio espacial. Configúrelo en el nivel superior del cuerpo de la solicitud HTTP o pase extra_body={"use_multichannel": True} con el SDK de Python de OpenAI.reasoning_effort string (Opcional)Controla la intensidad de inferencia de los modelos. Los valores válidos y predeterminados varían según el modelo.kimi-k3.1-pro (implementado en Alibaba Cloud Model Studio) (predeterminado: max)
  • max (predeterminado): razonamiento profundo
  • high: razonamiento mejorado
  • medium: razonamiento moderado
  • low: razonamiento ligero
Series DeepSeek-V4 y GLM (Valor predeterminado: high)Valores válidos:
  • high: Inferencia de alta intensidad
  • max: Inferencia de intensidad máxima
low y medium se asignan a high, y xhigh se asigna a max.Esto aplica a glm-5.2, glm-5.1, glm-5 y deepseek-v4-pro (proporcionados por Alibaba Cloud).glm-5.3、ZHIPU/GLM-5.3、kimi-k3model(proporcionado por Alibaba Cloud): Valor predeterminado:maxValores válidos:
  • max (predeterminado): razonamiento profundo
  • high: razonamiento mejorado
  • low: razonamiento ligero
Los modelos de la serie glm-5.3 siempre realizan pensamiento. enable_thinking solo admite true, y pasar false provoca que la solicitud de API falle. kimi-k3 admite pasar false para deshabilitar el pensamiento.deepseek-v4-flash-0731 y deepseek-v4-pro-0813: Valor predeterminado:highValores válidos:
  • max (predeterminado): Inferencia de intensidad máxima
  • high: Inferencia estándar
  • low: Inferencia de baja intensidad
Mapeo de valores estándar de OpenAI: medium se mapea a high, xhigh se mapea a high.deepseek-v4.1-flash: Valor predeterminado:highValores válidos:
  • max: Inferencia de intensidad máxima
  • high (predeterminado): Inferencia de alta intensidad
  • low: Inferencia de baja intensidad
minimal se mapea a low, medium y xhigh se mapean a high, y ultra se mapea a max.kimi/kimi-k3 (Valor predeterminado: max; solo se admite max)Valor válido:
  • max: Inferencia de intensidad máxima
qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b: Valor predeterminado:xhighValores válidos:
  • xhigh (predeterminado): Inferencia de intensidad máxima
  • medium: Inferencia estándar
  • low: Inferencia de baja intensidad
Asignación de valores estándar de OpenAI: max se asigna a xhigh, high se asigna a xhigh, minimal se asigna a low, y none se asigna a enable_thinking=False.
Establecer valores distintos a los valores válidos y mapeados anteriores causará un error.
Para qwen4-max-preview, qwen3.8-max, qwen3.8-max-0902, qwen3.8-flash, qwen3.8-2.4t-a95b, qwen3.8-27b, reasoning_effort y thinking_budget no se pueden configurar al mismo tiempo. Establecer ambos provocará un error. Sin embargo, admiten conversión mutua:
  • Cuando no se establece thinking_budget, los niveles de reasoning_effort se asignan automáticamente a thinking_budget: low corresponde a 4096, medium corresponde a 16384 y xhigh corresponde a 262144.
  • Cuando no se establece reasoning_effort, thinking_budget se asigna automáticamente de nuevo a reasoning_effort: 0–4096 corresponde a low, 4097–16384 corresponde a medium y 16385–262144 corresponde a xhigh.
  • Cuando ninguno está establecido, se utilizan el thinking_budget predeterminado (131072) y el reasoning_effort predeterminado (xhigh).
Qwen3.8-Omni-Flashqwen3.8-omni-flash tiene el pensamiento habilitado de forma predeterminada, con reasoning_effort establecido por defecto en xhigh. En Chat Completions, reasoning_effort acepta none, minimal, low, medium, high, xhigh y max; no lo configure junto con thinking_budget. Para la ubicación de parámetros y ejemplos, consulte Qwen3.8 Omni.Elija low, medium o xhigh para el esfuerzo de pensamiento. Por compatibilidad, minimal se asigna a low, high y max se asignan a xhigh, y none deshabilita el pensamiento.tool_stream boolean (Opcional) Valor predeterminado: falseSolo surte efecto cuando stream=true. Actualmente, este parámetro solo es compatible con las series Qwen y GLM.Lista de compatibilidad de la serie Qwen:
  • Serie qwen-max: modalidad de texto de qwen4-max-preview y las series qwen3.8-max y qwen3.7-max
  • Serie qwen-plus: modalidad de texto de las series qwen3.7-plus y qwen3.6-plus, y modalidad omni de la serie qwen3.5-plus
  • Serie qwen-flash: modalidad omni de las series qwen3.8-flash, qwen3.7-flash, qwen3.6-flash y qwen3.5-flash
Referencia de uso de la serie Qwen:tool_stream solo afecta a los parámetros de herramientas complejas. Para los parámetros de herramientas normales, la salida en streaming se habilita siempre que stream=true. Las herramientas complejas son aquellas en las que algunos tipos de parámetros en la definición de la herramienta son array o object.
  • tool_stream=false: Los parámetros complejos de la herramienta se generan de una sola vez. Este es el comportamiento predeterminado y los formatos complejos son más precisos.
  • tool_stream=true: Los parámetros complejos de la herramienta se generan en streaming, lo que evita riesgos de tiempo de espera agotado en formatos complejos.
Lista de compatibilidad de la serie GLM: glm-5 y glm-5.1.Referencia de uso de la serie GLM:
  • tool_stream=false: Los parámetros de la herramienta se generan de una sola vez. Este es el comportamiento predeterminado y los formatos complejos son más precisos.
  • tool_stream=true: Los parámetros de la herramienta se generan en streaming, lo que evita riesgos de tiempo de espera agotado en formatos complejos.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"tool_stream": true}.
enable_code_interpreter boolean (Opcional) Valor predeterminado: falseEspecifica si se debe habilitar la función de intérprete de código. Para obtener más información, consulte Intérprete de código.Valores válidos:
  • true: Habilitar
  • false: Deshabilitar
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"enable_code_interpreter": xxx}.
seedinteger(Opcional)Una semilla de número aleatorio. Este parámetro se utiliza para garantizar resultados reproducibles con la misma entrada y los mismos parámetros. Si pasa el mismo valor de seed en una llamada y los demás parámetros permanecen sin cambios, el modelo devuelve el mismo resultado en la medida de lo posible.Rango de valores: [0,2<sup>31</sup>−1].logprobs boolean (Opcional) Valor predeterminado: falseEspecifica si se deben devolver las probabilidades logarítmicas de los tokens de salida. Valores válidos:
  • true Devolver
  • false No devolver
El contenido generado durante la fase de pensamiento (reasoning_content) no devuelve probabilidades logarítmicas.
  • Modelos snapshot de la serie qwen-plus (excluyendo modelos de versión estable)
  • Modelos de la serie qwen3-vl-plus (incluidos los modelos de versión estable)
  • Modelos de código abierto de Qwen3
top_logprobs integer (Opcional) Valor predeterminado: 0Especifica el número de tokens candidatos más probables a devolver en cada paso de generación.Rango de valores: [0, 5]Este parámetro solo surte efecto cuando logprobs es true.stopstring or array(Opcional)Se utiliza para especificar palabras de parada. Cuando una cadena o un token_id especificado en stop aparece en el texto generado, la generación se detiene inmediatamente.Puede pasar palabras sensibles para controlar la salida del modelo.
Cuando stop es una matriz, no puede ingresar tanto token_id como cadenas como elementos. Por ejemplo, no puede especificar ["Hello",104307].
toolsarray(Opcional)Un arreglo que contiene uno o más objetos de herramienta para que el modelo llame en Function Calling. Para obtener más información, consulte Llamada a funciones.Si se establece tools y el modelo determina que es necesario llamar a una herramienta, la respuesta devuelve la información de la herramienta en tool_calls.
typestring(Obligatorio)El tipo de herramienta. Actualmente, solo se admite function.functionobject(Obligatorio)
namestring(Obligatorio)El nombre de la herramienta. Solo se permiten letras, números, guiones bajos (_) y guiones (-). La longitud máxima es de 64 tokens.descriptionstring(Obligatorio)La descripción de la herramienta, que ayuda al modelo a determinar cuándo y cómo llamarla.parametersobject(Opcional) Valor predeterminado: {}La descripción de parámetros para la herramienta, que debe ser un JSON Schema válido. Para obtener una descripción de JSON Schema, consulte el enlace. Si el parámetro parameters está vacío, la herramienta no tiene parámetros de entrada, como una herramienta de consulta de hora.
Para mejorar la precisión de las llamadas a herramientas, recomendamos que pase parameters.
tool_choice string or object(Opcional) Valor predeterminado: autoLa estrategia de selección de herramientas. Para forzar un método específico de llamada a herramientas para un determinado tipo de problema, como usar siempre una herramienta específica o deshabilitar todas las herramientas, puede configurar este parámetro.deepseek-v4.1-flash-1017 admite tool_choice con los valores auto, none, required o una función especificada por su nombre.Valores válidos:
  • auto El modelo de lenguaje grande elige la estrategia de herramientas.
  • none Si no want llamar a una herramienta, puede establecer el parámetro tool_choice en none.
  • required Para forzar que se llame al menos a una herramienta, establezca el parámetro tool_choice en required, y el modelo siempre devolverá información de llamada a la herramienta.
    Los modelos de la serie Qwen no admiten required: en modo sin razonamiento no puede garantizar que siempre se llame a una herramienta, y en modo de razonamiento no se admite required.
  • {"type": "function", "function": {"name": "the_function_to_call"}} Si usted want forzar la llamada a una herramienta específica, puede establecer el parámetro tool_choice en {"type": "function", "function": {"name": "the_function_to_call"}}, donde the_function_to_call es el nombre de la función de la herramienta especificada.
    Los modelos en modo de pensamiento no admiten forzar la llamada a una herramienta específica.
parallel_tool_calls boolean (Opcional) Valor predeterminado: trueEspecifica si se debe habilitar la llamada paralela a herramientas. Para obtener más información, consulte Llamada paralela a herramientas.
kimi-k3 no admite controlar mediante este parámetro si las llamadas a herramientas son paralelas. Establecerlo en false no garantiza llamadas secuenciales, y el modelo puede seguir devolviendo varios tool_calls en un mismo turno. Procese las llamadas a herramientas tal como se devuelvan.
Valores válidos:
  • true: Habilitar
  • false: Deshabilitar
enable_search boolean(Opcional) Valor predeterminado: falseEspecifica si se debe habilitar la búsqueda web. kimi-k3.1-pro (implementado en Alibaba Cloud Model Studio) admite este parámetro en Pekín, Singapur, EE. UU. (Virginia), Alemania (Fráncfort), Japón (Tokio) y China (Hong Kong). Para más información, consulte Búsqueda web.Valores válidos:
  • true: Habilitar.
    Si no se realiza la búsqueda web después de habilitarla, puede optimizar el prompt o configurar el parámetro forced_search en search_options para habilitar la búsqueda forzada.
  • false: Deshabilitar.
Habilitar la función de búsqueda web puede aumentar el consumo de tokens.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"enable_search": True}.
search_optionsobject(Opcional)La estrategia para la búsqueda web. Para más información, consulte Búsqueda web.
forced_search boolean(Opcional) Valor predeterminado: falseEspecifica si se debe forzar la búsqueda web. Este parámetro solo surte efecto cuando enable_search se establece en true.Valores válidos:
  • true: Forzar habilitación.
  • false: No forzar la activación. El modelo decide si realiza una búsqueda web.
search_strategy string(Opcional) Valor predeterminado: turboLa estrategia de búsqueda. Este parámetro solo surte efecto cuando enable_search se establece en true.Para qwen3.8-omni-flash, establezca este parámetro en agent al habilitar la búsqueda web.Valores válidos:
  • turbo (Predeterminado): Equilibra la velocidad de respuesta y la eficacia de la búsqueda. Esta estrategia es adecuada para la mayoría de los escenarios.
  • max: Adopta una estrategia de búsqueda más exhaustiva. Esta estrategia puede llamar a motores de búsqueda de múltiples fuentes para obtener resultados más detallados, pero el tiempo de respuesta puede ser mayor.
  • agent: Puede llamar a la herramienta de búsqueda web y al modelo de lenguaje grande varias veces para lograr la recuperación de información en múltiples turnos y la integración de contenido.
    Esta estrategia solo es aplicable a qwen3.5-plus, qwen3.5-plus-2026-02-15, qwen3.5-flash, qwen3.5-flash-2026-02-23, qwen3.8-omni-flash, qwen3.5-omni-plus, qwen3.5-omni-plus-2026-03-15, qwen3.5-omni-flash y qwen3.5-omni-flash-2026-03-15. enable_search_extension boolean(Opcional) Valor predeterminado: false
Especifica si se debe habilitar la búsqueda vertical. Este parámetro solo surte efecto cuando enable_search se establece en true.Valores válidos:
  • true: Habilitar.
  • false: Deshabilitar.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"search_options": xxx}.
clear_thinkingboolean(Opcional) Valor predeterminado: falseControla si el reasoning_content (proceso de pensamiento) de turnos anteriores en una conversación de múltiples turnos se utiliza como entrada de contexto para el modelo. Este parámetro solo es compatible con los modelos de la serie GLM glm-5.3, glm-5.2, glm-5.1 y glm-5. El valor predeterminado es true para glm-5.3 y false para los demás modelos.
Este parámetro no es un parámetro estándar de OpenAI. Cuando realice la llamada mediante el SDK de Python, colóquelo en el objeto extra_body. Configuración: extra_body={"skill": [...]}.
  • true: Ignora el reasoning_content de turnos anteriores y utiliza únicamente texto visible, llamadas a herramientas, resultados y otro contenido no inferencial como entrada de contexto. Esto puede reducir la longitud del contexto y el costo.
  • false (Predeterminado): Conserva el reasoning_content de turnos anteriores y lo proporciona al modelo junto con el contexto. Si usted want habilitar el Pensamiento Conservado, debe pasar el reasoning_content histórico de forma completa, sin modificaciones y en el orden original dentro de los mensajes. La omisión, recorte, reescritura o reordenamiento degrada el rendimiento o provoca fallos.
  • Entrada de texto
  • Salida de transmisión
  • Entrada de imagen
  • Entrada de video
  • Llamada a herramientas
  • Invocación asíncrona
  • Python
  • Java
  • Node.js
  • Go
  • C# (HTTP)
  • PHP (HTTP)
  • curl
import os
from openai import OpenAI

client = OpenAI(
    # If the environment variable is not configured, replace the following line with your Model Studio API key: api_key="sk-xxx"
    # API keys vary by region. Get API Key: https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    # This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/model-studio/getting-started/models
    model="qwen3.8-max",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
    # extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())

Objeto de respuesta de chat (salida sin streaming)

idstringEl identificador único para esta llamada.choicesarrayUna matriz de contenido generado por el modelo.
finish_reasonstringLa razón por la que el modelo detuvo la generación.Considere los siguientes tres escenarios:
  • stop: El modelo dejó de generar porque activó el parámetro stop en la entrada o se detuvo naturalmente.
  • length: El modelo dejó de generar porque la longitud de generación es demasiado larga.
  • tool_calls: El modelo dejó de generar porque es necesario llamar a una herramienta.
indexintegerEl índice de este objeto en la matriz choices.logprobsobjectLa información de probabilidad de tokens de la salida del modelo.
content arrayUna matriz que contiene cada token y su probabilidad logarítmica.
token stringEl texto del token actual.bytes arrayUna lista de los bytes UTF-8 sin procesar del token actual. Esto se utiliza para restaurar con precisión el contenido de salida, como emojis o caracteres chinos.logprob floatLa probabilidad logarítmica del token actual. Un valor de retorno de null indica una probabilidad extremadamente baja.top_logprobs arrayLos tokens candidatos más probables en la posición del token actual. El número de tokens coincide con el parámetro de solicitud top_logprobs. Cada elemento contiene:
token stringEl texto del token candidato.bytes arrayUna lista de los bytes UTF-8 sin procesar del token actual. Esto se utiliza para restaurar con precisión el contenido de salida, como emojis o caracteres chinos.logprob floatLa probabilidad logarítmica de este token candidato. Un valor null indica una probabilidad extremadamente baja.
messageobjectEl mensaje generado por el modelo.
content stringEl contenido de la respuesta del modelo.reasoning_content stringEl contenido de la cadena de pensamiento del modelo.refusal stringEste parámetro está actualmente fijado en null.role stringEl rol del mensaje. El valor está fijado en assistant.audio objectEste parámetro está actualmente fijado en null.function_call (se desaprobará)objectEste valor está fijado en null. Para más información, consulte el parámetro tool_calls.tool_calls arrayLa información sobre la herramienta y sus parámetros de entrada que el modelo decide llamar.
id stringEl identificador único para esta llamada a la herramienta.type stringEl tipo de herramienta. Actualmente, solo se admite function.function objectDetalles de la herramienta
name stringEl nombre de la herramienta.arguments stringLa información de los parámetros de entrada, como una cadena con formato JSON.
Dado que la respuesta del modelo de lenguaje grande es aleatoria, la información de los parámetros de salida puede no ajustarse a la firma de la función. Debe validar los parámetros antes de llamar a la función.
index integerEl índice de esta llamada a la herramienta en la matriz tool_calls.
createdintegerLa marca de tiempo Unix, en segundos, cuando se creó la solicitud.modelstringEl modelo utilizado para esta solicitud.object stringEl valor siempre es chat.completion.service_tier stringEste parámetro está actualmente fijado en null.system_fingerprintstringEste parámetro está actualmente fijado en null.usage objectLa información de consumo de tokens para esta solicitud.
completion_tokens integerEl número de tokens en la salida del modelo.prompt_tokens integerEl número de tokens de entrada. Para más información, consulte Notas adicionales.total_tokens integerEl número total de tokens consumidos. Esta es la suma de prompt_tokens y completion_tokens.completion_tokens_details object (Opcional)Una clasificación detallada de los tokens de salida. Este campo solo es devuelto por algunos modelos. Tenga en cuenta que text_tokens incluye reasoning_tokens — reasoning_tokens es el subconjunto de text_tokens correspondiente al proceso de pensamiento, por lo que text_tokens menos reasoning_tokens es el número de tokens en la respuesta visible final. Este campo normalmente solo se devuelve cuando el modelo emite un proceso de pensamiento; puede ser null o estar ausente cuando el pensamiento no está habilitado.
audio_tokens integer (Opcional)El número de tokens de audio de salida. Este campo solo se devuelve para modelos de salida de audio.reasoning_tokens integer (Opcional)El número de tokens en el proceso de pensamiento. Este campo se devuelve únicamente para modelos de razonamiento. Este valor es un subconjunto de text_tokens.text_tokens integer (Opcional)El número de tokens en el texto de salida. Este valor ya incluye reasoning_tokens.
prompt_tokens_details objectUna clasificación detallada de los tokens de entrada.
audio_tokens integerEste parámetro está actualmente fijado en null.cached_tokens integerEl número de tokens que coincidieron con la caché. Para obtener más información sobre Context Cache, consulte Caché de contexto.text_tokens integerEl número de tokens de texto de entrada.image_tokens integerEl número de tokens de imagen de entrada.video_tokens integerEl número de tokens para el archivo de video de entrada o la lista de imágenes.cache_creation objectLa información de creación de caché explícita.
ephemeral_5m_input_tokens integerEl número de tokens utilizados para crear la caché explícita.
cache_creation_input_tokens integerEl número de tokens utilizados para crear la caché explícita.cache_type stringCuando utiliza la caché explícita, el valor del parámetro es ephemeral. De lo contrario, este parámetro no existe.
{
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "I am a large-scale language model developed by Alibaba Cloud. My name is Qwen."
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 3019,
        "completion_tokens": 104,
        "total_tokens": 3123,
        "prompt_tokens_details": {
            "cached_tokens": 2048
        }
    },
    "created": 1735120033,
    "system_fingerprint": null,
    "model": "qwen3.8-max",
    "id": "chatcmpl-6ada9ed2-7f33-9de2-8bb0-78bd4035025a"
}

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

idstringEl identificador único para esta llamada. Cada objeto de fragmento tiene el mismo ID.choicesarrayUn arreglo de contenido generado por el modelo, que puede contener uno o más objetos. Si el parámetro include_usage se establece en true, choices es un arreglo vacío en el último fragmento.
delta objectEl objeto incremental de la solicitud.
content stringEl contenido incremental del mensaje.reasoning_content stringEl contenido incremental de la cadena de pensamiento.function_call objectEste valor tiene como predeterminado null. Para más información, consulte el parámetro tool_calls.audioobjectLa respuesta que se genera cuando utiliza el modelo Qwen-Omni.
data stringLos datos de audio incrementales codificados en Base64.expires_at integerLa marca de tiempo cuando se creó la solicitud.
refusal objectEste parámetro está actualmente fijado en null.role stringEl rol del objeto de mensaje incremental. Solo tiene valor en el primer fragmento.tool_calls arrayLa información sobre la herramienta y sus parámetros de entrada que el modelo decide llamar.
index integerEl índice de esta llamada a la herramienta en la matriz tool_calls.id stringEl identificador único para esta llamada a la herramienta.function objectLa información sobre la herramienta llamada.
arguments stringLos parámetros de entrada incrementales. Los arguments de todos los fragmentos se concatenan para formar el conjunto completo de parámetros de entrada.
Dado que la respuesta del modelo de lenguaje grande es aleatoria, la información de los parámetros de salida puede no ajustarse a la firma de la función. Debe validar los parámetros antes de llamar a la función.
name stringEl nombre de la herramienta. Tiene un valor solo en el primer fragmento.
type stringEl tipo de herramienta. Actualmente, solo se admite function.
finish_reason stringLa razón por la que el modelo dejó de generar. El valor puede ser uno de los siguientes:
  • stop: El modelo dejó de generar porque activó el parámetro stop en la entrada o se detuvo naturalmente.
  • El valor es null hasta que se complete la generación.
  • length: El modelo dejó de generar porque la longitud de generación es demasiado larga.
  • tool_calls: El modelo dejó de generar porque es necesario llamar a una herramienta.
index integerEl índice de la respuesta actual en el arreglo choices. Cuando el parámetro de entrada n es mayor que 1, puede utilizar este parámetro para concatenar el contenido completo que corresponde a diferentes respuestas.logprobsobjectLa información de probabilidad del objeto actual.
content arrayUn arreglo de tokens con información de probabilidad logarítmica.
token stringEl token actual.bytes arrayUna lista de los bytes UTF-8 sin procesar del token actual. Esto es útil cuando procesa emojis y caracteres chinos.logprob floatLa probabilidad logarítmica del token actual. Un valor null indica una probabilidad extremadamente baja.top_logprobs arrayLos tokens más probables en la posición del token actual y sus probabilidades logarítmicas. El número de elementos coincide con el parámetro de entrada top_logprobs.
token stringEl token actual.bytes arrayUna lista de los bytes UTF-8 sin procesar del token actual. Esto es útil cuando procesa emojis y caracteres chinos.logprob floatLa probabilidad logarítmica del token actual. Un valor null indica una probabilidad extremadamente baja.
createdintegerLa marca de tiempo cuando se creó esta solicitud. Cada fragmento tiene la misma marca de tiempo.modelstringEl modelo utilizado para esta solicitud.object stringEl valor siempre es chat.completion.chunk.service_tier stringEste parámetro está actualmente fijado en null.system_fingerprintstringEste parámetro está actualmente fijado en null.usage objectLos tokens consumidos por esta solicitud. Solo se muestra en el último fragmento cuando include_usage se establece en true.
completion_tokens integerEl número de tokens en la salida del modelo.prompt_tokens integerEl número de tokens de entrada.total_tokens integerEl número total de tokens, que es la suma de prompt_tokens y completion_tokens.completion_tokens_details object (Opcional)Información detallada sobre los tokens de salida. Este campo solo es devuelto por algunos modelos. Tenga en cuenta que text_tokens incluye reasoning_tokens — reasoning_tokens es el subconjunto de text_tokens correspondiente al proceso de pensamiento, por lo que text_tokens menos reasoning_tokens es el número de tokens en la respuesta visible final. Este campo normalmente solo se devuelve cuando el modelo emite un proceso de pensamiento; puede ser null o estar ausente cuando el pensamiento no está habilitado.
audio_tokensinteger (Opcional)El número de tokens de audio de salida. Este campo solo se devuelve para modelos de salida de audio.reasoning_tokens integer (Opcional)El número de tokens en el proceso de pensamiento. Este campo se devuelve únicamente para modelos de razonamiento. Este valor es un subconjunto de text_tokens.text_tokensinteger (Opcional)El número de tokens de texto de salida. Este valor ya incluye reasoning_tokens.
prompt_tokens_details objectUna clasificación detallada de los tokens de entrada.
audio_tokens integerEl número de tokens de audio de entrada.
El número de tokens de audio en un archivo de video se devuelve en este parámetro.
text_tokens integerEl número de tokens de texto de entrada.video_tokens integerEl número de tokens para el video de entrada, que puede ser una lista de imágenes o un archivo de video.image_tokens integerEl número de tokens de imagen de entrada.cached_tokens integerEl número de tokens que coincidieron con la caché. Para obtener más información sobre Context Cache, consulte Caché de contexto.cache_creation objectLa información de creación de caché explícita.
ephemeral_5m_input_tokens integerEl número de tokens utilizados para crear la caché explícita.
cache_creation_input_tokens integerEl número de tokens utilizados para crear la caché explícita.cache_type stringEl tipo de caché. El valor está fijado en ephemeral.
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"I am","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" a large-scale","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" language","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" model from Alibaba","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" Cloud. My name","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" is Qwen","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":".","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":17,"prompt_tokens":22,"total_tokens":39,"completion_tokens_details":null,"prompt_tokens_details":{"audio_tokens":null,"cached_tokens":0}}}

Códigos de error

Si la llamada al modelo falla y se devuelve un mensaje de error, consulte Códigos de error para resolver el problema.