Natív számítógép-használat

A natív számítógép-használat lehetővé teszi, hogy a Válaszmodell kérése asztali vagy böngészőműveleteket rendeljen. Az alkalmazásé a végrehajtási környezet, biztonsági ellenőrzéseket mutat be jóváhagyásra, végrehajtja a műveleteket, képernyőképet készít, és visszaadja az eredményt a modellnek.

Az alábbi Python ügyfelek teszik elérhetővé a natív eszközt:

Client Gyár Notes
OpenAIChatClient get_computer_tool() Az OpenAI Responses API-t használja.
FoundryChatClient get_computer_tool() 2.3.0-s vagy újabb verziót igényel azure-ai-projects .

FoundryChatClient.get_computer_use_tool(...) egy külön előzetes verziójú API. A konfigurációs beállításokért tekintse meg a Microsoft Foundry-modell szolgáltatóját.

A szerszám hozzáadása egy ügynökhöz

Hozza létre a szolgáltatói eszközt, és adja át az ügynöknek:

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient

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

A modell egy Content elemet ad vissza a következővel type="computer_tool_call": . Az elem a következőket tartalmazza:

  • Egy elem id és egy különálló call_id.
  • Egy actions sorrendezett lista.
  • Nem kötelezőpending_safety_checks.

A nem megválaszolt hívások a következő helyen jelennek meg: AgentResponse.user_input_requests. A műveletek és figyelmeztetések megjelenítése a felhasználónak, mielőtt az alkalmazás bármit végrehajt. A keretrendszer soha nem ismeri el automatikusan a biztonsági ellenőrzéseket.

Add vissza az eredményt

Miután az alkalmazás végrehajtotta a jóváhagyott műveleteket, adjon vissza egy képernyőképet egy eszközüzenetben. A következő töredék feltételezi request , hogy a számítógép kérése, screenshot_bytes a végrehajtási környezet által rögzített PNG, és confirmed_checks csak a felhasználó által kifejezetten jóváhagyott ellenőrzéseket tartalmazza:

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)

Az eredmény elküldésekor ugyanazt AgentSession használja újra. A képernyőképet a következővel Content.from_uri(...) is megadhatja: vagy Content.from_hosted_file(...). Az OpenAI és az Öntödei válaszok képernyőfelvételt igényelnek, annak ellenére, hogy a megosztott eredménytípus lehetővé teszi a szolgáltatók számára, hogy kihagyjanak egyet.

A ComputerSafetyCheck típus és Content.from_computer_tool_call(...) a Content.from_computer_tool_result(...) konstruktorok kísérleti Agent Framework API-k. A hívások és az eredmények a következővel Content.to_dict()Content.from_dict()tárolhatók és állíthatók vissza:

Munkafolyamat viselkedése

Ha egy munkafolyamat szünetel a natív számítógép-bemenethez, az Agent Framework megőrzi a hívásazonosítót, a műveleti sorrendet és a függőben lévő biztonsági ellenőrzéseket az ellenőrzőpontokon. Ha a helyi függvényhívások ugyanabban a kötegben fejeződnek be, az eredményüket a rendszer az eredeti hívásrendben adja vissza a számítógép eredményével.

Ha egy ügynök függőben lévő kötegében lévő egyik számítógép-kérést megszakítja, a kötegben lévő többi kérést is megszakítja a rendszer. A már elkészült eredmények megmaradnak a terminál kimenetében, és a következő kör egy új ügynöki munkamenettel indul.