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

نظرة عامة

يتكامل 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
MODEL=model-id  # e.g. gpt-4o, gemini-2.0-flash, claude-3-sonnet-...

# Be sure to set your API keys here too. See the Provider
# section below.
لا تقم أبدًا بتأكيد مفاتيح API في التحكم بالإصدارات. استخدم ملفات البيئة (.env) أو إدارة أسرار نظامك.
يوفر CrewAI تكاملات SDK أصلية لـ OpenAI و Anthropic و Google (Gemini API) و Azure و AWS Bedrock — لا حاجة لتثبيت إضافي بخلاف الملحقات الخاصة بالمزود (مثل uv add "crewai[openai]").جميع المزودين الآخرين مدعومون بواسطة LiteLLM. إذا كنت تخطط لاستخدام أي منهم، أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'

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

يدعم CrewAI العديد من مزودي LLM، كل منهم يقدم ميزات فريدة وطرق مصادقة وقدرات نماذج. في هذا القسم، ستجد أمثلة مفصلة تساعدك في اختيار وإعداد وتحسين LLM الأنسب لاحتياجات مشروعك.
يوفر CrewAI تكاملًا أصليًا مع OpenAI من خلال OpenAI Python SDK.
Code
# Required
OPENAI_API_KEY=sk-...

# Optional
OPENAI_BASE_URL=<custom-base-url>
الاستخدام الأساسي:
Code
from crewai import LLM

llm = LLM(
    model="openai/gpt-4o",
    api_key="your-api-key",  # Or set OPENAI_API_KEY
    temperature=0.7,
    max_tokens=4000
)
الإعداد المتقدم:
Code
from crewai import LLM

llm = LLM(
    model="openai/gpt-4o",
    api_key="your-api-key",
    base_url="https://api.openai.com/v1",  # Optional custom endpoint
    organization="org-...",  # Optional organization ID
    project="proj_...",  # Optional project ID
    temperature=0.7,
    max_tokens=4000,
    max_completion_tokens=4000,  # For newer models
    top_p=0.9,
    frequency_penalty=0.1,
    presence_penalty=0.1,
    stop=["END"],
    seed=42,  # For reproducible outputs
    stream=True,  # Enable streaming
    timeout=60.0,  # Request timeout in seconds
    max_retries=3,  # Maximum retry attempts
    logprobs=True,  # Return log probabilities
    top_logprobs=5,  # Number of most likely tokens
    reasoning_effort="medium"  # For o1 models: low, medium, high
)
المخرجات المهيكلة:
Code
from pydantic import BaseModel
from crewai import LLM

class ResponseFormat(BaseModel):
    name: str
    age: int
    summary: str

llm = LLM(
    model="openai/gpt-4o",
)
متغيرات البيئة المدعومة:
  • OPENAI_API_KEY: مفتاح OpenAI API (مطلوب)
  • OPENAI_BASE_URL: عنوان URL مخصص لـ OpenAI API (اختياري)
الميزات:
  • دعم استدعاء الدوال الأصلي (باستثناء نماذج o1)
  • مخرجات منظمة مع JSON schema
  • دعم البث للاستجابات في الوقت الفعلي
  • تتبع استخدام الرموز
  • دعم تسلسلات التوقف (باستثناء نماذج o1)
  • احتمالات السجل لرؤى على مستوى الرموز
  • التحكم في جهد الاستدلال لنماذج o1
النماذج المدعومة:
النموذجنافذة السياقالأفضل لـ
gpt-4.11M tokensأحدث نموذج بقدرات محسّنة
gpt-4.1-mini1M tokensإصدار فعال بسياق كبير
gpt-4.1-nano1M tokensمتغير فائق الكفاءة
gpt-4o128,000 tokensمحسّن للسرعة والذكاء
gpt-4o-mini200,000 tokensفعال من حيث التكلفة بسياق كبير
gpt-4-turbo128,000 tokensالمحتوى الطويل، تحليل المستندات
gpt-48,192 tokensمهام الدقة العالية، الاستدلال المعقد
o1200,000 tokensالاستدلال المتقدم، حل المشكلات المعقدة
o1-preview128,000 tokensمعاينة قدرات الاستدلال
o1-mini128,000 tokensنموذج استدلال فعال
o3-mini200,000 tokensنموذج استدلال خفيف
o4-mini200,000 tokensاستدلال فعال من الجيل التالي
Responses API:تقدم OpenAI واجهتي API: Chat Completions (الافتراضية) و Responses API الأحدث. تم تصميم Responses API من الأساس مع دعم أصلي متعدد الوسائط — النص والصور والصوت واستدعاءات الدوال كلها مكوّنات أساسية. توفر أداءً أفضل مع نماذج الاستدلال وتدعم ميزات إضافية مثل السلسلة التلقائية والأدوات المدمجة.
Code
from crewai import LLM

# Use the Responses API instead of Chat Completions
llm = LLM(
    model="openai/gpt-4o",
    api="responses",  # Enable Responses API
    store=True,  # Store responses for multi-turn (optional)
    auto_chain=True,  # Auto-chain for reasoning models (optional)
)
معاملات 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، ثبّت التبعيات المطلوبة:
uv add "crewai[openai]"
توفر Meta Llama API الوصول إلى عائلة نماذج اللغة الكبيرة من Meta. الـ API متاحة عبر Meta Llama API. عيّن متغيرات البيئة التالية في ملف .env:
Code
# Meta Llama API Key Configuration
LLAMA_API_KEY=LLM|your_api_key_here
مثال الاستخدام في مشروع CrewAI:
Code
from crewai import LLM

