نظرة عامة
يتكامل CrewAI مع مزودي LLM متعددين من خلال حزم SDK الأصلية للمزودين، مما يمنحك المرونة لاختيار النموذج المناسب لحالة الاستخدام الخاصة بك. سيساعدك هذا الدليل على فهم كيفية إعداد واستخدام مزودي LLM المختلفين في مشاريع CrewAI.ما هي نماذج اللغة الكبيرة؟
نماذج اللغة الكبيرة (LLMs) هي الذكاء الأساسي وراء وكلاء CrewAI. تمكّن الوكلاء من فهم السياق واتخاذ القرارات وتوليد استجابات شبيهة بالبشر. إليك ما تحتاج معرفته:أساسيات LLM
نماذج اللغة الكبيرة هي أنظمة ذكاء اصطناعي مدربة على كميات هائلة من البيانات النصية. تدعم ذكاء وكلاء CrewAI، مما يمكّنهم من فهم وتوليد نصوص شبيهة بالبشر.
نافذة السياق
تحدد نافذة السياق مقدار النص الذي يمكن لـ LLM معالجته في وقت واحد. النوافذ الأكبر (مثل 128K رمز) تتيح سياقًا أكثر لكنها قد تكون أكثر تكلفة وأبطأ.
درجة الحرارة
درجة الحرارة هي أداة للتحكم في أخذ العينات تدعمها بعض النماذج. تجعل القيم المنخفضة أخذ العينات أكثر تركيزًا عمومًا، بينما تزيد القيم الأعلى التباين. تتجاهل بعض نماذج الاستدلال الأحدث هذا المعامل أو توقف دعمه أو ترفضه، لذا راجع وثائق النموذج المحدد قبل ضبطه.
اختيار المزود
يقدم كل مزود 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 (اختياري)
- دعم أصلي لاستدعاء الدوال
- مخرجات منظمة مع JSON schema
- دعم البث للاستجابات في الوقت الفعلي
- تتبع استخدام الرموز
- عناصر تحكم في التوليد خاصة بالمزود
- احتمالات السجل لرؤى على مستوى الرموز
- التحكم في جهد الاستدلال للنماذج المتوافقة
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:راجع نظرة عامة على نماذج Meta Llama للتعرّف على عائلات النماذج والوسائط وإرشادات حدود السياق الحالية.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
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.الاستخدام الأساسي:الإعداد المتقدم:التفكير الموسّع:يدعم CrewAI ميزة التفكير الموسّع من Anthropic، التي تتيح لـ Claude التفكير في المشكلات بطريقة أكثر شبهًا بالبشر قبل الاستجابة. مفيد بشكل خاص لمهام الاستدلال والتحليل وحل المشكلات المعقدة.خيارات إعداد التفكير:
Code
Code
Code
Code
type: عيّن إلى"enabled"لتفعيل وضع التفكير الموسّعbudget_tokens(اختياري): أقصى رموز للتفكير (يساعد في التحكم بالتكاليف)
thinking.متى تستخدم التفكير الموسّع:- الاستدلال المعقد وحل المشكلات متعددة الخطوات
- الحسابات الرياضية والبراهين
- تحليل الكود وتصحيح الأخطاء
- التخطيط الاستراتيجي واتخاذ القرارات
- البحث والمهام التحليلية
ANTHROPIC_API_KEY: مفتاح Anthropic API (مطلوب)
- دعم استخدام الأدوات الأصلي لنماذج Claude 3+
- دعم التفكير الموسّع لنماذج Claude المتوافقة
- دعم البث للاستجابات في الوقت الفعلي
- معالجة تلقائية لرسائل النظام
- تسلسلات التوقف للتحكم في المخرجات
- تتبع استخدام الرموز
- محادثات استخدام أدوات متعددة الأدوار
max_tokensمعامل مطلوب لجميع نماذج Anthropic- يستخدم Claude
stop_sequencesبدلاً منstop - يتم التعامل مع رسائل النظام بشكل منفصل عن رسائل المحادثة
- يجب أن تكون الرسالة الأولى من المستخدم (يتم التعامل معها تلقائيًا)
- يجب أن تتناوب الرسائل بين المستخدم والمساعد
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 (حساب خدمة):متغيرات البيئة المدعومة:
.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 المتوافقة
- دعم البث للاستجابات في الوقت الفعلي
- قدرات متعددة الوسائط (نص، صور، فيديو)
- إعداد إعدادات الأمان
- دعم لكل من Gemini API و Vertex AI
- معالجة تلقائية لتعليمات النظام
- تتبع استخدام الرموز
Google (Vertex AI)
Google (Vertex AI)
صادِق باستخدام بيانات الاعتماد التلقائية للتطبيق، ثم اضبط مزود Gemini الأصلي لاستخدام Vertex AI:مثال الاستخدام في مشروع CrewAI:تختلف إتاحة Vertex AI باختلاف المنطقة. استخدم كتالوج نماذج Vertex AI للتحقق من معرّف النموذج والمنطقة قبل النشر.ملاحظة: يستخدم هذا المسار تكامل Gemini الأصلي في CrewAI. أضفه كتبعية لمشروعك:
.env
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) تتطلب أن تنتهي المحادثة برسالة المستخدم
Amazon SageMaker
Amazon SageMaker
Code
Code
Mistral
Mistral
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Nvidia NIM
Nvidia NIM
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:يتغير كتالوج NVIDIA NIM المستضاف باستمرار. استخدم كتالوج نماذج NVIDIA NIM لاختيار endpoint حالي والتحقق من معرّف النموذج والوسائط وحدود السياق.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
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:تميز Groq بين نماذج production وpreview وتسحب معرّفات النماذج بانتظام. تحقق من كتالوج نماذج Groq وصفحة الإيقاف قبل اختيار نموذج للإنتاج.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
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:راجع كتالوج نماذج Perplexity وchangelog للحصول على معرّفات النماذج الحالية وإشعارات الإيقاف.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Hugging Face
Hugging Face
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
SambaNova
SambaNova
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:قد تتغير النماذج المستضافة في SambaNova Cloud بصورة مستقلة عن CrewAI. استعلم من models endpoint وراجع دليل الإيقاف قبل النشر.ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
.env:Code
Code
Cerebras
Cerebras
عيّن متغيرات البيئة التالية في ملف مثال الاستخدام في مشروع CrewAI:راجع كتالوج نماذج Cerebras وإشعارات الإيقاف للحصول على معرّفات endpoints العامة الحالية.ملاحظة: يستخدم هذا المزود 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
المشاكل الشائعة والحلول
- المصادقة
- أسماء النماذج
- طول السياق
