الانتقال إلى المحتوى الرئيسي

نظرة عامة

يتكامل CrewAI مع مزودي LLM متعددين من خلال حزم SDK الأصلية للمزودين، مما يمنحك المرونة لاختيار النموذج المناسب لحالة الاستخدام الخاصة بك. سيساعدك هذا الدليل على فهم كيفية إعداد واستخدام مزودي LLM المختلفين في مشاريع CrewAI.

ما هي نماذج اللغة الكبيرة؟

نماذج اللغة الكبيرة (LLMs) هي الذكاء الأساسي وراء وكلاء CrewAI. تمكّن الوكلاء من فهم السياق واتخاذ القرارات وتوليد استجابات شبيهة بالبشر. إليك ما تحتاج معرفته:

أساسيات LLM

نماذج اللغة الكبيرة هي أنظمة ذكاء اصطناعي مدربة على كميات هائلة من البيانات النصية. تدعم ذكاء وكلاء CrewAI، مما يمكّنهم من فهم وتوليد نصوص شبيهة بالبشر.

نافذة السياق

تحدد نافذة السياق مقدار النص الذي يمكن لـ LLM معالجته في وقت واحد. النوافذ الأكبر (مثل 128K رمز) تتيح سياقًا أكثر لكنها قد تكون أكثر تكلفة وأبطأ.

درجة الحرارة

تتحكم درجة الحرارة (0.0 إلى 1.0) في عشوائية الاستجابة. القيم المنخفضة (مثل 0.2) تنتج مخرجات أكثر تركيزًا وحتمية، بينما القيم الأعلى (مثل 0.8) تزيد الإبداع والتنوع.

اختيار المزود

يقدم كل مزود LLM (مثل OpenAI و Anthropic و Google) نماذج مختلفة بقدرات وأسعار وميزات متفاوتة. اختر بناءً على احتياجاتك من الدقة والسرعة والتكلفة.

إعداد LLM الخاص بك

هناك أماكن مختلفة في كود CrewAI حيث يمكنك تحديد النموذج المُستخدم. بمجرد تحديد النموذج، ستحتاج إلى توفير الإعداد (مثل مفتاح API) لكل مزود نموذج تستخدمه. انظر قسم أمثلة إعداد المزودين لمزودك.
أبسط طريقة للبدء. عيّن النموذج في بيئتك مباشرة، من خلال ملف .env أو في كود تطبيقك. إذا استخدمت crewai create لبدء مشروعك، سيكون مُعيّنًا بالفعل.
.env
لا تقم أبدًا بتأكيد مفاتيح API في التحكم بالإصدارات. استخدم ملفات البيئة (.env) أو إدارة أسرار نظامك.
يوفر CrewAI تكاملات SDK أصلية لـ OpenAI و Anthropic و Google (Gemini API) و Azure و AWS Bedrock و Snowflake Cortex — لا حاجة لتثبيت إضافي بخلاف الملحقات الخاصة بالمزود (مثل uv add "crewai[openai]").جميع المزودين الآخرين مدعومون بواسطة LiteLLM. إذا كنت تخطط لاستخدام أي منهم، أضفه كتبعية لمشروعك:

أمثلة إعداد المزودين

يدعم CrewAI العديد من مزودي LLM، كل منهم يقدم ميزات فريدة وطرق مصادقة وقدرات نماذج. في هذا القسم، ستجد أمثلة مفصلة تساعدك في اختيار وإعداد وتحسين LLM الأنسب لاحتياجات مشروعك.
يوفر CrewAI تكاملًا أصليًا مع OpenAI من خلال OpenAI Python SDK.
Code
الاستخدام الأساسي:
Code
الإعداد المتقدم:
Code
المخرجات المهيكلة:
Code
متغيرات البيئة المدعومة:
  • OPENAI_API_KEY: مفتاح OpenAI API (مطلوب)
  • OPENAI_BASE_URL: عنوان URL مخصص لـ OpenAI API (اختياري)
الميزات:
  • دعم استدعاء الدوال الأصلي (باستثناء نماذج o1)
  • مخرجات منظمة مع JSON schema
  • دعم البث للاستجابات في الوقت الفعلي
  • تتبع استخدام الرموز
  • دعم تسلسلات التوقف (باستثناء نماذج o1)
  • احتمالات السجل لرؤى على مستوى الرموز
  • التحكم في جهد الاستدلال لنماذج o1
