Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O uso nativo do computador permite que um modelo de Respostas solicite ações ordenadas no ambiente de trabalho ou navegador. A sua aplicação é dona do ambiente de execução, apresenta verificações de segurança para aprovação, executa as ações, captura uma captura de ecrã e devolve o resultado ao modelo.
Os seguintes clientes Python expõem a ferramenta nativa:
| Client | Fábrica | Notes |
|---|---|---|
OpenAIChatClient |
get_computer_tool() |
Utiliza a API OpenAI Responses. |
FoundryChatClient |
get_computer_tool() |
Requer azure-ai-projects a versão 2.3.0 ou posterior. |
FoundryChatClient.get_computer_use_tool(...) é uma API de pré-visualização separada. Para as opções de configuração, consulte o fornecedor de modelos Microsoft Foundry.
Adicionar a ferramenta a um agente
Crie a ferramenta do fornecedor e envie-a ao agente:
from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
client = OpenAIChatClient()
agent = Agent(
client=client,
tools=[client.get_computer_tool()],
)
O modelo devolve um Content item com type="computer_tool_call". O item inclui:
- Um item
ide outro distintocall_id. - Uma lista ordenada
actions. - Opcional
pending_safety_checks.
Chamadas não atendidas aparecem em AgentResponse.user_input_requests. Mostre as ações e avisos ao utilizador antes de a sua aplicação executar qualquer coisa.
O framework nunca reconhece automaticamente as verificações de segurança.
Devolver o resultado
Depois de a sua aplicação executar as ações aprovadas, devolve uma captura de ecrã numa mensagem de ferramenta. O fragmento seguinte assume request que é o pedido do computador, screenshot_bytes é um PNG capturado pelo seu ambiente de execução, e confirmed_checks contém apenas verificações que o utilizador aprovou explicitamente:
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)
Reutilize o mesmo AgentSession quando enviar o resultado. Também pode fornecer a captura de ecrã com Content.from_uri(...) ou Content.from_hosted_file(...). O OpenAI e o Foundry Responses exigem uma captura de ecrã, embora o tipo de resultado partilhado permita aos fornecedores omitir uma.
O tipo ComputerSafetyCheck e os construtores Content.from_computer_tool_call(...) e Content.from_computer_tool_result(...) são APIs experimentais do Agent Framework. Chamadas e resultados podem ser persistidos com Content.to_dict() e restaurados com Content.from_dict().
Comportamento do fluxo de trabalho
Quando um fluxo de trabalho é interrompido para entrada nativa no computador, o Agent Framework preserva o ID da chamada, a ordem das ações e as verificações de segurança pendentes entre os pontos de controlo. Se as chamadas a funções locais forem concluídas no mesmo lote, os respetivos resultados são devolvidos juntamente com o resultado computacional, pela ordem original das chamadas.
Se um pedido informático no lote pendente de um agente for cancelado, os pedidos restantes desse lote também são cancelados. Os resultados já concluídos permanecem na saída do terminal, e o turno seguinte começa com uma sessão de agente nova.