# Initialize Meta Llama LLM
llm = LLM(
    model="meta_llama/Llama-4-Scout-17B-16E-Instruct-FP8",
    temperature=0.8,
    stop=["END"],
    seed=42
)
جميع النماذج المدرجة هنا https://llama.developer.meta.com/docs/models/ مدعومة.
معرّف النموذجطول سياق الإدخالطول سياق المخرجاتوسائط الإدخالوسائط المخرجات
meta_llama/Llama-4-Scout-17B-16E-Instruct-FP8128k4028نص، صورةنص
meta_llama/Llama-4-Maverick-17B-128E-Instruct-FP8128k4028نص، صورةنص
meta_llama/Llama-3.3-70B-Instruct128k4028نصنص
meta_llama/Llama-3.3-8B-Instruct128k4028نصنص
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
يوفر CrewAI تكاملًا أصليًا مع Anthropic من خلال Anthropic Python SDK.
Code
# Required
ANTHROPIC_API_KEY=sk-ant-...
الاستخدام الأساسي:
Code
from crewai import LLM

llm = LLM(
    model="anthropic/claude-3-5-sonnet-20241022",
    api_key="your-api-key",  # Or set ANTHROPIC_API_KEY
    max_tokens=4096  # Required for Anthropic
)
الإعداد المتقدم:
Code
from crewai import LLM

llm = LLM(
    model="anthropic/claude-3-5-sonnet-20241022",
    api_key="your-api-key",
    base_url="https://api.anthropic.com",  # Optional custom endpoint
    temperature=0.7,
    max_tokens=4096,  # Required parameter
    top_p=0.9,
    stop_sequences=["END", "STOP"],  # Anthropic uses stop_sequences
    stream=True,  # Enable streaming
    timeout=60.0,  # Request timeout in seconds
    max_retries=3  # Maximum retry attempts
)
التفكير الموسّع (Claude Sonnet 4 وما بعده):يدعم CrewAI ميزة التفكير الموسّع من Anthropic، التي تتيح لـ Claude التفكير في المشكلات بطريقة أكثر شبهًا بالبشر قبل الاستجابة. مفيد بشكل خاص لمهام الاستدلال والتحليل وحل المشكلات المعقدة.
Code
from crewai import LLM

# Enable extended thinking with default settings
llm = LLM(
    model="anthropic/claude-sonnet-4",
    thinking={"type": "enabled"},
    max_tokens=10000
)

# Configure thinking with budget control
llm = LLM(
    model="anthropic/claude-sonnet-4",
    thinking={
        "type": "enabled",
        "budget_tokens": 5000  # Limit thinking tokens
    },
    max_tokens=10000
)
خيارات إعداد التفكير:
  • 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
  • يتم التعامل مع رسائل النظام بشكل منفصل عن رسائل المحادثة
  • يجب أن تكون الرسالة الأولى من المستخدم (يتم التعامل معها تلقائيًا)
  • يجب أن تتناوب الرسائل بين المستخدم والمساعد
النماذج المدعومة:
النموذجنافذة السياقالأفضل لـ
claude-sonnet-4200,000 tokensالأحدث مع قدرات التفكير الموسّع
claude-3-7-sonnet200,000 tokensالاستدلال المتقدم والمهام الوكيلية
claude-3-5-sonnet-20241022200,000 tokensأحدث Sonnet بأفضل أداء
claude-3-5-haiku200,000 tokensنموذج سريع وصغير للاستجابات السريعة
claude-3-opus200,000 tokensالأكثر قدرة للمهام المعقدة
claude-3-sonnet200,000 tokensتوازن بين الذكاء والسرعة
claude-3-haiku200,000 tokensالأسرع للمهام البسيطة
claude-2.1200,000 tokensسياق موسّع، هلوسات أقل
claude-2100,000 tokensنموذج متعدد الاستخدامات
claude-instant100,000 tokensسريع وفعال من حيث التكلفة للمهام اليومية
ملاحظة: لاستخدام Anthropic، ثبّت التبعيات المطلوبة:
uv add "crewai[anthropic]"
يوفر CrewAI تكاملًا أصليًا مع Google Gemini من خلال Google Gen AI Python SDK.عيّن مفتاح API في ملف .env. إذا كنت بحاجة إلى مفتاح، تحقق من AI Studio.
.env
# Required (one of the following)
GOOGLE_API_KEY=<your-api-key>
GEMINI_API_KEY=<your-api-key>

# For Vertex AI Express mode (API key authentication)
GOOGLE_GENAI_USE_VERTEXAI=true
GOOGLE_API_KEY=<your-api-key>

# For Vertex AI with service account
GOOGLE_CLOUD_PROJECT=<your-project-id>
GOOGLE_CLOUD_LOCATION=<location>  # Defaults to us-central1
الاستخدام الأساسي:
Code
from crewai import LLM

llm = LLM(
    model="gemini/gemini-2.0-flash",
    api_key="your-api-key",  # Or set GOOGLE_API_KEY/GEMINI_API_KEY
    temperature=0.7
)
الإعداد المتقدم:
Code
from crewai import LLM