النماذج المدعومة:Responses API:تقدم OpenAI واجهتي API: Chat Completions (الافتراضية) و Responses API الأحدث. تم تصميم Responses API من الأساس مع دعم أصلي متعدد الوسائط — النص والصور والصوت واستدعاءات الدوال كلها مكوّنات أساسية. توفر أداءً أفضل مع نماذج الاستدلال وتدعم ميزات إضافية مثل السلسلة التلقائية والأدوات المدمجة.
Code
معاملات Responses API:
  • api: عيّن إلى "responses" لاستخدام Responses API (الافتراضي: "completions")
  • instructions: تعليمات على مستوى النظام (Responses API فقط)
  • store: ما إذا كان يجب تخزين الاستجابات للمحادثات متعددة الأدوار
  • previous_response_id: معرّف الاستجابة السابقة للمحادثات متعددة الأدوار
  • include: بيانات إضافية لتضمينها في الاستجابة (مثل ["reasoning.encrypted_content"])
  • builtin_tools: قائمة أدوات OpenAI المدمجة: "web_search", "file_search", "code_interpreter", "computer_use"
  • parse_tool_outputs: إعادة ResponsesAPIResult منظمة مع مخرجات أدوات مدمجة محللة
  • auto_chain: تتبع واستخدام معرّفات الاستجابة تلقائيًا للمحادثات متعددة الأدوار
  • auto_chain_reasoning: تتبع عناصر الاستدلال المشفرة للامتثال لـ ZDR
استخدم Responses API للمشاريع الجديدة، خاصة عند العمل مع نماذج الاستدلال (o1, o3, o4) أو عندما تحتاج دعمًا أصليًا متعدد الوسائط لـ الملفات.
ملاحظة: لاستخدام OpenAI، ثبّت التبعيات المطلوبة:
توفر Meta Llama API الوصول إلى عائلة نماذج اللغة الكبيرة من Meta. الـ API متاحة عبر Meta Llama API. عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
جميع النماذج المدرجة هنا https://llama.developer.meta.com/docs/models/ مدعومة.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
يوفر CrewAI تكاملًا أصليًا مع Snowflake Cortex REST API عبر endpoint Chat Completions المتوافق مع OpenAI. تستخدم نماذج snowflake/... هذا المسار بدون fallback إلى LiteLLM. يدعم Snowflake Cortex في CrewAI حاليًا Chat Completions فقط، لذلك استخدم وضع api الافتراضي ولا تضبط api="responses".
Code
الاستخدام الأساسي:
Code
نماذج Claude على Cortex:
Code
متغيرات البيئة المدعومة:
  • SNOWFLAKE_PAT أو SNOWFLAKE_TOKEN أو SNOWFLAKE_JWT: الرمز المستخدم كاعتماد Bearer
  • SNOWFLAKE_ACCOUNT_URL: عنوان URL الكامل لحساب Snowflake
  • SNOWFLAKE_ACCOUNT أو SNOWFLAKE_ACCOUNT_ID أو SNOWFLAKE_ACCOUNT_IDENTIFIER: معرف الحساب المستخدم لبناء URL
تستخدم طلبات Snowflake REST الدور الافتراضي للمستخدم. تأكد من أن هذا الدور لديه SNOWFLAKE.CORTEX_USER أو SNOWFLAKE.CORTEX_REST_API_USER. لا يتطلب endpoint Cortex REST Chat Completions معاملات database أو schema أو warehouse أو role صريح.الميزات:
  • اختيار provider أصلي باستخدام model="snowflake/<model-name>"
  • Chat Completions مع streaming وبدونه فقط؛ api="responses" غير مدعوم
  • تتبع استخدام الرموز
  • استدعاء الدوال لنماذج OpenAI و Claude المستضافة في Snowflake
  • إزالة assistant prefill النهائي غير الصالح تلقائيًا لنماذج Claude في Snowflake
يوفر CrewAI تكاملًا أصليًا مع Anthropic من خلال Anthropic Python SDK.
Code
الاستخدام الأساسي:
Code
الإعداد المتقدم:
Code
التفكير الموسّع (Claude Sonnet 4 وما بعده):يدعم CrewAI ميزة التفكير الموسّع من Anthropic، التي تتيح لـ Claude التفكير في المشكلات بطريقة أكثر شبهًا بالبشر قبل الاستجابة. مفيد بشكل خاص لمهام الاستدلال والتحليل وحل المشكلات المعقدة.
Code
خيارات إعداد التفكير:
  • type: عيّن إلى "enabled" لتفعيل وضع التفكير الموسّع
  • budget_tokens (اختياري): أقصى رموز للتفكير (يساعد في التحكم بالتكاليف)
