إنفيديا تطلق Switchyard: وسيط بلغة Rust يترجم بين واجهتي OpenAI و Anthropic
أطلقت NVIDIA أداة Switchyard برخصة Apache 2.0، وهي وسيط ومكتبة بلغة Rust توجّه حركة النماذج اللغوية وتترجم بين صيغتي OpenAI و Anthropic.
أطلقت NVIDIA أداة Switchyard برخصة Apache 2.0، وهي وسيط (Proxy) ومكتبة مكتوبة بلغة Rust لحركة النماذج اللغوية الكبيرة (LLM). توجّه الأداة الطلبات بين المزوّدين، وتترجم بين صيغتي OpenAI و Anthropic، وتسجّل مؤشرات التشغيل، وتوفّر خوارزميات توجيه ذات أنواع محددة وقابلة للتركيب. التوثيق متاح على docs.nvidia.com/nemo/switchyard.
المشكلة معروفة لدى الفرق التي تشغّل وكلاء البرمجة: أداة Claude Code تتحدث واجهة Anthropic Messages، وأداة Codex CLI تتحدث واجهة OpenAI، بينما النموذج الذي يريد الفريق تشغيله فعلياً يقع خلف vLLM أو NVIDIA NIM أو Ollama. وإعادة كتابة الوكيل ليست خياراً، لذا يجب أن تعمل طبقة الترجمة في موضع آخر.
طريقة العمل
يحتفظ العميل بواجهته الأصلية. يفكّ Switchyard الطلب الوارد إلى أنواع Rust محايدة تجاه المزوّد، ثم يشغّل خوارزمية توجيه لاختيار الخدمة الخلفية، ويعيد ترميز الطلب بصيغة تلك الخدمة، ويستدعيها، ثم يترجم الرد، بما في ذلك أحداث البث، إلى الشكل الذي يتوقعه العميل.
يقبل الخادم ثلاث صيغ واردة: OpenAI Chat Completions و OpenAI Responses و Anthropic Messages، وأي منها يمكن أن يخاطب أي مسار. المسار الواحد هو معرّف نموذج ظاهر للعميل مع الخوارزمية التي تقف خلفه. أما strong و weak و capable و efficient فهي أدوار داخل المسار لا خصائص ثابتة للنموذج، ويمكن للنموذج ذاته أن يؤدي أدواراً مختلفة في مسارات مختلفة.
هناك ثلاثة مسارات للتثبيت: مشغّل عبر uv tool install ينفّذ switchyard launch claude أو codex أو openclaw، ووسيط مستقل عبر cargo install --locked switchyard-server مع التحقق من الإعدادات بخيار --dry-run، ومكتبة switchyard-libsy التي تضمّن خوارزميات التوجيه دون امتلاك طبقة HTTP.
المؤشرات والإعداد
يعيد المسار GET /metrics نص Prometheus من مزوّد OpenTelemetry، ويغطي الطلبات والأخطاء وزمن الاستجابة وعائلات الرموز. ويُبلّغ switchyard_routing_overhead_ms عن زمن تشغيل الخوارزمية بعد خصم الاستدعاء الذي خدم الطلب، وتبدأ الفئات من 0.1 ميلي ثانية. ويتكوّن ملف الإعداد بصيغة TOML من ثلاث طبقات: llm_clients و targets و routes. لا تُخزَّن الأسرار في الملف، إذ يذكر api_key_env اسم متغير بيئة فقط، وقيمة max_retries الافتراضية 2 وتنطبق على أعطال النقل ومهل الانتظار وردود HTTP 408/429 و 5xx.
تصنّف NVIDIA الأداة بأنها ما قبل ألفا وتجريبية، وتحذّر من استخدامها في بيئات الإنتاج، وتتوقع تغييرات كبيرة في الواجهة والخوارزميات قبل الإصدار 1.0. التفاصيل في تقرير MarkTechPost.