Skip to main content

Inferencia por lotes

Referencia de comandos de la CLI de Model Studio para crear, rastrear y descargar tareas de inferencia por lotes asíncronas.

bl batch convierte CSV en Batch JSONL, crea tareas por lotes de Chat o Embedding asíncronas, rastrea el progreso, cancela tareas y descarga archivos de resultados y de errores. Las tareas por lotes asíncronas basadas en archivos son independientes de la solicitud única síncrona bl text chat --batch.
batch convert se ejecuta localmente y no requiere autenticación. Crear, consultar, cancelar y descargar tareas requiere una clave de API de modelo. La disponibilidad y los límites de Batch dependen del modelo y del servicio.
Agregue --help a cualquier comando para ver los detalles completos de los parámetros, por ejemplo bl batch create --help. Los detalles de los comandos de esta página se verificaron con bl 2.8.0.

Inicio rápido

bl batch convert --file input.csv --model qwen-plus --output-file input.jsonl
bl batch create --file input.jsonl
bl batch get --batch-id <batch-id> --follow
bl batch download --batch-id <batch-id> --csv

Gestión de tareas

bl batch convert

Crea Batch JSONL a partir de un CSV UTF-8 de forma local. No requiere autenticación. Uso
bl batch convert --file <csv> --model <model> --output-file <jsonl> [flags]
ParámetroTipoObligatorioDescripción
--file <csv>stringSíCSV UTF-8 con encabezados
--output-file <jsonl>stringSíRuta de salida JSONL local
--model <model>stringSíModelo para cada registro
--id-column <name>stringNoColumna de ID (predeterminado: custom_id)
--input-column <name>stringNoColumna de entrada (predeterminado: content)
--system <text>stringNoPrompt de sistema compartido (solo Chat)
--body-file <json>stringNoParámetros de cuerpo compartidos, excepto model, messages o input
--endpoint </v1/chat/completions|/v1/embeddings|/v1/chat/ds-test>stringNoEndpoint de Batch, inferido del JSONL local
--forceswitchNoReemplazar archivos de salida existentes (atómico por archivo)
Ejemplo: Convertir CSV a Chat JSONL
bl batch convert --file input.csv --model qwen-plus --output-file input.jsonl
Ejemplo: Convertir CSV a Embedding JSONL
bl batch convert --file input.csv --model text-embedding-v4 --endpoint /v1/embeddings --output-file vectors.jsonl
  • Solo se admite la asignación de campos de texto y Embedding. Escriba JSONL directamente para entradas multimodales o de varios turnos.
  • Los ID permanecen como cadenas. Importe los ID de CSV como texto en el software de hoja de cálculo para conservar los ceros iniciales.
  • Dry-run no realiza solicitudes de negocio ni escribe archivos de negocio.

bl batch create

Carga o referencia la entrada y crea una tarea Batch asíncrona. Requiere autenticación con clave de API. Uso
bl batch create (--file <jsonl> | --input-file-id <source> --endpoint <path>) [flags]
ParámetroTipoObligatorioDescripción
--file <jsonl>stringNoBatch JSONL local (exclusivo con --input-file-id)
--input-file-id <source>stringNoID de archivo, URL HTTPS de OSS o oss:region:bucket/path
--completion-window <24h|7d>stringNoVentana de finalización: 24–336 horas (predeterminado: 24h)
--name <text>stringNoNombre de la tarea (máximo 100 caracteres)
--description <text>stringNoDescripción de la tarea (máximo 200 caracteres)
--callback-url <url>stringNoCallback de finalización; actualmente documentado solo para la región de China (Pekín)
--metadata <KEY=VALUE>arrayNoMetadatos personalizados de la tarea (repetible)
--endpoint </v1/chat/completions|/v1/embeddings|/v1/chat/ds-test>stringNoEndpoint de Batch, inferido del JSONL local
Ejemplo: Previsualizar la creación de la tarea
bl batch create --file input.jsonl --name eval-1 --dry-run
Ejemplo: Crear una tarea desde un ID de archivo
bl batch create --input-file-id file-batch-xxx --endpoint /v1/chat/completions
Ejemplo: Referenciar una ruta de OSS con una ventana de finalización de 7 días
bl batch create --input-file-id oss:ap-southeast-1:my-bucket/input.jsonl --endpoint /v1/chat/completions --completion-window 7d
Ejemplo de Chat JSONL:
{"custom_id":"req-001","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-plus","messages":[{"role":"user","content":"Introduce yourself"}]}}
Ejemplo de Embedding JSONL:
{"custom_id":"req-001","method":"POST","url":"/v1/embeddings","body":{"model":"text-embedding-v4","input":"Introduce yourself","encoding_format":"float"}}
  • Límites de entrada local: 50.000 solicitudes, 500 MiB y 6 MiB por línea. Las líneas superiores a 1 MiB generan una advertencia.
  • batch-test-model está limitado a 100 solicitudes y 1 MiB.
  • Las referencias remotas requieren autorización y una URL válida; la CLI no las descarga para validarlas.
  • Una creación correcta devuelve un ID de tarea sin esperar la finalización. No se produce reenvío de POST ni limpieza de archivos cargados si hay error.

