Skip to main content
Messages es el núcleo de ZylonGPT: envías un historial de conversación y Zylon devuelve el siguiente mensaje del asistente como lista de bloques de contenido.

Requisitos previos

PrivateGPT.Read.All permite POST /messages síncrono, POST /messages/validate y los demás endpoints de la allowlist de solo lectura de ZylonGPT. Read.All permite las mismas llamadas solo cuando el token de cuenta incluye gateway_id; sin contexto de gateway, no puede llamar a ZylonGPT. El acceso efectivo también depende de los permisos de rol del propietario del token.

Solicitud y respuesta básica

Envía un mensaje y recibe una respuesta.

Formato de mensajes

El mismo cuerpo de mensaje se usa en ZylonGPT y en el campo pgpt de las peticiones de chat/interacción de Workspace. Envía el contenido de la conversación; el modelo o gateway seleccionado determina qué opciones admite. model y max_tokens son opciones que admiten null, no campos obligatorios para todos los modelos. Indicarlos explícitamente hace predecibles la selección de modelo y el límite de salida; valida las peticiones con tu gateway.
Los campos que admiten null pueden omitirse. Una opción que no admite null pero tiene valor por defecto puede omitirse; no envíes null.
response_format está obsoleto; usa output_config.format. Mueve thinking.effort a output_config.effort. Sustituye system.use_default_prompt por los indicadores individuales de system.prompt; el indicador antiguo con true activa todas las categorías de prompt.
usage puede incluir cache_creation_input_tokens, cache_read_input_tokens, inference_geo, service_tier, cache_creation (ephemeral_1m_input_tokens, ephemeral_1h_input_tokens, ephemeral_5m_input_tokens) y server_tool_use (web_fetch_requests, web_search_requests). Los contadores de esos objetos anidados son 0 por defecto. Los campos que admiten null pueden omitirse en la respuesta. No hay un campo stop_sequence en el nivel superior; usa stop_reason: "stop_sequence". Consulta Motivos de parada.

Validar una solicitud

Usa /messages/validate para comprobar la forma del cuerpo de la petición antes de enviar una solicitud real. Devuelve valid: true o una lista de errores de validación.
Ejemplo de respuesta:

Conversaciones con varios turnos

Incluye turnos anteriores en messages:

Prompts del sistema

Usa el campo system a nivel superior para controlar el comportamiento:
Prefiere el campo system de nivel superior para que las instrucciones se apliquen de forma consistente.

JSON estructurado (json_schema)

Si necesitas salida legible por máquina, usa output_config.format.type = json_schema e incluye el esquema en output_config.format.schema.

Streaming (SSE)

Configura stream: true para recibir eventos text/event-stream.

Mensajes asíncronos

Las rutas de inicio, streaming, estado, cancelación y eliminación de mensajes asíncronos requieren PrivateGPT.ReadWrite.All o ReadWrite.All. Los tokens de solo lectura reciben 403 en todo el ciclo de vida asíncrono.
Los mensajes asíncronos usan el mismo cuerpo que los mensajes síncronos: solo cambia el endpoint. La diferencia principal está en la respuesta: los mensajes síncronos devuelven el mensaje completo, y los asíncronos devuelven un message_id para hacer streaming o consultar el estado.

Iniciar un mensaje asíncrono

Streaming o consulta de estado

Streaming:
Consulta de estado:

Cancelar o eliminar

  • Cancelar: POST /messages/async/{message_id}/cancel
  • Eliminar: DELETE /messages/async/{message_id}/delete

Errores comunes

  • Método incorrecto: /messages es POST, no GET.
  • Falta de autenticación: incluye Authorization: Bearer ....
  • Base URL incorrecta: usa https://{BASE_URL}/api/gpt/v1/.
  • Cuerpo inválido: usa POST /messages/validate para validar.
  • Paradas o errores inesperados: revisa Motivos de parada para causas y soluciones.

Próximos pasos

Herramientas

Deja que Zylon use herramientas integradas y personalizadas durante un mensaje.

Artefactos

Ingiere texto, archivos o URI en colecciones reutilizables.