استخدام الكمبيوتر الأصلي

يتيح استخدام الكمبيوتر الأصلي لنموذج الاستجابات إجراءات سطح المكتب أو المستعرض المطلوبة. يمتلك التطبيق الخاص بك بيئة التنفيذ، ويعرض عمليات التحقق من الأمان للموافقة عليها، وينفذ الإجراءات، ويلتقط لقطة شاشة، ويعيد النتيجة إلى النموذج.

يعرض العملاء Python التاليون الأداة الأصلية:

Client مصنع ملاحظات
OpenAIChatClient get_computer_tool() يستخدم واجهة برمجة تطبيقات استجابات OpenAI.
FoundryChatClient get_computer_tool() azure-ai-projects يتطلب 2.3.0 أو أحدث.

FoundryChatClient.get_computer_use_tool(...) هي واجهة برمجة تطبيقات معاينة منفصلة. للحصول على خيارات التكوين الخاصة به، راجع موفر نموذج Microsoft Foundry.

أضف الأداة إلى وكيل

إنشاء أداة الموفر وتمريرها إلى العامل:

from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient

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

يقوم النموذج بإرجاع عنصر Content مع type="computer_tool_call". يتضمن العنصر ما يلي:

  • عنصر id و مميز call_id.
  • قائمة مرتبة actions .
  • اختياري pending_safety_checks.

تظهر المكالمات غير المغفور لها في AgentResponse.user_input_requests. عرض الإجراءات والتحذيرات للمستخدم قبل تنفيذ التطبيق الخاص بك لأي شيء. لا يقر إطار العمل أبدا بفحوصات السلامة تلقائيا.

إرجاع النتيجة

بعد تنفيذ التطبيق للإجراءات المعتمدة، قم بإرجاع لقطة شاشة في رسالة أداة. يفترض request الجزء التالي أن هو طلب الكمبيوتر، screenshot_bytes وهو PNG تم التقاطه بواسطة بيئة التنفيذ الخاصة بك، confirmed_checks ويحتوي فقط على عمليات التحقق التي وافق عليها المستخدم صراحة:

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)

أعد استخدام نفس الشيء AgentSession عند إرسال النتيجة. يمكنك أيضا توفير لقطة الشاشة مع Content.from_uri(...) أو Content.from_hosted_file(...). تتطلب OpenAI واستجابات Foundry لقطة شاشة على الرغم من أن نوع النتيجة المشتركة يسمح للموفرين بحذف واحدة.

ComputerSafetyCheck النوع والمنشئات Content.from_computer_tool_result(...)Content.from_computer_tool_call(...) هي واجهات برمجة تطبيقات إطار عمل العامل التجريبية. يمكن الاحتفاظ بالمكالمات والنتائج واستعادتها باستخدام Content.to_dict()Content.from_dict().

سلوك سير العمل

عندما يتوقف سير العمل مؤقتا لإدخال الكمبيوتر الأصلي، يحافظ Agent Framework على معرف المكالمة وترتيب الإجراء وعمليات التحقق من الأمان المعلقة عبر نقاط التحقق. إذا اكتملت استدعاءات الدالة المحلية في نفس الدفعة، يتم إرجاع نتائجها مع نتيجة الكمبيوتر في ترتيب المكالمة الأصلي.

إذا تم إلغاء طلب كمبيوتر واحد في الدفعة المعلقة للعامل، يتم أيضا إلغاء الطلبات المتبقية في تلك الدفعة. تظل النتائج المكتملة بالفعل في إخراج المحطة الطرفية، ويبدأ الدور التالي بجلسة عامل جديدة.