Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina illustra come gestire le attività a esecuzione prolungata usando la continuazione delle attività con Agent Brick: Supervisor Agent.
Quando un agente supervisore funziona su attività complesse che richiedono molte chiamate di strumenti, l'attività potrebbe richiedere più tempo rispetto a una singola richiesta API consentita. Per gestire questo problema, il supervisore supporta la modalità attività a esecuzione prolungata, che suddivide automaticamente le attività lunghe in più cicli di richiesta/risposta in modo che l'agente possa continuare a funzionare senza timeout.
Come funziona
- Il supervisore inizia a elaborare la tua richiesta, chiama strumenti e ragiona quando necessario.
- Prima del timeout della richiesta, il supervisore sospende l'esecuzione e genera un
task_continue_requestevento nella risposta di streaming. - Per riprendere l'attività, l'applicazione invia una richiesta di completamento che include sia l'oggetto
task_continue_requestche un oggetto corrispondentetask_continue_response. - Il supervisore riprende dove si è interrotto e continua a lavorare. Questo ciclo viene ripetuto in base alle esigenze fino al completamento dell'attività.
Usare attività a esecuzione prolungata in Playground
In AI Playground, Playground gestisce automaticamente la continuazione delle attività. Quando l'agente richiede più tempo, Playground invia la risposta di continuazione per conto dell'utente. Viene visualizzata una singola conversazione ininterrotta.
Gestire la continuazione delle attività nell'API
Per abilitare le attività a esecuzione prolungata, includere "long_task": true nella databricks_options richiesta:
{
"input": [{ "role": "user", "content": "Your message here" }],
"databricks_options": {
"long_task": true
},
"stream": true
}
Quando si usa direttamente l'API di streaming, l'applicazione deve rilevare task_continue_request gli eventi e inviare una richiesta di completamento per continuare l'attività.
Rilevare l'evento del checkpoint nella risposta in streaming
Il supervisore genera un evento simile al seguente quando deve continuare:
{
"type": "response.output_item.done",
"item": {
"type": "task_continue_request",
"id": "continue_<unique-id>",
"step": 16
},
"id": "resp_<response-id>"
}
Il step campo indica il numero totale di passaggi di chiamata dello strumento completati finora.
Inviare una richiesta di completamento per riprendere
Includere l'originale task_continue_request e il corrispondente task_continue_response nei messaggi della richiesta successiva:
{
"messages": [
"...previous messages...",
{
"type": "task_continue_request",
"id": "continue_<unique-id>",
"step": 16
},
{
"type": "task_continue_response",
"continue_request_id": "continue_<unique-id>"
}
],
"databricks_options": {
"long_task": true
},
"stream": true
}
L'oggetto continue_request_id deve corrispondere a id da task_continue_request.
Limitazioni note
- Se una singola chiamata allo strumento o una chiamata al modello viene eseguita più a lungo del timeout dell'API, la richiesta potrebbe ancora scadere perché il checkpoint di continuazione può essere attivato solo tra i passaggi.
- Il supporto completo dell'agente a lungo termine, inclusi i timeout durante le chiamate a singoli strumenti o chiamate al modello, non è ancora disponibile.