Yerel bilgisayar kullanımı

Bilgisayarı yerel olarak kullanma, bir Responses modelinin sıralı masaüstü veya tarayıcı eylemleri istemesine olanak tanır. Uygulamanız yürütme ortamının sahibidir, onay için güvenlik denetimleri sunar, eylemleri gerçekleştirir, bir ekran görüntüsü yakalar ve sonucu modele döndürür.

Aşağıdaki Python istemcileri yerel aracı kullanıma sunar:

Client Fabrika Notes
OpenAIChatClient get_computer_tool() OpenAI Yanıtları API'sini kullanır.
FoundryChatClient get_computer_tool() azure-ai-projects 2.3.0 veya üzerini gerektirir.

FoundryChatClient.get_computer_use_tool(...) ayrı bir önizleme API'dir. Yapılandırma seçenekleri için bkz. Microsoft Foundry model sağlayıcısı.

Bir aracı bir acenteye ekleyin

Sağlayıcı aracını oluşturun ve bunu ajana geçirin:

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient

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

Model, Content ile bir type="computer_tool_call" öğesi döndürür. Öğe şunları içerir:

  • Bir öğe id ve ayrı bir call_id.
  • Sıralı actions liste.
  • İsteğe bağlıpending_safety_checks.

Yanıtlanmayan aramalar AgentResponse.user_input_requests içinde görünür. Uygulamanız herhangi bir şey yürütmeden önce kullanıcıya eylemleri ve uyarıları görüntüleyin. Çerçeve hiçbir zaman güvenlik denetimlerini otomatik olarak kabul etmez.

Sonucu döndürme

Uygulamanız onaylanan eylemleri yürütürken araç iletisinde bir ekran görüntüsü döndürür. Aşağıdaki parçanın request bilgisayar isteği olduğu varsayılır, screenshot_bytes yürütme ortamınız tarafından yakalanan bir PNG'dir ve confirmed_checks yalnızca kullanıcının açıkça onayladığı denetimleri içerir:

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)

Sonucu gönderirken aynı AgentSession öğesini yeniden kullanın. Ekran görüntüsünü Content.from_hosted_file(...) veya Content.from_uri(...) ile de sağlayabilirsiniz. Paylaşılan sonuç türü sağlayıcıların ekran görüntüsünü atlamasına izin verse de, OpenAI ve Foundry yanıtları ekran görüntüsü gerektirir.

ComputerSafetyCheck Türü ve Content.from_computer_tool_call(...)Content.from_computer_tool_result(...) oluşturucuları deneysel Agent Framework API'leridir. Çağrılar ve sonuçlar Content.to_dict() ile kalıcı hale getirilebilir ve Content.from_dict() ile geri yüklenebilir.

İş akışı davranışı

Bir iş akışı, yerel bilgisayar girdisi beklemek üzere duraklatıldığında Agent Framework, çağrı kimliğini, eylem sırasını ve bekleyen güvenlik denetimlerini denetim noktaları boyunca korur. Yerel işlev çağrıları aynı toplu işlemde tamamlanırsa, sonuçları özgün çağrı sırasına göre bilgisayar sonucuyla döndürülür.

Aracının bekleyen toplu işlemindeki bir bilgisayar isteği iptal edilirse, bu toplu işteki kalan istekler de iptal edilir. Tamamlanmış sonuçlar terminal çıkışında kalır ve sonraki adım yeni bir aracı oturumuyla başlar.