النماذج التي تدعم التفكير الموسّع:
  • claude-sonnet-4 والنماذج الأحدث
  • claude-3-7-sonnet (مع قدرات التفكير الموسّع)
متى تستخدم التفكير الموسّع:
  • الاستدلال المعقد وحل المشكلات متعددة الخطوات
  • الحسابات الرياضية والبراهين
  • تحليل الكود وتصحيح الأخطاء
  • التخطيط الاستراتيجي واتخاذ القرارات
  • البحث والمهام التحليلية
ملاحظة: يستهلك التفكير الموسّع رموزًا إضافية لكنه يمكن أن يحسّن جودة الاستجابة بشكل كبير للمهام المعقدة.متغيرات البيئة المدعومة:
  • ANTHROPIC_API_KEY: مفتاح Anthropic API (مطلوب)
الميزات:
  • دعم استخدام الأدوات الأصلي لنماذج Claude 3+
  • دعم التفكير الموسّع لـ Claude Sonnet 4+
  • دعم البث للاستجابات في الوقت الفعلي
  • معالجة تلقائية لرسائل النظام
  • تسلسلات التوقف للتحكم في المخرجات
  • تتبع استخدام الرموز
  • محادثات استخدام أدوات متعددة الأدوار
ملاحظات مهمة:
  • max_tokens معامل مطلوب لجميع نماذج Anthropic
  • يستخدم Claude stop_sequences بدلاً من stop
  • يتم التعامل مع رسائل النظام بشكل منفصل عن رسائل المحادثة
  • يجب أن تكون الرسالة الأولى من المستخدم (يتم التعامل معها تلقائيًا)
  • يجب أن تتناوب الرسائل بين المستخدم والمساعد
النماذج المدعومة:ملاحظة: لاستخدام Anthropic، ثبّت التبعيات المطلوبة:
يوفر CrewAI تكاملًا أصليًا مع Google Gemini من خلال Google Gen AI Python SDK.عيّن مفتاح API في ملف .env. إذا كنت بحاجة إلى مفتاح، تحقق من AI Studio.
.env
الاستخدام الأساسي:
Code
الإعداد المتقدم:
Code
وضع Vertex AI Express (مصادقة بمفتاح API):يتيح لك وضع Vertex AI Express استخدام Vertex AI مع مصادقة بسيطة بمفتاح API بدلاً من بيانات اعتماد حساب الخدمة. هذه أسرع طريقة للبدء مع Vertex AI.لتفعيل وضع Express، عيّن متغيري البيئة في ملف .env:
.env
ثم استخدم LLM كالمعتاد:
Code
للحصول على مفتاح API لوضع Express:لمزيد من التفاصيل، انظر وثائق وضع Vertex AI Express.
إعداد Vertex AI (حساب خدمة):
Code
متغيرات البيئة المدعومة:
  • GOOGLE_API_KEY أو GEMINI_API_KEY: مفتاح Google API (مطلوب لـ Gemini API ووضع Vertex AI Express)
  • GOOGLE_GENAI_USE_VERTEXAI: عيّن إلى true لاستخدام Vertex AI (مطلوب لوضع Express)
  • GOOGLE_CLOUD_PROJECT: معرّف مشروع Google Cloud (لـ Vertex AI مع حساب خدمة)
  • GOOGLE_CLOUD_LOCATION: موقع GCP (الافتراضي us-central1)
الميزات:
  • دعم استدعاء الدوال الأصلي لنماذج Gemini 1.5+ و 2.x
  • دعم البث للاستجابات في الوقت الفعلي
  • قدرات متعددة الوسائط (نص، صور، فيديو)
  • إعداد إعدادات الأمان
  • دعم لكل من Gemini API و Vertex AI
  • معالجة تلقائية لتعليمات النظام
  • تتبع استخدام الرموز
