Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page explique comment gérer des tâches longues à l’aide de la continuation des tâches avec l’agent de supervision.
Lorsqu’un agent de superviseur travaille sur des tâches complexes nécessitant de nombreux appels d’outils, la tâche peut nécessiter plus de temps qu’une seule requête d’API. Pour gérer cela, le superviseur prend en charge le mode tâche de longue durée, ce qui interrompt automatiquement les tâches longues en plusieurs cycles de requête/réponse afin que l’agent puisse continuer à travailler sans délai d’attente.
Fonctionnement
- Le superviseur commence à traiter votre demande, en appelant les outils et en raisonnant selon les besoins.
- Avant l’expiration de la requête, le superviseur interrompt l’exécution et émet un
task_continue_requestévénement dans la réponse de diffusion en continu. - Pour reprendre la tâche, votre application envoie une demande de suivi qui inclut à la fois le
task_continue_requestet un correspondanttask_continue_response. - Le superviseur reprend là où il s’est arrêté et continue de travailler. Ce cycle se répète si nécessaire jusqu’à ce que la tâche soit terminée.
Utiliser des tâches de longue durée dans l'environnement Playground
Dans AI Playground, Playground gère automatiquement la continuation des tâches. Lorsque l’agent a besoin de plus de temps, Playground envoie la réponse de continuation en votre nom. Vous voyez une conversation unique et ininterrompue.
Gérer la continuation des tâches dans l’API
Pour activer les tâches de longue durée, incluez "long_task": true dans la databricks_options de votre requête :
{
"input": [{ "role": "user", "content": "Your message here" }],
"databricks_options": {
"long_task": true
},
"stream": true
}
Lorsque vous utilisez directement l’API de diffusion en continu, votre application doit détecter les task_continue_request événements et envoyer une demande de suivi pour poursuivre la tâche.
Détecter l’événement de contrôle dans la réponse de flux en continu
Le superviseur émet un événement comme le suivant lorsqu’il doit continuer :
{
"type": "response.output_item.done",
"item": {
"type": "task_continue_request",
"id": "continue_<unique-id>",
"step": 16
},
"id": "resp_<response-id>"
}
Le step champ indique le nombre total d’étapes d’appel d’outil terminées jusqu’à présent.
Envoyer une demande de suivi pour reprendre
Incluez l’original task_continue_request et une correspondance task_continue_response dans les messages de votre requête suivante :
{
"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
}
Le continue_request_id doit correspondre avec le id du task_continue_request.
Limitations connues
- Si un seul appel d’outil ou appel de modèle s’exécute plus longtemps que le délai d’expiration de l’API, la requête peut toujours expirer, car le point de contrôle de continuation ne peut être déclenché qu’entre les étapes.
- La prise en charge complète de l’agent de longue durée, y compris les délais d’attente pendant les appels d’outils individuels ou les appels de modèle, n’est pas encore disponible.