Intern datoranvändning

Med inbyggd datoranvändning kan en Responses-modell begära ordnade åtgärder på skrivbordet eller i webbläsaren. Ditt program äger körningsmiljön, visar säkerhetskontroller för godkännande, utför åtgärderna, tar en skärmbild och returnerar resultatet till modellen.

Följande Python klienter exponerar det inbyggda verktyget:

Client Fabrik Notes
OpenAIChatClient get_computer_tool() Använder OPENAI-svars-API:et.
FoundryChatClient get_computer_tool() Kräver azure-ai-projects 2.3.0 eller senare.

FoundryChatClient.get_computer_use_tool(...) är ett separat förhandsversions-API. Konfigurationsalternativen finns i Microsoft Foundry-modellprovidern.

Lägg till verktyget i en agent

Skapa providerverktyget och skicka det till agenten:

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient

client = OpenAIChatClient()
agent = Agent(
    client=client,
    tools=[client.get_computer_tool()],
)

Modellen returnerar ett Content objekt med type="computer_tool_call". Objektet innehåller:

  • Ett objekt id och en distinkt call_id.
  • En ordnad actions lista.
  • Valfrittpending_safety_checks.

Obesvarade anrop visas i AgentResponse.user_input_requests. Visa åtgärder och varningar för användaren innan programmet kör något. Ramverket erkänner aldrig säkerhetskontroller automatiskt.

Returnera resultatet

När programmet har kört de godkända åtgärderna returnerar du en skärmbild i ett verktygsmeddelande. Följande fragment utgår från att request är datorns begäran, att screenshot_bytes är en PNG som fångats av din körningsmiljö och att confirmed_checks enbart innehåller kontroller som användaren uttryckligen har godkänt:

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)

Återanvänd samma AgentSession när du skickar resultatet. Du kan också ange skärmbilden med Content.from_uri(...) eller Content.from_hosted_file(...). OpenAI- och Foundry-svar kräver en skärmbild även om den delade resultattypen tillåter att leverantörer utelämnar en.

Typen ComputerSafetyCheck och Content.from_computer_tool_call(...) konstruktorerna Content.from_computer_tool_result(...) är experimentella Agent Framework-API:er. Anrop och resultat kan sparas med Content.to_dict() och återställas med Content.from_dict().

Arbetsflödesbeteende

När ett arbetsflöde pausar för indata från den inbyggda datorn bevarar Agent Framework anrops-ID, åtgärdsordning och väntande säkerhetskontroller över kontrollpunkter. Om lokala funktionsanrop slutförs i samma batch returneras deras resultat med datorresultatet i den ursprungliga anropsordningen.

Om en datorbegäran i en agents väntande batch avbryts avbryts även de återstående begärandena i den batchen. Redan slutförda resultat finns kvar i terminalutdata och nästa tur börjar med en ny agentsession.