llm = LLM(
    model="gemini/gemini-2.5-flash",
    api_key="your-api-key",
    temperature=0.7,
    top_p=0.9,
    top_k=40,  # Top-k sampling parameter
    max_output_tokens=8192,
    stop_sequences=["END", "STOP"],
    stream=True,  # Enable streaming
    safety_settings={
        "HARM_CATEGORY_HARASSMENT": "BLOCK_NONE",
        "HARM_CATEGORY_HATE_SPEECH": "BLOCK_NONE"
    }
)
وضع Vertex AI Express (مصادقة بمفتاح API):يتيح لك وضع Vertex AI Express استخدام Vertex AI مع مصادقة بسيطة بمفتاح API بدلاً من بيانات اعتماد حساب الخدمة. هذه أسرع طريقة للبدء مع Vertex AI.لتفعيل وضع Express، عيّن متغيري البيئة في ملف .env:
.env
GOOGLE_GENAI_USE_VERTEXAI=true
GOOGLE_API_KEY=<your-api-key>
ثم استخدم LLM كالمعتاد:
Code
from crewai import LLM

llm = LLM(
    model="gemini/gemini-2.0-flash",
    temperature=0.7
)
للحصول على مفتاح API لوضع Express:لمزيد من التفاصيل، انظر وثائق وضع Vertex AI Express.
إعداد Vertex AI (حساب خدمة):
Code
from crewai import LLM

llm = LLM(
    model="gemini/gemini-1.5-pro",
    project="your-gcp-project-id",
    location="us-central1"  # GCP region
)
متغيرات البيئة المدعومة:
  • 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:
النموذجنافذة السياقالأفضل لـ
gemini-2.5-flash1M tokensالتفكير التكيفي، كفاءة التكلفة
gemini-2.5-pro1M tokensالتفكير والاستدلال المحسّن، الفهم متعدد الوسائط
gemini-2.0-flash1M tokensميزات الجيل التالي، السرعة، التفكير
gemini-2.0-flash-thinking32,768 tokensالاستدلال المتقدم مع عملية التفكير
gemini-2.0-flash-lite1M tokensكفاءة التكلفة ووقت الاستجابة المنخفض
gemini-1.5-pro2M tokensالأفضل أداءً، الاستدلال المنطقي، البرمجة
gemini-1.5-flash1M tokensنموذج متعدد الوسائط متوازن، جيد لمعظم المهام
gemini-1.5-flash-8b1M tokensالأسرع والأكثر كفاءة من حيث التكلفة
gemini-1.0-pro32,768 tokensنموذج الجيل السابق
ملاحظة: لاستخدام Google Gemini، ثبّت التبعيات المطلوبة:
uv add "crewai[google-genai]"
القائمة الكاملة للنماذج متاحة في وثائق نماذج Gemini.
احصل على بيانات الاعتماد من Google Cloud Console واحفظها في ملف JSON، ثم حمّلها بالكود التالي:
Code
import json

file_path = 'path/to/vertex_ai_service_account.json'

# Load the JSON file
with open(file_path, 'r') as file:
    vertex_credentials = json.load(file)

# Convert the credentials to a JSON string
vertex_credentials_json = json.dumps(vertex_credentials)
مثال الاستخدام في مشروع CrewAI:
Code
from crewai import LLM

