tools / tool_choice بأسلوب OpenAI مع كل مزوّد يدعم المحادثة.
تترجم البوابة هذا إلى الشكل الأصلي لاستدعاء الأدوات لدى المصدر الأعلى.
مثال مختصر
السلوك عبر المزوّدين
تعمل نفس شيفرة العميل عبر كل مزوّد يدعم المحادثة — يقوم OrcaRouter بتكييفtools بأسلوب OpenAI مع الشكل الأصلي لكل مصدر أعلى:
- OpenAI / Grok / DeepSeek: هدف أصلي — تحتفظ
toolsبشكل OpenAI على السلك - Anthropic: تُحوَّل
toolsالخاصة بـ OpenAI إلىtoolsالخاصة بـ Anthropic معinput_schema، مع الحفاظ علىpropertiesوrequiredلـ JSON Schema - Gemini: تُحوَّل
toolsالخاصة بـ OpenAI إلىtools[].functionDeclarationsلـ Gemini، مع نقلname/description/parameters
أسماء الدوال المحجوزة في Gemini
على أهداف Gemini، تتعرّف البوابة على ثلاث قيم محجوزة لـfunction.name وتحوّلها إلى أدوات Gemini المدمجة الأصلية بدلاً من
تصريحات دوال مخصصة:
| الاسم المحجوز | يُربط مع |
|---|---|
googleSearch | تأريض بحث Google في Gemini (راجع البحث على الويب) |
codeExecution | تنفيذ التعليمات البرمجية المدمج في Gemini |
urlContext | أداة سياق الـ URL المدمجة في Gemini |
parameters — مرّر
{type: "function", function: {name: "googleSearch"}} وستتولى Gemini
الباقي. اختر اسماً مختلفاً لأدواتك المخصصة حتى لا تتعارض مع هذه
الأدوات المدمجة.