Skip to main content
Rig هي مكتبة Rust لبناء تطبيقات ووكلاء نماذج اللغة الكبيرة. اعتبارًا من الإصدار 0.42، تأتي Rig مع موفّر venice أصلي — إتمامات المحادثة، والبث، والأدوات، والمخرجات المُهيكلة، والتضمينات، والتفريغ الصوتي، وتوليد الصور، والكلام — موصولةً بواجهة برمجة تطبيقات Venice مباشرةً بدلًا من تمريرها عبر عميل OpenAI. إذا كنت تريد وسيط Axum خامًا بدلًا من إطار عمل وكلاء، راجع بناء بوابة LLM بلغة Rust.

المتطلبات الأساسية

  • سلسلة أدوات Rust مستقرة حديثة (يستخدم Rig 0.42 إصدار 2024)
  • Rig 0.42 أو أحدث
  • مفتاح Venice API

الإعداد

أضف مفتاح Venice API إلى البيئة. اختياريًا، يمكنك تجاوز مضيف API عبر VENICE_BASE_URL (يستخدم الموفّر افتراضيًا https://api.venice.ai/api/v1):
احتفظ بمفاتيح API خارج نظام إدارة الشيفرة. يُفضَّل استخدام متغيرات البيئة أو مدير أسرار في الإنتاج.

تهيئة عميل Venice

يقرأ venice::Client::from_env() قيمة VENICE_API_KEY. أدرج ProviderClient ضمن النطاق:
يُفضَّل استخدام venice::Client بدلًا من توجيه عميل OpenAI في Rig نحو Venice. العميل الافتراضي openai::Client يستهدف واجهة Responses API من OpenAI. أما موفّر Venice فيتحدث لغة /chat/completions ويكشف VeniceParameters.
تأخذ المقتطفات أدناه &venice::Client من from_env(). ثوابت الحزمة مثل venice::QWEN3_5_9B هي نقطة بداية — تحقق من المعرّفات الحالية عبر GET /models.

بث الاستجابة

يُرجع stream_prompt طلبًا يمكنك استخدام .await عليه للحصول على تدفق. استخدم rig::agent::stream_to_stdout لطباعة الرموز فور وصولها:
لا تُضف ? بعد .await على stream_prompt — فهي تُنتج التدفق مباشرةً، وليس Result.

المخرجات المُهيكلة

استخدم مُستخرِجًا (extractor) مع نوع JsonSchema للتحقق من صحة إجابة النموذج:
تصفّح النماذج التي تدعم الاستجابات المُهيكلة واستدعاء الدوال قبل الاعتماد على الاستخراج المستند إلى الأدوات في الإنتاج.

الأدوات

عرِّف أداة باستخدام #[rig_tool] (المُضمَّنة مع ميزة derive الافتراضية في Rig). النوع المُولَّد هو اسم الدالة بصيغة PascalCase:
يمكنك أيضًا تنفيذ rig::tool::Tool يدويًا عندما تحتاج إلى أنواع وسيطات مخصّصة أو معالجة مخصّصة للأخطاء. راجع توثيق الأدوات في Rig.

التضمينات

تحترم Venice حقل dimensions في OpenAI. استخدم embedding_model_with_ndims عندما تريد عرضًا محددًا بدلًا من الحجم الأصلي للنموذج.

المعاملات الخاصة بـ Venice

مرِّر الخيارات الخاصة بـ Venice عبر VeniceParameters وادمجها مع additional_params. على سبيل المثال، لتفعيل البحث المدمج على الويب:
للاحتفاظ باستشهادات البحث على الويب (وكتلة cost لكل طلب)، استدعِ raw_completion على نموذج الإتمام. فمسار الوكيل المُطبَّع يُسقط تلك الحقول الخاصة بـ Venice:
يغطي VeniceParameters أيضًا مُعرِّفات الشخصيات (character slugs)، وضوابط التفكير، وكشط الويب، والبحث في X، وما إذا كان يجب تضمين موجّه النظام الافتراضي في Venice. راجع مواصفات API للاطلاع على القائمة الكاملة لـ venice_parameters.

قدرات أخرى

يقود venice::Client نفسه أيضًا:
  • التفريغ الصوتيclient.transcription_model(venice::WHISPER_LARGE_V3)
  • توليد الصورclient.image_generation_model(...) (فعِّل ميزة image في Rig)
  • الكلامclient.audio_generation_model(venice::TTS_KOKORO) (فعِّل ميزة audio في Rig)
الفيديو، والموسيقى، وتحرير الصور، و /augment/*، و crypto RPC ليس لها سمة (trait) في Rig وغير مغلفة. استدعِ نقاط نهاية Venice تلك مباشرةً.

ميزة الخصوصية

كثيرًا ما تُستخدم Rig لوكلاء يتعاملون مع بيانات التطبيق، أو سياق المستخدم، أو الأدوات الداخلية. اقترانها بـ Venice يُبقي هذا العمل ضمن استدلال خاص وغير خاضع للرقابة:
  • عدم الاحتفاظ بالبيانات على النماذج الخاصة — لا يُحتفظ بالموجّهات وحمولات الأدوات بعد الطلب
  • تحليل غير خاضع للرقابة عندما يحتاج الوكلاء إلى نقد صريح أو اختبار اختراق (red-teaming)
  • موفّر أصلي مدمج حتى لا تضطر إلى إعادة ربط أنواع OpenAI بلهجة Venice

استكشاف الأخطاء وإصلاحها

تأكّد من ضبط VENICE_API_KEY في العملية التي تشغّل الوكيل. أعد تشغيل الصدفة أو العملية بعد تغيير متغيرات البيئة. لا يقرأ from_env() قيمة OPENAI_API_KEY.
استخدم مُعرِّف نموذج حديثًا من صفحة النماذج أو GET /models. قد تتأخر ثوابت الحزمة مثل venice::QWEN3_5_9B عن الكتالوج المباشر.
استخدم venice::Client، وليس openai::Client. عميل OpenAI يستهدف افتراضيًا Responses API، وهي في مرحلة ألفا فقط على Venice.
اختر نموذجًا يدعم استدعاء الدوال، ووضّح متى ينبغي تشغيل الأدوات في التمهيد (preamble)، واحرص على أن تكون أوصاف الأدوات دقيقة — إذ تبني Rig مخططات JSON من توقيعات #[rig_tool] والتوثيق.

توثيق Rig

الوكلاء، والأدوات، والمُستخرِجات، والموفّرون

نماذج Venice

تصفّح النماذج والقدرات المدعومة