llm = LLM(
    model="gemini-1.5-pro-latest", # or vertex_ai/gemini-1.5-pro-latest
    temperature=0.7,
    vertex_credentials=vertex_credentials_json
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
يوفر CrewAI تكاملًا أصليًا مع Azure AI Inference و Azure OpenAI من خلال Azure AI Inference Python SDK.
Code
# Required
AZURE_API_KEY=<your-api-key>
AZURE_ENDPOINT=<your-endpoint-url>

# Optional
AZURE_API_VERSION=<api-version>  # Defaults to 2024-06-01
الاستخدام الأساسي:
Code
llm = LLM(
    model="azure/gpt-4",
    api_key="<your-api-key>",  # Or set AZURE_API_KEY
    endpoint="<your-endpoint-url>",
    api_version="2024-06-01"
)
ملاحظة: لاستخدام Azure AI Inference، ثبّت التبعيات المطلوبة:
uv add "crewai[azure-ai-inference]"
يوفر CrewAI تكاملًا أصليًا مع AWS Bedrock من خلال boto3 SDK باستخدام Converse API.
Code
# Required
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>

# Optional
AWS_SESSION_TOKEN=<your-session-token>  # For temporary credentials
AWS_DEFAULT_REGION=<your-region>  # Defaults to us-east-1
AWS_REGION_NAME=<your-region>  # Alternative configuration for backwards compatibility with LiteLLM. Defaults to us-east-1
الاستخدام الأساسي:
Code
from crewai import LLM

llm = LLM(
    model="bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0",
    region_name="us-east-1"
)
الإعداد المتقدم:
Code
from crewai import LLM

llm = LLM(
    model="bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0",
    aws_access_key_id="your-access-key",  # Or set AWS_ACCESS_KEY_ID
    aws_secret_access_key="your-secret-key",  # Or set AWS_SECRET_ACCESS_KEY
    aws_session_token="your-session-token",  # For temporary credentials
    region_name="us-east-1",
    temperature=0.7,
    max_tokens=4096,
    top_p=0.9,
    top_k=250,  # For Claude models
    stop_sequences=["END", "STOP"],
    stream=True,  # Enable streaming
    guardrail_config={  # Optional content filtering
        "guardrailIdentifier": "your-guardrail-id",
        "guardrailVersion": "1"
    },
    additional_model_request_fields={  # Model-specific parameters
        "top_k": 250
    }
)
متغيرات البيئة المدعومة:
  • 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 موحدة.
النموذجنافذة السياقالأفضل لـ
Amazon Nova Proحتى 300k tokensأداء عالٍ، نموذج يوازن بين الدقة والسرعة والفعالية من حيث التكلفة عبر مهام متنوعة.
Amazon Nova Microحتى 128k tokensنموذج نصي فقط عالي الأداء وفعال من حيث التكلفة ومحسّن لأقل وقت استجابة.
Amazon Nova Liteحتى 300k tokensمعالجة متعددة الوسائط بأسعار معقولة للصور والفيديو والنص مع قدرات في الوقت الفعلي.
Claude 3.7 Sonnetحتى 128k tokensالأفضل أداءً للاستدلال المعقد والبرمجة ووكلاء الذكاء الاصطناعي
Claude 3.5 Sonnet v2حتى 200k tokensنموذج متطور متخصص في هندسة البرمجيات والقدرات الوكيلية والتفاعل مع الحاسوب بتكلفة محسّنة.
Claude 3.5 Sonnetحتى 200k tokensنموذج عالي الأداء يقدم ذكاءً واستدلالًا فائقين عبر مهام متنوعة مع توازن مثالي بين السرعة والتكلفة.
Claude 3.5 Haikuحتى 200k tokensنموذج متعدد الوسائط سريع وصغير محسّن للاستجابات السريعة والتفاعلات الشبيهة بالبشر
Claude 3 Sonnetحتى 200k tokensنموذج متعدد الوسائط يوازن بين الذكاء والسرعة للنشر بكميات كبيرة.
Claude 3 Haikuحتى 200k tokensنموذج متعدد الوسائط صغير وسريع محسّن للاستجابات السريعة والتفاعلات المحادثية الطبيعية
Claude 3 Opusحتى 200k tokensأكثر النماذج متعددة الوسائط تقدمًا يتفوق في المهام المعقدة بالاستدلال الشبيه بالبشر والفهم السياقي الفائق.
Claude 2.1حتى 200k tokensإصدار محسّن بنافذة سياق موسّعة وموثوقية محسّنة وهلوسات أقل لتطبيقات النصوص الطويلة وRAG
Claudeحتى 100k tokensنموذج متعدد الاستخدامات يتفوق في الحوار المتقدم والمحتوى الإبداعي واتباع التعليمات الدقيقة.
Claude Instantحتى 100k tokensنموذج سريع وفعال من حيث التكلفة للمهام اليومية مثل الحوار والتحليل والتلخيص والأسئلة والأجوبة
Llama 3.1 405B Instructحتى 128k tokensنموذج LLM متقدم لتوليد البيانات الاصطناعية والتقطير والاستدلال لروبوتات المحادثة والبرمجة والمهام المتخصصة.
Llama 3.1 70B Instructحتى 128k tokensيدعم المحادثات المعقدة مع فهم سياقي فائق واستدلال وتوليد نص.
Llama 3.1 8B Instructحتى 128k tokensنموذج متطور مع فهم اللغة واستدلال فائق وتوليد النص.
Llama 3 70B Instructحتى 8k tokensيدعم المحادثات المعقدة مع فهم سياقي فائق واستدلال وتوليد نص.
Llama 3 8B Instructحتى 8k tokensنموذج LLM متطور مع فهم اللغة واستدلال فائق وتوليد النص.
Titan Text G1 - Liteحتى 4k tokensنموذج خفيف وفعال من حيث التكلفة محسّن لمهام اللغة الإنجليزية والضبط الدقيق مع التركيز على التلخيص وتوليد المحتوى.
Titan Text G1 - Expressحتى 8k tokensنموذج متعدد الاستخدامات لمهام اللغة العامة والمحادثة وتطبيقات RAG مع دعم الإنجليزية وأكثر من 100 لغة.
Cohere Commandحتى 4k tokensنموذج متخصص في اتباع أوامر المستخدم وتقديم حلول عملية للمؤسسات.
Jurassic-2 Midحتى 8,191 tokensنموذج فعال من حيث التكلفة يوازن بين الجودة والسعر لمهام اللغة المتنوعة مثل الأسئلة والأجوبة والتلخيص وتوليد المحتوى.
Jurassic-2 Ultraحتى 8,191 tokensنموذج لتوليد النص المتقدم والفهم، يتفوق في المهام المعقدة مثل التحليل وإنشاء المحتوى.
Jamba-Instructحتى 256k tokensنموذج بنافذة سياق موسّعة محسّن لتوليد النص الفعال من حيث التكلفة والتلخيص والأسئلة والأجوبة.
Mistral 7B Instructحتى 32k tokensنموذج LLM يتبع التعليمات ويكمل الطلبات ويولد نصًا إبداعيًا.
Mistral 8x7B Instructحتى 32k tokensنموذج LLM بمعمارية MOE يتبع التعليمات ويكمل الطلبات ويولد نصًا إبداعيًا.
DeepSeek R132,768 tokensنموذج استدلال متقدم
ملاحظة: لاستخدام AWS Bedrock، ثبّت التبعيات المطلوبة:
uv add "crewai[bedrock]"
Code
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>
AWS_DEFAULT_REGION=<your-region>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="sagemaker/<my-endpoint>"
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
MISTRAL_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="mistral/mistral-large-latest",
    temperature=0.7
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
NVIDIA_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="nvidia_nim/meta/llama3-70b-instruct",
    temperature=0.7
)
يوفر Nvidia NIM مجموعة شاملة من النماذج لحالات الاستخدام المتنوعة، من المهام ذات الأغراض العامة إلى التطبيقات المتخصصة.
النموذجنافذة السياقالأفضل لـ
nvidia/mistral-nemo-minitron-8b-8k-instruct8,192 tokensنموذج لغة صغير متطور يقدم دقة فائقة لروبوتات المحادثة والمساعدين الافتراضيين وتوليد المحتوى.
nvidia/nemotron-4-mini-hindi-4b-instruct4,096 tokensنموذج لغة صغير ثنائي اللغة هندي-إنجليزي للاستدلال على الجهاز، مصمم خصيصًا للغة الهندية.
nvidia/llama-3.1-nemotron-70b-instruct128k tokensمخصص لتعزيز فائدة الاستجابات
nvidia/llama3-chatqa-1.5-8b128k tokensنموذج LLM متقدم لتوليد استجابات عالية الجودة ومدركة للسياق لروبوتات المحادثة ومحركات البحث.
nvidia/llama3-chatqa-1.5-70b128k tokensنموذج LLM متقدم لتوليد استجابات عالية الجودة ومدركة للسياق لروبوتات المحادثة ومحركات البحث.
nvidia/vila128k tokensنموذج رؤية-لغة متعدد الوسائط يفهم النص والصور والفيديو وينشئ استجابات غنية بالمعلومات
nvidia/neva-224,096 tokensنموذج رؤية-لغة متعدد الوسائط يفهم النص والصور ويولد استجابات غنية بالمعلومات
nvidia/nemotron-mini-4b-instruct8,192 tokensمهام ذات أغراض عامة
nvidia/usdcode-llama3-70b-instruct128k tokensنموذج LLM متطور يجيب على استعلامات معرفة OpenUSD ويولد كود USD-Python.
nvidia/nemotron-4-340b-instruct4,096 tokensينشئ بيانات اصطناعية متنوعة تحاكي خصائص بيانات العالم الحقيقي.
meta/codellama-70b100k tokensنموذج LLM قادر على توليد الكود من اللغة الطبيعية والعكس.
meta/llama2-70b4,096 tokensنموذج لغة كبير متطور قادر على توليد النص والكود استجابة للمطالبات.
meta/llama3-8b-instruct8,192 tokensنموذج LLM متطور مع فهم اللغة واستدلال فائق وتوليد النص.
meta/llama3-70b-instruct8,192 tokensيدعم المحادثات المعقدة مع فهم سياقي فائق واستدلال وتوليد نص.
meta/llama-3.1-8b-instruct128k tokensنموذج متطور مع فهم اللغة واستدلال فائق وتوليد النص.
meta/llama-3.1-70b-instruct128k tokensيدعم المحادثات المعقدة مع فهم سياقي فائق واستدلال وتوليد نص.
meta/llama-3.1-405b-instruct128k tokensنموذج LLM متقدم لتوليد البيانات الاصطناعية والتقطير والاستدلال لروبوتات المحادثة والبرمجة والمهام المتخصصة.
meta/llama-3.2-1b-instruct128k tokensنموذج لغة صغير متطور مع فهم اللغة واستدلال فائق وتوليد النص.
meta/llama-3.2-3b-instruct128k tokensنموذج لغة صغير متطور مع فهم اللغة واستدلال فائق وتوليد النص.
meta/llama-3.2-11b-vision-instruct128k tokensنموذج لغة صغير متطور مع فهم اللغة واستدلال فائق وتوليد النص.
meta/llama-3.2-90b-vision-instruct128k tokensنموذج لغة صغير متطور مع فهم اللغة واستدلال فائق وتوليد النص.
google/gemma-7b8,192 tokensنموذج متطور لتوليد النص وفهمه وتحويله وتوليد الكود.
google/gemma-2b8,192 tokensنموذج متطور لتوليد النص وفهمه وتحويله وتوليد الكود.
google/codegemma-7b8,192 tokensنموذج متطور مبني على Gemma-7B من Google متخصص في توليد الكود وإكماله.
google/codegemma-1.1-7b8,192 tokensنموذج برمجة متقدم لتوليد الكود وإكماله والاستدلال واتباع التعليمات.
google/recurrentgemma-2b8,192 tokensنموذج لغة بمعمارية تكرارية جديدة لاستدلال أسرع عند توليد تسلسلات طويلة.
google/gemma-2-9b-it8,192 tokensنموذج متطور لتوليد النص وفهمه وتحويله وتوليد الكود.
google/gemma-2-27b-it8,192 tokensنموذج متطور لتوليد النص وفهمه وتحويله وتوليد الكود.
google/gemma-2-2b-it8,192 tokensنموذج متطور لتوليد النص وفهمه وتحويله وتوليد الكود.
google/deplot512 tokensنموذج فهم لغة بصرية بلقطة واحدة يترجم صور الرسوم البيانية إلى جداول.
google/paligemma8,192 tokensنموذج لغة بصري بارع في استيعاب مدخلات النص والصور لإنتاج استجابات غنية بالمعلومات.
mistralai/mistral-7b-instruct-v0.232k tokensنموذج LLM يتبع التعليمات ويكمل الطلبات ويولد نصًا إبداعيًا.
mistralai/mixtral-8x7b-instruct-v0.18,192 tokensنموذج LLM بمعمارية MOE يتبع التعليمات ويكمل الطلبات ويولد نصًا إبداعيًا.
mistralai/mistral-large4,096 tokensينشئ بيانات اصطناعية متنوعة تحاكي خصائص بيانات العالم الحقيقي.
mistralai/mixtral-8x22b-instruct-v0.18,192 tokensينشئ بيانات اصطناعية متنوعة تحاكي خصائص بيانات العالم الحقيقي.
mistralai/mistral-7b-instruct-v0.332k tokensنموذج LLM يتبع التعليمات ويكمل الطلبات ويولد نصًا إبداعيًا.
nv-mistralai/mistral-nemo-12b-instruct128k tokensأكثر نموذج لغة تقدمًا للاستدلال والبرمجة والمهام متعددة اللغات؛ يعمل على وحدة GPU واحدة.
mistralai/mamba-codestral-7b-v0.1256k tokensنموذج للكتابة والتفاعل مع الكود عبر مجموعة واسعة من لغات البرمجة والمهام.
microsoft/phi-3-mini-128k-instruct128K tokensنموذج LLM مفتوح خفيف ومتطور مع مهارات قوية في الرياضيات والاستدلال المنطقي.
microsoft/phi-3-mini-4k-instruct4,096 tokensنموذج LLM مفتوح خفيف ومتطور مع مهارات قوية في الرياضيات والاستدلال المنطقي.
microsoft/phi-3-small-8k-instruct8,192 tokensنموذج LLM مفتوح خفيف ومتطور مع مهارات قوية في الرياضيات والاستدلال المنطقي.
microsoft/phi-3-small-128k-instruct128K tokensنموذج LLM مفتوح خفيف ومتطور مع مهارات قوية في الرياضيات والاستدلال المنطقي.
microsoft/phi-3-medium-4k-instruct4,096 tokensنموذج LLM مفتوح خفيف ومتطور مع مهارات قوية في الرياضيات والاستدلال المنطقي.
microsoft/phi-3-medium-128k-instruct128K tokensنموذج LLM مفتوح خفيف ومتطور مع مهارات قوية في الرياضيات والاستدلال المنطقي.
microsoft/phi-3.5-mini-instruct128K tokensنموذج LLM خفيف متعدد اللغات يدعم تطبيقات الذكاء الاصطناعي في البيئات المحدودة بالكمون والذاكرة والحوسبة
microsoft/phi-3.5-moe-instruct128K tokensنموذج LLM متقدم يعتمد على معمارية خليط الخبراء لتوليد محتوى فعال حوسبيًا
microsoft/kosmos-21,024 tokensنموذج متعدد الوسائط رائد مصمم لفهم العناصر المرئية في الصور والاستدلال عليها.
microsoft/phi-3-vision-128k-instruct128k tokensنموذج متعدد الوسائط مفتوح متطور يتفوق في الاستدلال عالي الجودة من الصور.
microsoft/phi-3.5-vision-instruct128k tokensنموذج متعدد الوسائط مفتوح متطور يتفوق في الاستدلال عالي الجودة من الصور.
databricks/dbrx-instruct12k tokensنموذج LLM للأغراض العامة بأداء متطور في فهم اللغة والبرمجة وRAG.
snowflake/arctic1,024 tokensيقدم استدلالًا عالي الكفاءة لتطبيقات المؤسسات مع التركيز على توليد SQL والبرمجة.
aisingapore/sea-lion-7b-instruct4,096 tokensنموذج LLM لتمثيل وخدمة التنوع اللغوي والثقافي لجنوب شرق آسيا
ibm/granite-8b-code-instruct4,096 tokensنموذج LLM لبرمجة البرمجيات لتوليد الكود وإكماله وشرحه والتحويل متعدد الأدوار.
ibm/granite-34b-code-instruct8,192 tokensنموذج LLM لبرمجة البرمجيات لتوليد الكود وإكماله وشرحه والتحويل متعدد الأدوار.
ibm/granite-3.0-8b-instruct4,096 tokensنموذج لغة صغير متقدم يدعم RAG والتلخيص والتصنيف والكود والذكاء الاصطناعي الوكيلي
ibm/granite-3.0-3b-a800m-instruct4,096 tokensنموذج خليط خبراء عالي الكفاءة لـ RAG والتلخيص واستخراج الكيانات والتصنيف
mediatek/breeze-7b-instruct4,096 tokensينشئ بيانات اصطناعية متنوعة تحاكي خصائص بيانات العالم الحقيقي.
upstage/solar-10.7b-instruct4,096 tokensيتفوق في مهام NLP، خاصة في اتباع التعليمات والاستدلال والرياضيات.
writer/palmyra-med-70b-32k32k tokensنموذج LLM رائد للاستجابات الدقيقة والمناسبة للسياق في المجال الطبي.
writer/palmyra-med-70b32k tokensنموذج LLM رائد للاستجابات الدقيقة والمناسبة للسياق في المجال الطبي.
writer/palmyra-fin-70b-32k32k tokensنموذج LLM متخصص في التحليل المالي وإعداد التقارير ومعالجة البيانات
01-ai/yi-large32k tokensنموذج قوي مدرب على الإنجليزية والصينية لمهام متنوعة بما في ذلك روبوتات المحادثة والكتابة الإبداعية.
deepseek-ai/deepseek-coder-6.7b-instruct2k tokensنموذج برمجة قوي يقدم قدرات متقدمة في توليد الكود وإكماله وملء الفراغات
rakuten/rakutenai-7b-instruct1,024 tokensنموذج LLM متطور مع فهم اللغة واستدلال فائق وتوليد النص.
rakuten/rakutenai-7b-chat1,024 tokensنموذج LLM متطور مع فهم اللغة واستدلال فائق وتوليد النص.
baichuan-inc/baichuan2-13b-chat4,096 tokensيدعم المحادثة بالصينية والإنجليزية والبرمجة والرياضيات واتباع التعليمات وحل الألغاز
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
يتيح لك NVIDIA NIM تشغيل نماذج LLM قوية محليًا على جهاز Windows باستخدام WSL2 (نظام Windows الفرعي لـ Linux). يتيح لك هذا النهج الاستفادة من وحدة GPU من NVIDIA لاستدلال ذكاء اصطناعي خاص وآمن وفعال من حيث التكلفة دون الاعتماد على الخدمات السحابية. مثالي لسيناريوهات التطوير والاختبار أو الإنتاج حيث تكون خصوصية البيانات أو القدرات غير المتصلة مطلوبة.إليك دليلًا خطوة بخطوة لإعداد نموذج NVIDIA NIM محلي:
  1. اتبع تعليمات التثبيت من موقع NVIDIA
  2. ثبّت النموذج المحلي. لـ Llama 3.1-8b اتبع التعليمات
  3. أعدّ نماذج crewai المحلية:
Code
from crewai.llm import LLM

local_nvidia_nim_llm = LLM(
    model="openai/meta/llama-3.1-8b-instruct", # it's an openai-api compatible model
    base_url="http://localhost:8000/v1",
    api_key="<your_api_key|any text if you have not configured it>", # api_key is required, but you can use any text
)

# Then you can use it in your crew:

@CrewBase
class MyCrew():
    # ...

    @agent
    def researcher(self) -> Agent:
        return Agent(
            config=self.agents_config['researcher'], # type: ignore[index]
            llm=local_nvidia_nim_llm
        )

    # ...
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
GROQ_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="groq/llama-3.2-90b-text-preview",
    temperature=0.7
)
النموذجنافذة السياقالأفضل لـ
Llama 3.1 70B/8B131,072 tokensمهام عالية الأداء بسياق كبير
Llama 3.2 Series8,192 tokensمهام ذات أغراض عامة
Mixtral 8x7B32,768 tokensأداء متوازن وسياق جيد
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
# Required
WATSONX_URL=<your-url>
WATSONX_APIKEY=<your-apikey>
WATSONX_PROJECT_ID=<your-project-id>

# Optional
WATSONX_TOKEN=<your-token>
WATSONX_DEPLOYMENT_SPACE_ID=<your-space-id>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="watsonx/meta-llama/llama-3-1-70b-instruct",
    base_url="https://api.watsonx.ai/v1"
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
  1. ثبّت Ollama: ollama.ai
  2. شغّل نموذجًا: ollama run llama3
  3. أعدّ:
Code
llm = LLM(
    model="ollama/llama3:70b",
    base_url="http://localhost:11434"
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
FIREWORKS_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="fireworks_ai/accounts/fireworks/models/llama-v3-70b-instruct",
    temperature=0.7
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
PERPLEXITY_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="llama-3.1-sonar-large-128k-online",
    base_url="https://api.perplexity.ai/"
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
HF_TOKEN=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="huggingface/meta-llama/Meta-Llama-3.1-8B-Instruct"
)
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
SAMBANOVA_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="sambanova/Meta-Llama-3.1-8B-Instruct",
    temperature=0.7
)
النموذجنافذة السياقالأفضل لـ
Llama 3.1 70B/8Bحتى 131,072 tokensمهام عالية الأداء بسياق كبير
Llama 3.1 405B8,192 tokensأداء عالٍ وجودة مخرجات
Llama 3.2 Series8,192 tokensمهام عامة ومتعددة الوسائط
Llama 3.3 70Bحتى 131,072 tokensأداء عالٍ وجودة مخرجات
Qwen2 familly8,192 tokensأداء عالٍ وجودة مخرجات
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
# Required
CEREBRAS_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="cerebras/llama3.1-70b",
    temperature=0.7,
    max_tokens=8192
)
ميزات Cerebras:
  • سرعات استدلال عالية
  • أسعار تنافسية
  • توازن جيد بين السرعة والجودة
  • دعم نوافذ سياق طويلة
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
OPENROUTER_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="openrouter/deepseek/deepseek-r1",
    base_url="https://openrouter.ai/api/v1",
    api_key=OPENROUTER_API_KEY
)
نماذج Open Router:
  • openrouter/deepseek/deepseek-r1
  • openrouter/deepseek/deepseek-chat
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'
عيّن متغيرات البيئة التالية في ملف .env:
Code
NEBIUS_API_KEY=<your-api-key>
مثال الاستخدام في مشروع CrewAI:
Code
llm = LLM(
    model="nebius/Qwen/Qwen3-30B-A3B"
)
ميزات Nebius AI Studio:
  • مجموعة كبيرة من النماذج مفتوحة المصدر
  • حدود معدل أعلى
  • أسعار تنافسية
  • توازن جيد بين السرعة والجودة
