L’API Message Batches supporta lo stesso set di funzionalità dell’API Messages. Mentre questa pagina si concentra su come utilizzare l’API Message Batches, consulta Esempi dell’API Messages per esempi delle funzionalità dell’API Messages.

Creazione di un Batch di Messaggi

JSON
{
  "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message_batch",
  "processing_status": "in_progress",
  "request_counts": {
    "processing": 2,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  },
  "ended_at": null,
  "created_at": "2024-09-24T18:37:24.100435Z",
  "expires_at": "2024-09-25T18:37:24.100435Z",
  "cancel_initiated_at": null,
  "results_url": null
}

Polling per il completamento del Batch di Messaggi

Per effettuare il polling di un Batch di Messaggi, avrai bisogno del suo id, che viene fornito nella risposta durante la creazione della richiesta o elencando i batch. Esempio di id: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF.

Elenco di tutti i Batch di Messaggi in un Workspace

Output
{
  "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message_batch",
  ...
}
{
  "id": "msgbatch_01HkcTjaV5uDC8jWR4ZsDV8d",
  "type": "message_batch",
  ...
}

Recupero dei Risultati del Batch di Messaggi

Una volta che lo stato del tuo Batch di Messaggi è ended, potrai visualizzare l’results_url del batch e recuperare i risultati sotto forma di file .jsonl.

Output
{
  "id": "my-second-request",
  "result": {
    "type": "succeeded",
    "message": {
      "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
      "type": "message",
      ...
    }
  }
}
{
  "custom_id": "my-first-request",
  "result": {
    "type": "succeeded",
    "message": {
      "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
      "type": "message",
      ...
    }
  }
}

Annullamento di un Batch di Messaggi

Immediatamente dopo l’annullamento, lo stato di elaborazione di un batch sarà canceling. Puoi utilizzare la stessa tecnica di polling per il completamento del batch per verificare quando l’annullamento è finalizzato, poiché anche i batch annullati finiscono nello stato ended e potrebbero contenere risultati.

JSON
{
  "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message_batch",
  "processing_status": "canceling",
  "request_counts": {
    "processing": 2,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  },
  "ended_at": null,
  "created_at": "2024-09-24T18:37:24.100435Z",
  "expires_at": "2024-09-25T18:37:24.100435Z",
  "cancel_initiated_at": "2024-09-24T18:39:03.114875Z",
  "results_url": null
}