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.
L’utilisation de l’ordinateur natif permet à un modèle Réponses de demander des actions de bureau ou de navigateur ordonnées. Votre application possède l’environnement d’exécution, présente des vérifications de sécurité pour approbation, effectue les actions, capture une capture d’écran et retourne le résultat au modèle.
Les clients Python suivants exposent l’outil natif :
| Client | Usine | Notes |
|---|---|---|
OpenAIChatClient |
get_computer_tool() |
Utilise l’API Réponses OpenAI. |
FoundryChatClient |
get_computer_tool() |
Nécessite azure-ai-projects la version 2.3.0 ou ultérieure. |
FoundryChatClient.get_computer_use_tool(...) est une API en préversion distincte. Pour connaître ses options de configuration, consultez le fournisseur de modèles Microsoft Foundry.
Ajouter l’outil à un agent
Créez l’outil fournisseur et transmettez-le à l’agent :
from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
client = OpenAIChatClient()
agent = Agent(
client=client,
tools=[client.get_computer_tool()],
)
Le modèle renvoie un élément Content avec type="computer_tool_call". L’élément inclut :
- Un élément
idet uncall_iddistinct. - Une liste
actionsordonnée. - Facultatif
pending_safety_checks.
Les appels sans réponse apparaissent dans AgentResponse.user_input_requests. Affichez les actions et les avertissements à l’utilisateur avant que votre application n’exécute quoi que ce soit.
Le framework ne reconnaît jamais automatiquement les contrôles de sécurité.
Retourner le résultat
Une fois que votre application a exécuté les actions approuvées, retournez une capture d’écran dans un message d’outil. Le fragment suivant suppose que la demande screenshot_bytes d’ordinateur est une PNG capturée par votre environnement d’exécution et confirmed_checks contient uniquement des vérifications request que l’utilisateur a explicitement approuvées :
from agent_framework import Content, Message
result = Content.from_computer_tool_result(
call_id=request.call_id,
screenshot=Content.from_data(screenshot_bytes, "image/png"),
acknowledged_safety_checks=confirmed_checks,
)
tool_message = Message(role="tool", contents=[result])
response = await agent.run(tool_message, session=session)
Réutilisez le même AgentSession lorsque vous envoyez le résultat. Vous pouvez également fournir la capture d’écran avec Content.from_uri(...) ou Content.from_hosted_file(...). Les réponses OpenAI et Foundry nécessitent une capture d’écran, même si le type de résultat partagé permet aux fournisseurs d’en omettre un.
Le type ComputerSafetyCheck ainsi que les constructeurs Content.from_computer_tool_call(...) et Content.from_computer_tool_result(...) sont des API expérimentales du framework Agent. Les appels et les résultats peuvent être conservés avec Content.to_dict() et restaurés avec Content.from_dict().
Comportement du flux de travail
Lorsqu’un flux de travail est mis en pause pour une saisie native sur l’ordinateur, Agent Framework conserve l’identifiant d’appel, l’ordre des actions et les contrôles de sécurité en attente d’un point de contrôle à l’autre. Si les appels de fonction local se terminent dans le même lot, leurs résultats sont retournés avec le résultat de l’ordinateur dans l’ordre d’appel d’origine.
Si une demande d’ordinateur dans le lot en attente d’un agent est annulée, les requêtes restantes de ce lot sont également annulées. Les résultats déjà obtenus restent affichés dans la sortie du terminal, et le tour suivant commence avec une nouvelle session de l’agent.