Skip to main content

Compatible con OpenAI - Batch Chat

Para escenarios no relacionados con el tiempo real, como anotación de datos y generación de contenido, la API de Batch Chat ofrece una alternativa de bajo costo y alta concurrencia utilizando el mismo método de llamada síncrona. Descuento por tiempo limitado del 50% disponible.

Esta API solo admite envíos de solicitudes individuales. Para enviar múltiples solicitudes a la vez, empaquételas en un archivo. Consulte Compatible con OpenAI - Batch (entrada de archivo).

Funcionamiento

  1. Enviar solicitud: El cliente envía una solicitud y establece una conexión.
  2. Cola y espera: La solicitud entra en una cola mientras el cliente mantiene la conexión.
  3. Devolver resultado: El servidor devuelve el resultado completo a través de la conexión establecida después del procesamiento.
    La conexión se desconecta con un error de tiempo de espera si se excede el tiempo máximo de espera.

Disponibilidad

  • China (Beijing)
  • En el escenario de procesamiento por lotes, el máximo de tokens de contexto por solicitud es 256 K para qwen3.8-max, qwen3.8-flash, qwen3.7-max, qwen3.7-plus, qwen3.6-plus, qwen3.7-flash, qwen3.6-flash, qwen3.5-plus, qwen3.5-flash y qwen3.5-omni-plus.
  • Algunos modelos admiten el modo de pensamiento. Activar este modo genera tokens de pensamiento y aumenta los costos.
  • Los modelos de las series qwen3.8, qwen3.7, qwen3.6 y qwen3.5 tienen el modo de pensamiento activado de forma predeterminada. Si utiliza un modelo de pensamiento híbrido, debe configurar explícitamente el parámetro enable_thinking. Configure este parámetro en true para activar el modo o en false para desactivarlo.
  • En el cuerpo de la solicitud JSONL, enable_thinking es un parámetro de nivel superior de body y debe colocarse al mismo nivel que model. No lo coloque dentro de extra_body.

Uso

Requisitos previos

pip3 install -U openai

Paso 1: Configurar el endpoint de la API

Cambie de inferencia en tiempo real a por lotes modificando el endpoint de la API (base_url) según su método de llamada: SDK: Establezca base_url en https://batch.dashscope.aliyuncs.com/compatible-mode/v1 HTTP: POST https://batch.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

Paso 2: Realizar una llamada

Los siguientes ejemplos muestran cómo llamar a la API de Batch Chat. El tiempo de espera predeterminado es de 3600 segundos (1 hora); no se necesita configuración adicional en la mayoría de los casos.
Rango de tiempo de espera personalizado: 60–3600 segundos.
  • Python
  • Java
  • Node.js
  • Go
  • C# (HTTP)
  • PHP (HTTP)
  • curl
Ejemplo de solicitud
import os
from openai import OpenAI

client = OpenAI(
   # If environment variable not set, replace with api_key="sk-xxx".
   # Avoid hard-coding API keys in production to reduce leak risk.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://batch.dashscope.aliyuncs.com/compatible-mode/v1",  # Batch Chat API endpoint
).with_options(timeout=1800.0) # Timeout: 1800s (30 min). Max: 3600s.

completion = client.chat.completions.create(
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ]
)
print(completion.choices[0].message.content)
Ejemplo de respuesta
I am Qwen, a large-scale language model from Alibaba Group. I can answer questions, create text such as stories, official documents, emails, and scripts, perform logical reasoning, write code, and more. I can also express opinions and play games. If you have any questions or need help, feel free to let me know!

Limitaciones

  • Tiempo de espera: Máximo 3600 segundos (1 hora) para espera síncrona. Configure un tiempo de espera personalizado: 60–3600 segundos.
  • Límites de concurrencia: Máximo 10,000 solicitudes pendientes por modelo por cuenta. Las solicitudes que excedan este límite serán rechazadas con un código de error. Solo se aceptan nuevas solicitudes después de que se completen las solicitudes pendientes.
  • Tasa de llamadas: Máximo 1000 QPS por cuenta, o 10,000 llamadas cada 10 segundos.
    Solo máximo teórico. La disponibilidad real depende de la carga del sistema. Implemente lógica de reintentos.

Facturación

  • Precio unitario: Facturación basada en tokens de entrada/salida en solicitudes exitosas. El precio de lista coincide con el precio de llamada en tiempo real. Descuento por tiempo limitado del 50% disponible en el sitio web oficial. Consulte Lista de modelos.
  • Alcance de facturación: Solo se facturan las solicitudes exitosas. Las solicitudes fallidas (errores del sistema o tiempos de espera agotados) no se facturan.
  • La inferencia por lotes es un elemento de facturación separado. Admite el Plan de ahorros de propósito general de IA, pero no descuentos, como suscripción (otros planes de ahorros) o cuotas gratuitas para nuevos usuarios. Tampoco admite funciones como caché de contexto.
  • Algunos modelos, como qwen3.5-plus y qwen3.5-flash, tienen el modo de pensamiento habilitado de forma predeterminada. Este modo genera tokens de pensamiento adicionales, que se facturan al precio de tokens de salida y aumentan los costos. Para controlar los costos, establezca el parámetro enable_thinking según la complejidad de la tarea. Para más información, consulte Pensamiento profundo.

Códigos de error

Si la llamada al modelo falla y devuelve un mensaje de error, consulte Códigos de error para su resolución.

FAQ

  1. ¿Existe alguna diferencia en el tiempo de solicitud entre Batch Chat y la API en tiempo real? Sí. Las solicitudes se ponen en cola para su programación, por lo que el tiempo de extremo a extremo suele ser mayor que en la API en tiempo real. Espera máxima: 1 hora. La conexión se desconecta con un error si se excede el tiempo de espera.
  2. ¿Cómo elijo entre Batch Chat y Batch File? Elija Batch Chat para muchas solicitudes de diálogo independientes con alta concurrencia mediante llamadas síncronas. Elija Batch File para procesar un solo archivo grande con muchas solicitudes mediante recuperación asíncrona.
  3. ¿Garantiza Batch Chat que se completarán todas las solicitudes? No. La finalización depende de la asignación de recursos compartidos. Las solicitudes pueden entrar en cola si los recursos están ocupados. La conexión agota el tiempo de espera si no se ejecuta dentro del tiempo máximo de espera. Las solicitudes con tiempo de espera agotado no se facturan; reintente más tarde.

Referencias