bl batch get

Obtiene los detalles de la tarea Batch y, opcionalmente, sigue el progreso. Requiere autenticación con clave de API. Uso
bl batch get --batch-id <id> [--follow] [--interval <seconds>] [--poll-timeout <seconds>]
ParámetroTipoObligatorioDescripción
--batch-id <id>stringSíID de la tarea Batch
--followswitchNoConsultar hasta un estado terminal (Ctrl-C solo detiene la consulta local)
--interval <seconds>numberNoIntervalo de consulta, mínimo 60 s (predeterminado: 65 s; solo --follow)
--poll-timeout <seconds>numberNoPresupuesto total de consulta (predeterminado: ilimitado; solo --follow)
Ejemplo: Seguir una tarea hasta que termine
bl batch get --batch-id batch_xxx --follow
  • Un get único sale con código 0 tras una consulta correcta, independientemente del estado de la tarea.
  • Con --follow, el código 0 significa completada (puede contener filas fallidas), 1 significa fallida, expirada o cancelada, 5 significa tiempo de espera del cliente y 130 significa Ctrl-C.
  • finalizing y cancelling no son estados terminales.
  • El progreso se escribe en stderr; el resultado final en stdout.
  • Solo se reintentan errores de transporte, tiempos de espera o HTTP 429/5xx, hasta tres veces.
  • La retención en el servidor es limitada; descargue los resultados cuanto antes.

bl batch list

Muestra una página de tareas Batch. Requiere autenticación con clave de API. Uso
bl batch list [filters] [--after <id>] [--limit <n>]
ParámetroTipoObligatorioDescripción
--limit <n>numberNoTamaño de página: 1–100 (predeterminado: 20)
--after <id>stringNolast_id de la página anterior
--name <text>stringNoFiltro por nombre de tarea
--input-file-id <id>arrayNoFiltro por archivo de entrada (repetible, máximo 20)
--status <status>arrayNoFiltro por estado de tarea (repetible): validating, in_progress, finalizing, completed, failed, expired, cancelling, cancelled
--created-after <yyyyMMddHHmmss>stringNoCreada después de esta marca de tiempo de la API
--created-before <yyyyMMddHHmmss>stringNoCreada antes de esta marca de tiempo de la API
Ejemplo: Listar tareas completadas y fallidas
bl batch list --status completed --status failed --limit 20
  • Devuelve data, last_id y has_more. Pase last_id a --after para la página siguiente.
  • Las marcas de tiempo de la API no se convierten de zona horaria.

bl batch cancel

Solicita la cancelación de una tarea Batch. Requiere autenticación con clave de API. Uso
bl batch cancel --batch-id <id>
ParámetroTipoObligatorioDescripción
--batch-id <id>stringSíID de la tarea Batch
Ejemplo: Solicitar la cancelación de la tarea
bl batch cancel --batch-id batch_xxx
  • Una cancelación aceptada puede devolver cancelling, no cancelled. Use batch get --follow para confirmar.
  • Las solicitudes ya ejecutadas siguen generando cargos; los archivos no se eliminan.

bl batch download

Descarga los resultados originales o los archivos de errores y, opcionalmente, exporta CSV. Requiere autenticación con clave de API. Uso
bl batch download --batch-id <id> [--out-dir <path>] [--csv] [--force]
ParámetroTipoObligatorioDescripción
--batch-id <id>stringSíID de la tarea Batch
--out-dir <path>stringNoDirectorio de salida (predeterminado: ./batch-results/<batch-id>/)
--csvswitchNoTambién generar result.csv (proyección de visualización con pérdida)
--forceswitchNoReemplazar archivos de salida existentes (atómico por archivo)
Ejemplo: Descargar resultados y exportar CSV
bl batch download --batch-id batch_xxx --out-dir ./out --csv
  • JSONL es la fuente autoritativa. CSV solo lee choices[0].message.content, datos de Embedding, response.request_id, status_code, uso y error.code / error.message.
  • CSV omite llamadas a herramientas y opciones adicionales, y trata el texto similar a fórmulas como texto. Importe los ID como texto para conservar los ceros iniciales.
  • No se garantiza el orden de entrada original.
  • Los archivos se publican de forma atómica por archivo, no por directorio. Si falla la generación de CSV, se conserva el JSONL descargado; vuelva a ejecutar con --force para recuperarlo.

Comandos relacionados

Para una solicitud única síncrona, use bl text chat --batch. No crea una tarea asíncrona. Consulte Chat de texto y Omni.