نظرة عامة
يتكامل 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) لكل مزود نموذج تستخدمه. انظر قسم أمثلة إعداد المزودين لمزودك.- 1. متغيرات البيئة
- 2. إعداد YAML
- 3. كود مباشر
أبسط طريقة للبدء. عيّن النموذج في بيئتك مباشرة، من خلال ملف
.env أو في كود تطبيقك. إذا استخدمت crewai create لبدء مشروعك، سيكون مُعيّنًا بالفعل..env
يوفر CrewAI تكاملات SDK أصلية لـ OpenAI و Anthropic و Google (Gemini API) و Azure و AWS Bedrock و Snowflake Cortex — لا حاجة لتثبيت إضافي بخلاف الملحقات الخاصة بالمزود (مثل
uv add "crewai[openai]").جميع المزودين الآخرين مدعومون بواسطة LiteLLM. إذا كنت تخطط لاستخدام أي منهم، أضفه كتبعية لمشروعك:أمثلة إعداد المزودين
يدعم CrewAI العديد من مزودي LLM، كل منهم يقدم ميزات فريدة وطرق مصادقة وقدرات نماذج. في هذا القسم، ستجد أمثلة مفصلة تساعدك في اختيار وإعداد وتحسين LLM الأنسب لاحتياجات مشروعك.OpenAI
OpenAI
يوفر CrewAI تكاملًا أصليًا مع OpenAI من خلال OpenAI Python SDK.الاستخدام الأساسي:الإعداد المتقدم:المخرجات المهيكلة:متغيرات البيئة المدعومة:معاملات Responses API:
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
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
Meta-Llama
Meta-Llama
توفر Meta Llama API الوصول إلى عائلة نماذج اللغة الكبيرة من Meta.
الـ API متاحة عبر Meta Llama API.
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:جميع النماذج المدرجة هنا https://llama.developer.meta.com/docs/models/ مدعومة.
.env:Code
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
Snowflake Cortex
Snowflake Cortex
يوفر CrewAI تكاملًا أصليًا مع Snowflake Cortex REST API عبر endpoint Chat Completions المتوافق مع OpenAI. تستخدم نماذج الاستخدام الأساسي:نماذج Claude على Cortex:متغيرات البيئة المدعومة:
snowflake/... هذا المسار بدون fallback إلى LiteLLM. يدعم Snowflake Cortex في CrewAI حاليًا Chat Completions فقط، لذلك استخدم وضع api الافتراضي ولا تضبط api="responses".Code
Code
Code
SNOWFLAKE_PATأوSNOWFLAKE_TOKENأوSNOWFLAKE_JWT: الرمز المستخدم كاعتماد BearerSNOWFLAKE_ACCOUNT_URL: عنوان URL الكامل لحساب SnowflakeSNOWFLAKE_ACCOUNTأوSNOWFLAKE_ACCOUNT_IDأوSNOWFLAKE_ACCOUNT_IDENTIFIER: معرف الحساب المستخدم لبناء URL
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
Anthropic
Anthropic
يوفر CrewAI تكاملًا أصليًا مع Anthropic من خلال Anthropic Python SDK.الاستخدام الأساسي:الإعداد المتقدم:التفكير الموسّع (Claude Sonnet 4 وما بعده):يدعم CrewAI ميزة التفكير الموسّع من Anthropic، التي تتيح لـ Claude التفكير في المشكلات بطريقة أكثر شبهًا بالبشر قبل الاستجابة. مفيد بشكل خاص لمهام الاستدلال والتحليل وحل المشكلات المعقدة.خيارات إعداد التفكير:
Code
Code
Code
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، ثبّت التبعيات المطلوبة:
Google (Gemini API)
Google (Gemini API)
يوفر CrewAI تكاملًا أصليًا مع Google Gemini من خلال Google Gen AI Python SDK.عيّن مفتاح API في ملف الاستخدام الأساسي:الإعداد المتقدم:وضع Vertex AI Express (مصادقة بمفتاح API):يتيح لك وضع Vertex AI Express استخدام Vertex AI مع مصادقة بسيطة بمفتاح API بدلاً من بيانات اعتماد حساب الخدمة. هذه أسرع طريقة للبدء مع Vertex AI.لتفعيل وضع Express، عيّن متغيري البيئة في ملف ثم استخدم LLM كالمعتاد:إعداد Vertex AI (حساب خدمة):متغيرات البيئة المدعومة:القائمة الكاملة للنماذج متاحة في وثائق نماذج Gemini.
.env. إذا كنت بحاجة إلى مفتاح، تحقق من AI Studio..env
Code
Code
.env:.env
Code
للحصول على مفتاح API لوضع Express:
- مستخدمو Google Cloud الجدد: احصل على مفتاح API لوضع Express
- مستخدمو Google Cloud الحاليون: احصل على مفتاح Google Cloud API مرتبط بحساب خدمة
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
- معالجة تلقائية لتعليمات النظام
- تتبع استخدام الرموز
ملاحظة: لاستخدام Google Gemini، ثبّت التبعيات المطلوبة:
Google (Vertex AI)
Google (Vertex AI)
احصل على بيانات الاعتماد من Google Cloud Console واحفظها في ملف JSON، ثم حمّلها بالكود التالي:مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
Code
Code
Azure
Azure
يوفر CrewAI تكاملًا أصليًا مع Azure AI Inference و Azure OpenAI من خلال Azure AI Inference Python SDK.الاستخدام الأساسي:ملاحظة: لاستخدام Azure AI Inference، ثبّت التبعيات المطلوبة:
Code
Code
AWS Bedrock
AWS Bedrock
يوفر 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) تتطلب أن تنتهي المحادثة برسالة المستخدم
ملاحظة: لاستخدام AWS Bedrock، ثبّت التبعيات المطلوبة:
Amazon SageMaker
Amazon SageMaker
Code
Code
Mistral
Mistral
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Nvidia NIM
Nvidia NIM
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:يوفر Nvidia NIM مجموعة شاملة من النماذج لحالات الاستخدام المتنوعة، من المهام ذات الأغراض العامة إلى التطبيقات المتخصصة.
.env:Code
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
Local NVIDIA NIM Deployed using WSL2
Local NVIDIA NIM Deployed using WSL2
يتيح لك NVIDIA NIM تشغيل نماذج LLM قوية محليًا على جهاز Windows باستخدام WSL2 (نظام Windows الفرعي لـ Linux).
يتيح لك هذا النهج الاستفادة من وحدة GPU من NVIDIA لاستدلال ذكاء اصطناعي خاص وآمن وفعال من حيث التكلفة دون الاعتماد على الخدمات السحابية.
مثالي لسيناريوهات التطوير والاختبار أو الإنتاج حيث تكون خصوصية البيانات أو القدرات غير المتصلة مطلوبة.إليك دليلًا خطوة بخطوة لإعداد نموذج NVIDIA NIM محلي:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
- اتبع تعليمات التثبيت من موقع NVIDIA
- ثبّت النموذج المحلي. لـ Llama 3.1-8b اتبع التعليمات
- أعدّ نماذج crewai المحلية:
Code
Groq
Groq
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:
.env:Code
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
IBM watsonx.ai
IBM watsonx.ai
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Ollama (نماذج LLM محلية)
Ollama (نماذج LLM محلية)
- ثبّت Ollama: ollama.ai
- شغّل نموذجًا:
ollama run llama3 - أعدّ:
Code
Fireworks AI
Fireworks AI
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Perplexity AI
Perplexity AI
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Hugging Face
Hugging Face
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
SambaNova
SambaNova
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:
.env:Code
Code
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
Cerebras
Cerebras
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
ميزات Cerebras:
- سرعات استدلال عالية
- أسعار تنافسية
- توازن جيد بين السرعة والجودة
- دعم نوافذ سياق طويلة
Open Router
Open Router
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
نماذج Open Router:
- openrouter/deepseek/deepseek-r1
- openrouter/deepseek/deepseek-chat
Nebius AI Studio
Nebius AI Studio
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
ميزات Nebius AI Studio:
- مجموعة كبيرة من النماذج مفتوحة المصدر
- حدود معدل أعلى
- أسعار تنافسية
- توازن جيد بين السرعة والجودة
بث الاستجابات
يدعم CrewAI بث الاستجابات من LLMs، مما يتيح لتطبيقك تلقي ومعالجة المخرجات في الوقت الفعلي فور توليدها.- الإعداد الأساسي
- معالجة الأحداث
- تتبع Agent والمهمة
فعّل البث بتعيين معامل عند تفعيل البث، يتم تسليم الاستجابات في أجزاء فور توليدها، مما يخلق تجربة مستخدم أكثر استجابة.
stream إلى True عند تهيئة LLM:استدعاءات LLM غير المتزامنة
يدعم CrewAI استدعاءات LLM غير المتزامنة لأداء وتزامن محسّنين في سير عمل الذكاء الاصطناعي. تتيح لك الاستدعاءات غير المتزامنة تشغيل طلبات LLM متعددة بشكل متزامن دون حجب، مما يجعلها مثالية لتطبيقات الإنتاجية العالية وعمليات الوكلاء المتوازية.- الاستخدام الأساسي
- مع البث
استخدم دالة تدعم دالة
acall لطلبات LLM غير المتزامنة:acall جميع المعاملات نفسها كدالة call المتزامنة، بما في ذلك الرسائل والأدوات ودوال الاسترجاع.استدعاءات LLM المهيكلة
يدعم CrewAI الاستجابات المهيكلة من استدعاءات LLM من خلال السماح لك بتحديدresponse_format باستخدام نموذج Pydantic. يمكّن هذا الإطار من تحليل المخرجات والتحقق منها تلقائيًا، مما يسهّل دمج الاستجابة في تطبيقك دون معالجة لاحقة يدوية.
Code
الميزات المتقدمة والتحسين
تعلّم كيفية الاستفادة القصوى من إعداد LLM:إدارة نافذة السياق
إدارة نافذة السياق
يتضمن CrewAI ميزات إدارة سياق ذكية:
أفضل الممارسات لإدارة السياق:
- اختر نماذج بنوافذ سياق مناسبة
- عالج المدخلات الطويلة مسبقًا عند الإمكان
- استخدم التقسيم للمستندات الكبيرة
- راقب استخدام الرموز لتحسين التكاليف
تحسين الأداء
تحسين الأداء
1
تحسين استخدام الرموز
اختر نافذة السياق المناسبة لمهمتك:
- المهام الصغيرة (حتى 4K رمز): النماذج القياسية
- المهام المتوسطة (بين 4K-32K): النماذج المحسّنة
- المهام الكبيرة (أكثر من 32K): نماذج السياق الكبير
2
أفضل الممارسات
- راقب استخدام الرموز
- نفّذ تحديد المعدل
- استخدم التخزين المؤقت عند الإمكان
- عيّن حدود max_tokens مناسبة
تذكّر مراقبة استخدام الرموز بانتظام وضبط إعداداتك حسب الحاجة لتحسين التكاليف والأداء.
إسقاط المعاملات الإضافية
إسقاط المعاملات الإضافية
يستخدم CrewAI داخليًا حزم SDK أصلية لاستدعاءات LLM، مما يتيح لك إسقاط معاملات إضافية غير مطلوبة لحالة الاستخدام الخاصة بك. يمكن أن يساعد هذا في تبسيط كودك وتقليل تعقيد إعداد LLM.
معترضات النقل
معترضات النقل
يوفر CrewAI معترضات رسائل لعدة مزودين، مما يتيح لك الربط بدورات الطلب/الاستجابة على مستوى طبقة النقل.المزودون المدعومون:ملاحظات مهمة:
- OpenAI
- Anthropic
- يجب على كلتا الدالتين إعادة الكائن المستلم أو نوعه.
- تعديل الكائنات المستلمة قد يؤدي إلى سلوك غير متوقع أو أعطال في التطبيق.
- ليس كل المزودين يدعمون المعترضات — تحقق من قائمة المزودين المدعومين أعلاه
تعمل المعترضات على مستوى طبقة النقل. مفيدة بشكل خاص لـ:
- تحويل الرسائل وتصفيتها
- تصحيح تفاعلات API
المشاكل الشائعة والحلول
- المصادقة
- أسماء النماذج
- طول السياق