نماذج Gemini:ملاحظة: لاستخدام Google Gemini، ثبّت التبعيات المطلوبة:
القائمة الكاملة للنماذج متاحة في وثائق نماذج Gemini.
احصل على بيانات الاعتماد من Google Cloud Console واحفظها في ملف JSON، ثم حمّلها بالكود التالي:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
يوفر CrewAI تكاملًا أصليًا مع Azure AI Inference و Azure OpenAI من خلال Azure AI Inference Python SDK.
Code
الاستخدام الأساسي:
Code
ملاحظة: لاستخدام Azure AI Inference، ثبّت التبعيات المطلوبة:
يوفر CrewAI تكاملًا أصليًا مع AWS Bedrock من خلال boto3 SDK باستخدام Converse API.
Code
الاستخدام الأساسي:
Code
الإعداد المتقدم:
Code
متغيرات البيئة المدعومة:
  • AWS_ACCESS_KEY_ID: مفتاح وصول AWS (مطلوب)
  • AWS_SECRET_ACCESS_KEY: مفتاح AWS السري (مطلوب)
  • AWS_SESSION_TOKEN: رمز جلسة AWS لبيانات الاعتماد المؤقتة (اختياري)
  • AWS_DEFAULT_REGION: منطقة AWS (الافتراضي us-east-1)
  • AWS_REGION_NAME: منطقة AWS (الافتراضي us-east-1). إعداد بديل للتوافق مع LiteLLM
الميزات:
  • دعم استدعاء الأدوات الأصلي عبر Converse API
  • استجابات بث وبدون بث
  • معالجة أخطاء شاملة مع منطق إعادة المحاولة
  • إعداد حواجز الحماية لتصفية المحتوى
  • معاملات خاصة بالنموذج عبر additional_model_request_fields
  • تتبع استخدام الرموز وتسجيل سبب التوقف
  • دعم جميع نماذج Bedrock الأساسية
  • معالجة تلقائية لتنسيق المحادثة
ملاحظات مهمة:
  • يستخدم Converse API الحديث للوصول الموحد للنماذج
  • معالجة تلقائية لمتطلبات المحادثة الخاصة بالنموذج
  • يتم التعامل مع رسائل النظام بشكل منفصل عن المحادثة
  • يجب أن تكون الرسالة الأولى من المستخدم (يتم التعامل معها تلقائيًا)
  • بعض النماذج (مثل Cohere) تتطلب أن تنتهي المحادثة برسالة المستخدم
Amazon Bedrock هو خدمة مُدارة توفر الوصول إلى نماذج أساسية متعددة من أبرز شركات الذكاء الاصطناعي عبر واجهة API موحدة.ملاحظة: لاستخدام AWS Bedrock، ثبّت التبعيات المطلوبة:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
يوفر Nvidia NIM مجموعة شاملة من النماذج لحالات الاستخدام المتنوعة، من المهام ذات الأغراض العامة إلى التطبيقات المتخصصة.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
يتيح لك NVIDIA NIM تشغيل نماذج LLM قوية محليًا على جهاز Windows باستخدام WSL2 (نظام Windows الفرعي لـ Linux). يتيح لك هذا النهج الاستفادة من وحدة GPU من NVIDIA لاستدلال ذكاء اصطناعي خاص وآمن وفعال من حيث التكلفة دون الاعتماد على الخدمات السحابية. مثالي لسيناريوهات التطوير والاختبار أو الإنتاج حيث تكون خصوصية البيانات أو القدرات غير المتصلة مطلوبة.إليك دليلًا خطوة بخطوة لإعداد نموذج NVIDIA NIM محلي:
  1. اتبع تعليمات التثبيت من موقع NVIDIA
  2. ثبّت النموذج المحلي. لـ Llama 3.1-8b اتبع التعليمات
  3. أعدّ نماذج crewai المحلية:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
  1. ثبّت Ollama: ollama.ai
  2. شغّل نموذجًا: ollama run llama3
  3. أعدّ:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ميزات Cerebras:
  • سرعات استدلال عالية
  • أسعار تنافسية
  • توازن جيد بين السرعة والجودة
  • دعم نوافذ سياق طويلة
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
نماذج Open Router:
  • openrouter/deepseek/deepseek-r1
  • openrouter/deepseek/deepseek-chat
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
عيّن متغيرات البيئة التالية في ملف .env:
Code
مثال الاستخدام في مشروع CrewAI:
Code
ميزات Nebius AI Studio:
  • مجموعة كبيرة من النماذج مفتوحة المصدر
  • حدود معدل أعلى
  • أسعار تنافسية
  • توازن جيد بين السرعة والجودة
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:

بث الاستجابات

يدعم CrewAI بث الاستجابات من LLMs، مما يتيح لتطبيقك تلقي ومعالجة المخرجات في الوقت الفعلي فور توليدها.
فعّل البث بتعيين معامل stream إلى True عند تهيئة LLM:
عند تفعيل البث، يتم تسليم الاستجابات في أجزاء فور توليدها، مما يخلق تجربة مستخدم أكثر استجابة.

استدعاءات LLM غير المتزامنة

يدعم CrewAI استدعاءات LLM غير المتزامنة لأداء وتزامن محسّنين في سير عمل الذكاء الاصطناعي. تتيح لك الاستدعاءات غير المتزامنة تشغيل طلبات LLM متعددة بشكل متزامن دون حجب، مما يجعلها مثالية لتطبيقات الإنتاجية العالية وعمليات الوكلاء المتوازية.
استخدم دالة acall لطلبات LLM غير المتزامنة:
تدعم دالة acall جميع المعاملات نفسها كدالة call المتزامنة، بما في ذلك الرسائل والأدوات ودوال الاسترجاع.

استدعاءات LLM المهيكلة

يدعم CrewAI الاستجابات المهيكلة من استدعاءات LLM من خلال السماح لك بتحديد response_format باستخدام نموذج Pydantic. يمكّن هذا الإطار من تحليل المخرجات والتحقق منها تلقائيًا، مما يسهّل دمج الاستجابة في تطبيقك دون معالجة لاحقة يدوية.
Code

الميزات المتقدمة والتحسين

تعلّم كيفية الاستفادة القصوى من إعداد LLM:
يتضمن CrewAI ميزات إدارة سياق ذكية:
أفضل الممارسات لإدارة السياق:
  1. اختر نماذج بنوافذ سياق مناسبة
  2. عالج المدخلات الطويلة مسبقًا عند الإمكان
  3. استخدم التقسيم للمستندات الكبيرة
  4. راقب استخدام الرموز لتحسين التكاليف
1

تحسين استخدام الرموز

اختر نافذة السياق المناسبة لمهمتك:
  • المهام الصغيرة (حتى 4K رمز): النماذج القياسية
  • المهام المتوسطة (بين 4K-32K): النماذج المحسّنة
  • المهام الكبيرة (أكثر من 32K): نماذج السياق الكبير
  • درجة حرارة منخفضة (0.1 إلى 0.3) للاستجابات الواقعية
  • درجة حرارة عالية (0.7 إلى 0.9) للمهام الإبداعية
2

أفضل الممارسات

  1. راقب استخدام الرموز
  2. نفّذ تحديد المعدل
  3. استخدم التخزين المؤقت عند الإمكان
  4. عيّن حدود max_tokens مناسبة
تذكّر مراقبة استخدام الرموز بانتظام وضبط إعداداتك حسب الحاجة لتحسين التكاليف والأداء.
يستخدم CrewAI داخليًا حزم SDK أصلية لاستدعاءات LLM، مما يتيح لك إسقاط معاملات إضافية غير مطلوبة لحالة الاستخدام الخاصة بك. يمكن أن يساعد هذا في تبسيط كودك وتقليل تعقيد إعداد LLM.
يوفر CrewAI معترضات رسائل لعدة مزودين، مما يتيح لك الربط بدورات الطلب/الاستجابة على مستوى طبقة النقل.المزودون المدعومون:
  • OpenAI
  • Anthropic
الاستخدام الأساسي:
ملاحظات مهمة:
  • يجب على كلتا الدالتين إعادة الكائن المستلم أو نوعه.
  • تعديل الكائنات المستلمة قد يؤدي إلى سلوك غير متوقع أو أعطال في التطبيق.
  • ليس كل المزودين يدعمون المعترضات — تحقق من قائمة المزودين المدعومين أعلاه
تعمل المعترضات على مستوى طبقة النقل. مفيدة بشكل خاص لـ:
  • تحويل الرسائل وتصفيتها
  • تصحيح تفاعلات API

المشاكل الشائعة والحلول

يمكن حل معظم مشاكل المصادقة بالتحقق من تنسيق مفتاح API وأسماء متغيرات البيئة.