Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penggunaan komputer secara native memungkinkan model Responses meminta serangkaian tindakan di desktop atau browser secara berurutan. Aplikasi Anda memiliki lingkungan eksekusi, menyajikan pemeriksaan keamanan untuk persetujuan, melakukan tindakan, mengambil cuplikan layar, dan mengembalikan hasilnya ke model.
Klien Python berikut mengekspos alat asli:
| Client | Pabrik | Notes |
|---|---|---|
OpenAIChatClient |
get_computer_tool() |
Menggunakan API Respons OpenAI. |
FoundryChatClient |
get_computer_tool() |
Memerlukan azure-ai-projects 2.3.0 atau yang lebih baru. |
FoundryChatClient.get_computer_use_tool(...) adalah API pratinjau terpisah. Untuk opsi konfigurasinya, lihat penyedia model Microsoft Foundry.
Menambahkan alat ke agen
Buat alat penyedia dan teruskan ke agen:
from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
client = OpenAIChatClient()
agent = Agent(
client=client,
tools=[client.get_computer_tool()],
)
Model mengembalikan Content item dengan type="computer_tool_call". Item tersebut meliputi:
- Sebuah item
iddancall_idyang berbeda. - Daftar berurutan
actions. -
pending_safety_checksopsional.
Panggilan yang tidak terjawab muncul di AgentResponse.user_input_requests. Tampilkan tindakan dan peringatan kepada pengguna sebelum aplikasi Anda menjalankan apa pun.
Kerangka kerja tidak pernah mengakui pemeriksaan keamanan secara otomatis.
Mengembalikan hasil
Setelah aplikasi Anda menjalankan tindakan yang disetujui, kembalikan cuplikan layar dalam pesan alat. Fragmen berikut mengasumsikan request adalah permintaan komputer, screenshot_bytes adalah PNG yang diambil oleh lingkungan eksekusi Anda, dan confirmed_checks hanya berisi pemeriksaan bahwa pengguna secara eksplisit disetujui:
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)
Gunakan kembali AgentSession yang sama saat mengirim hasil. Anda juga dapat memberikan cuplikan layar dengan Content.from_uri(...) atau Content.from_hosted_file(...). Respons OpenAI dan Foundry memerlukan cuplikan layar meskipun jenis hasil bersama memungkinkan penyedia untuk menghilangkannya.
Tipe ComputerSafetyCheck serta konstruktor Content.from_computer_tool_call(...) dan Content.from_computer_tool_result(...) adalah API eksperimental Agent Framework. Panggilan dan hasil dapat dipertahankan dengan Content.to_dict() dan dipulihkan dengan Content.from_dict().
Perilaku alur kerja
Saat alur kerja dijeda untuk input bawaan komputer, Agent Framework menyimpan ID panggilan, urutan tindakan, dan pemeriksaan keamanan yang masih tertunda pada setiap checkpoint. Jika panggilan fungsi lokal selesai dalam batch yang sama, hasilnya akan dikembalikan bersama hasil komputasi dalam urutan panggilan asli.
Jika satu permintaan untuk komputer tertentu dalam batch tertunda milik agen dibatalkan, permintaan lainnya dalam batch tersebut juga akan dibatalkan. Hasil yang telah selesai tetap ditampilkan di output terminal, dan giliran berikutnya dimulai dengan sesi agen baru.