ملاحظة: يستخدم هذا المزود LiteLLM. أضفه كتبعية لمشروعك:
uv add 'crewai[litellm]'

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

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

# Create an LLM with streaming enabled
llm = LLM(
    model="openai/gpt-4o",
    stream=True  # Enable streaming
)
عند تفعيل البث، يتم تسليم الاستجابات في أجزاء فور توليدها، مما يخلق تجربة مستخدم أكثر استجابة.

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

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

async def main():
    llm = LLM(model="openai/gpt-4o")

    # Single async call
    response = await llm.acall("What is the capital of France?")
    print(response)

asyncio.run(main())
تدعم دالة acall جميع المعاملات نفسها كدالة call المتزامنة، بما في ذلك الرسائل والأدوات ودوال الاسترجاع.

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

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

class Dog(BaseModel):
    name: str
    age: int
    breed: str


llm = LLM(model="gpt-4o", response_format=Dog)

response = llm.call(
    "Analyze the following messages and return the name, age, and breed. "
    "Meet Kona! She is 3 years old and is a black german shepherd."
)
print(response)

# Output:
# Dog(name='Kona', age=3, breed='black german shepherd')

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

تعلّم كيفية الاستفادة القصوى من إعداد LLM:
يتضمن CrewAI ميزات إدارة سياق ذكية:
from crewai import LLM

