Saltar al contenido principal
Cada comando que acepta un cuerpo de solicitud admite tres formas de proporcionarlo:
  1. Flags individuales (máxima prioridad)
  2. El flag --body con una cadena JSON
  3. Canalización por stdin
Se pueden combinar — la CLI los fusiona y las fuentes de mayor prioridad sobrescriben a las de menor prioridad a nivel de campo.

Flags individuales

Utiliza un flag dedicado para cada campo. Esta es la opción más fácil de descubrir y la más sencilla de usar con el autocompletado de pestañas del shell:
mka1 llm responses create \
  --model meetkai:functionary-es-mini \
  --input '"Resume la cola de soporte de ayer."'
--help muestra todos los flags que acepta el comando, junto con los obligatorios y las opciones de enumeración.

El flag --body

Envía el cuerpo completo de la solicitud como una sola cadena JSON. Es útil cuando ya tienes el cuerpo formado — por ejemplo, desde otra herramienta o un fixture de prueba:
mka1 llm responses create --body '{
  "model": "meetkai:functionary-es-mini",
  "input": "Resume la cola de soporte de ayer."
}'
Los flags individuales aún sobrescriben el cuerpo a nivel de campo:
# Cuerpo final: {"model":"meetkai:functionary-es-mini","input":"Un prompt diferente"}
mka1 llm responses create \
  --body '{"model":"meetkai:functionary-es-mini","input":"Prompt original"}' \
  --input '"Un prompt diferente"'

Canalización por stdin

Canaliza JSON en cualquier comando que acepte un cuerpo. Esta es la mejor opción para scripts, encadenar comandos o leer cuerpos desde archivos:
# Desde un archivo JSON
mka1 llm responses create < request.json

# Desde otro comando
curl -s https://example.com/prompt.json | mka1 llm responses create

# Generado en línea
echo '{"model":"meetkai:functionary-es-mini","input":"Hola"}' | mka1 llm responses create
Los flags individuales también sobrescriben los valores de stdin:
# Cuerpo final: {"model":"meetkai:functionary-es-mini","input":"Sobrescrito"}
echo '{"model":"meetkai:functionary-es-mini","input":"Desde stdin"}' \
  | mka1 llm responses create --input '"Sobrescrito"'

Cadena de prioridades

Cuando más de una fuente proporciona el mismo campo, la fuente de mayor prioridad gana:
PrioridadFuenteUso típico
1 (máxima)Flags individualesAjustes puntuales, parámetros en scripts
2Flag --bodyCuerpo JSON formado en línea
3 (mínima)StdinJSON canalizado o proveniente de archivo
La CLI fusiona las claves de los objetos, por lo que puedes mezclar y combinar: canaliza la mayor parte del cuerpo por stdin y luego sobrescribe un solo campo con un flag.

Encadena comandos

Como cada comando imprime JSON en stdout (cuando pasas --output-format json), puedes alimentar una llamada en la siguiente:
mka1 llm files upload \
  --file ./support-manual.pdf \
  --purpose assistants \
  --output-format json \
  --jq '{file_id: .id, purpose: .purpose}' \
  | mka1 llm vector-stores create-file --vector-store-id vs_123
Consulta formatear y filtrar la salida para más información sobre --output-format y --jq.

Entradas de archivos

Los comandos de carga de archivos (llm files upload, llm speech transcribe, llm extract extract y similares) aceptan una ruta con --file. La CLI lee el archivo y lo envía como datos de formulario multipartes:
mka1 llm files upload --file ./dataset.jsonl --purpose fine-tune
Las respuestas binarias (por ejemplo, llm speech speak) admiten --output-file para escribir el contenido en una ruta en lugar de imprimirlo:
mka1 llm speech speak \
  --text 'Hola, bienvenido a nuestro servicio.' \
  --output-file ./welcome.wav
Utiliza --output-b64 cuando quieras que el binario se imprima en stdout codificado en base64.