# CrewAI automatically handles:
# 1. Token counting and tracking
# 2. Content summarization when needed
# 3. Task splitting for large contexts

llm = LLM(
    model="gpt-4",
    max_tokens=4000,  # Limit response length
)
أفضل الممارسات لإدارة السياق:
  1. اختر نماذج بنوافذ سياق مناسبة
  2. عالج المدخلات الطويلة مسبقًا عند الإمكان
  3. استخدم التقسيم للمستندات الكبيرة
  4. راقب استخدام الرموز لتحسين التكاليف
1

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

اختر نافذة السياق المناسبة لمهمتك:
  • المهام الصغيرة (حتى 4K رمز): النماذج القياسية
  • المهام المتوسطة (بين 4K-32K): النماذج المحسّنة
  • المهام الكبيرة (أكثر من 32K): نماذج السياق الكبير
# Configure model with appropriate settings
llm = LLM(
    model="openai/gpt-4-turbo-preview",
    temperature=0.7,    # Adjust based on task
    max_tokens=4096,    # Set based on output needs
    timeout=300        # Longer timeout for complex tasks
)
  • درجة حرارة منخفضة (0.1 إلى 0.3) للاستجابات الواقعية
  • درجة حرارة عالية (0.7 إلى 0.9) للمهام الإبداعية
2

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

  1. راقب استخدام الرموز
  2. نفّذ تحديد المعدل
  3. استخدم التخزين المؤقت عند الإمكان
  4. عيّن حدود max_tokens مناسبة
تذكّر مراقبة استخدام الرموز بانتظام وضبط إعداداتك حسب الحاجة لتحسين التكاليف والأداء.
يستخدم CrewAI داخليًا حزم SDK أصلية لاستدعاءات LLM، مما يتيح لك إسقاط معاملات إضافية غير مطلوبة لحالة الاستخدام الخاصة بك. يمكن أن يساعد هذا في تبسيط كودك وتقليل تعقيد إعداد LLM.
from crewai import LLM
import os

os.environ["OPENAI_API_KEY"] = "<api-key>"

o3_llm = LLM(
    model="o3",
    drop_params=True,
    additional_drop_params=["stop"]
)
يوفر CrewAI معترضات رسائل لعدة مزودين، مما يتيح لك الربط بدورات الطلب/الاستجابة على مستوى طبقة النقل.المزودون المدعومون:
  • OpenAI
  • Anthropic
الاستخدام الأساسي:
import httpx
from crewai import LLM
from crewai.llms.hooks import BaseInterceptor

class CustomInterceptor(BaseInterceptor[httpx.Request, httpx.Response]):
"""Custom interceptor to modify requests and responses."""

def on_outbound(self, request: httpx.Request) -> httpx.Request:
    """Print request before sending to the LLM provider."""
    print(request)
    return request

def on_inbound(self, response: httpx.Response) -> httpx.Response:
    """Process response after receiving from the LLM provider."""
    print(f"Status: {response.status_code}")
    print(f"Response time: {response.elapsed}")
    return response

# Use the interceptor with an LLM
llm = LLM(
model="openai/gpt-4o",
interceptor=CustomInterceptor()
)
ملاحظات مهمة:
  • يجب على كلتا الدالتين إعادة الكائن المستلم أو نوعه.
  • تعديل الكائنات المستلمة قد يؤدي إلى سلوك غير متوقع أو أعطال في التطبيق.
  • ليس كل المزودين يدعمون المعترضات — تحقق من قائمة المزودين المدعومين أعلاه
تعمل المعترضات على مستوى طبقة النقل. مفيدة بشكل خاص لـ:
  • تحويل الرسائل وتصفيتها
  • تصحيح تفاعلات API

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

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

# Anthropic
ANTHROPIC_API_KEY=sk-ant-...