أنشئ مفتاح API لـ Portkey مع حدود ميزانية/معدل اختيارية من لوحة تحكم Portkey. يمكنك أيضاً إرفاق إعدادات للموثوقية والتخزين المؤقت والمزيد لهذا المفتاح. المزيد عن هذا لاحقاً.
3
إعداد CrewAI مع Portkey
التكامل بسيط - ما عليك سوى تحديث إعداد LLM في تكوين CrewAI الخاص بك:
from crewai import LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL# Create an LLM instance with Portkey integrationgpt_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", # We are using a Virtual key, so this is a placeholder extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_LLM_VIRTUAL_KEY", trace_id="unique-trace-id", # Optional, for request tracing ))#Use them in your Crew Agents like this: @agent def lead_market_analyst(self) -> Agent: return Agent( config=self.agents_config['lead_market_analyst'], verbose=True, memory=False, llm=gpt_llm )
ما هي المفاتيح الافتراضية؟ تخزّن المفاتيح الافتراضية في Portkey مفاتيح API لمزودي LLM (OpenAI وAnthropic وغيرها) بشكل آمن في خزنة مشفرة. تتيح تدوير المفاتيح وإدارة الميزانية بسهولة. تعرّف على المزيد حول المفاتيح الافتراضية هنا.
يوفر Portkey مراقبة شاملة لوكلاء CrewAI، مما يساعدك على فهم ما يحدث بالضبط أثناء كل عملية تنفيذ.
التتبعات
السجلات
المقاييس ولوحات المعلومات
تصفية البيانات الوصفية
توفر التتبعات عرضاً هرمياً لتنفيذ طاقمك، يظهر تسلسل استدعاءات LLM واستدعاءات الأدوات وانتقالات الحالة.
# Add trace_id to enable hierarchical tracing in Portkeyportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", trace_id="unique-session-id" # Add unique trace ID ))
يسجّل Portkey كل تفاعل مع نماذج LLM، بما في ذلك:
حمولات الطلب والاستجابة الكاملة
مقاييس زمن الاستجابة واستخدام الرموز المميزة
حسابات التكلفة
استدعاءات الأدوات وتنفيذ الدوال
يمكن تصفية جميع السجلات حسب البيانات الوصفية ومعرّفات التتبع والنماذج والمزيد، مما يسهّل تصحيح أخطاء عمليات تشغيل طاقم محددة.
يوفر Portkey لوحات معلومات مدمجة تساعدك على:
تتبع التكلفة واستخدام الرموز المميزة عبر جميع عمليات تشغيل الطاقم
تحليل مقاييس الأداء مثل زمن الاستجابة ومعدلات النجاح
تحديد الاختناقات في سير عمل الوكلاء
مقارنة تكوينات الطاقم ونماذج LLM المختلفة
يمكنك تصفية وتقسيم جميع المقاييس حسب بيانات وصفية مخصصة لتحليل أنواع طواقم أو مجموعات مستخدمين أو حالات استخدام محددة.
أضف بيانات وصفية مخصصة لتكوين LLM في CrewAI لتمكين تصفية وتقسيم قوية:
portkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", metadata={ "crew_type": "research_crew", "environment": "production", "_user": "user_123", # Special _user field for user analytics "request_source": "mobile_app" } ))
يمكن استخدام هذه البيانات الوصفية لتصفية السجلات والتتبعات والمقاييس في لوحة تحكم Portkey، مما يتيح لك تحليل عمليات تشغيل طاقم أو مستخدمين أو بيئات محددة.
عند تشغيل الطواقم في الإنتاج، قد تحدث مشكلات - حدود معدل API أو مشكلات الشبكة أو انقطاعات المزود. تضمن ميزات الموثوقية في Portkey استمرار عمل وكلائك بسلاسة حتى عند حدوث مشكلات.من السهل تفعيل الاحتياط في إعداد CrewAI الخاص بك باستخدام تكوين Portkey:
from crewai import LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL# Create LLM with fallback configurationportkey_llm = LLM( model="gpt-4o", max_tokens=1000, base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", config={ "strategy": { "mode": "fallback" }, "targets": [ { "provider": "openai", "api_key": "YOUR_OPENAI_API_KEY", "override_params": {"model": "gpt-4o"} }, { "provider": "anthropic", "api_key": "YOUR_ANTHROPIC_API_KEY", "override_params": {"model": "claude-3-opus-20240229"} } ] } ))# Use this LLM configuration with your agents
سيحاول هذا التكوين تلقائياً استخدام Claude إذا فشل طلب GPT-4o، مما يضمن استمرار تشغيل طاقمك.
إعادة المحاولة التلقائية
يتعامل مع حالات الفشل المؤقتة تلقائياً. إذا فشل استدعاء LLM، سيعيد Portkey محاولة نفس الطلب لعدد محدد من المرات - مثالي لحدود المعدل أو انقطاعات الشبكة.
مهلة الطلبات
امنع وكلاءك من التعليق. عيّن مهلات لضمان حصولك على استجابات (أو الفشل بأمان) ضمن الأطر الزمنية المطلوبة.
التوجيه الشرطي
أرسل طلبات مختلفة إلى مزودين مختلفين. وجّه التفكير المعقد إلى GPT-4 والمهام الإبداعية إلى Claude والاستجابات السريعة إلى Gemini بناءً على احتياجاتك.
الاحتياط
استمر في العمل حتى لو فشل مزودك الأساسي. انتقل تلقائياً إلى مزودين احتياطيين للحفاظ على التوفر.
موازنة الأحمال
وزّع الطلبات عبر مفاتيح API أو مزودين متعددين. ممتاز لعمليات الطاقم عالية الحجم والبقاء ضمن حدود المعدل.
يساعدك استوديو هندسة الموجهات من Portkey في إنشاء وإدارة وتحسين الموجهات المستخدمة في وكلاء CrewAI. بدلاً من ترميز الموجهات أو التعليمات بشكل ثابت، استخدم API عرض الموجهات من Portkey لجلب وتطبيق موجهاتك المُصدَرة ديناميكياً.
ساحة تجربة الموجهات
استخدام قوالب الموجهات
إصدارات الموجهات
قوالب Mustache للمتغيرات
ساحة تجربة الموجهات هي مكان لمقارنة واختبار ونشر الموجهات المثالية لتطبيق الذكاء الاصطناعي الخاص بك. هي المكان الذي تجرّب فيه نماذج مختلفة وتختبر المتغيرات وتقارن المخرجات وتحسّن استراتيجية هندسة الموجهات قبل النشر في الإنتاج. تتيح لك:
تطوير الموجهات بشكل تكراري قبل استخدامها في وكلائك
اختبار الموجهات مع متغيرات ونماذج مختلفة
مقارنة المخرجات بين إصدارات موجهات مختلفة
التعاون مع أعضاء الفريق في تطوير الموجهات
تجعل هذه البيئة المرئية من الأسهل صياغة موجهات فعالة لكل خطوة في سير عمل وكلاء CrewAI.
يسترجع API عرض الموجهات قوالب الموجهات الخاصة بك مع جميع المعاملات المُعدّة:
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL, Portkey# Initialize Portkey admin clientportkey_admin = Portkey(api_key="YOUR_PORTKEY_API_KEY")# Retrieve prompt using the render APIprompt_data = portkey_client.prompts.render( prompt_id="YOUR_PROMPT_ID", variables={ "agent_role": "Senior Research Scientist", })backstory_agent_prompt=prompt_data.data.messages[0]["content"]# Set up LLM with Portkey integrationportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY" ))# Create agent using the rendered promptresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory=backstory_agent, # Use the rendered prompt verbose=True, llm=portkey_llm)
يمكنك:
إنشاء إصدارات متعددة من نفس الموجه
مقارنة الأداء بين الإصدارات
الرجوع إلى إصدارات سابقة عند الحاجة
تحديد الإصدار المراد استخدامه في كودك:
# Use a specific prompt versionprompt_data = portkey_admin.prompts.render( prompt_id="YOUR_PROMPT_ID@version_number", variables={ "agent_role": "Senior Research Scientist", "agent_goal": "Discover groundbreaking insights" })
تستخدم موجهات Portkey قوالب بنمط Mustache لاستبدال المتغيرات بسهولة:
You are a {{agent_role}} with expertise in {{domain}}.Your mission is to {{agent_goal}} by leveraging your knowledgeand experience in the field.Always maintain a {{tone}} tone and focus on providing {{focus_area}}.
تضمن حواجز الحماية أن وكلاء CrewAI يعملون بأمان ويستجيبون بشكل مناسب في جميع الحالات.لماذا تستخدم حواجز الحماية؟قد يواجه وكلاء CrewAI أوضاع فشل مختلفة:
توليد محتوى ضار أو غير مناسب
تسريب معلومات حساسة مثل المعلومات الشخصية
توهم معلومات غير صحيحة
توليد مخرجات بتنسيقات غير صحيحة
تضيف حواجز حماية Portkey حماية لكل من المدخلات والمخرجات.تطبيق حواجز الحماية
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL# Create LLM with guardrailsportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", config={ "input_guardrails": ["guardrails-id-xxx", "guardrails-id-yyy"], "output_guardrails": ["guardrails-id-zzz"] } ))# Create agent with guardrailed LLMresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)
يمكن لحواجز حماية Portkey:
كشف وحذف المعلومات الشخصية في المدخلات والمخرجات
تصفية المحتوى الضار أو غير المناسب
التحقق من تنسيقات الاستجابة وفقاً للمخططات
التحقق من التوهمات مقابل الحقائق المرجعية
تطبيق منطق الأعمال والقواعد المخصصة
تعرّف على المزيد حول حواجز الحماية
استكشف ميزات حواجز الحماية في Portkey لتعزيز سلامة الوكلاء
تتبع المستخدمين الفرديين عبر وكلاء CrewAI باستخدام نظام البيانات الوصفية في Portkey.ما هي البيانات الوصفية في Portkey؟تتيح لك البيانات الوصفية ربط بيانات مخصصة بكل طلب، مما يمكّن التصفية والتقسيم والتحليلات. الحقل الخاص _user مصمم خصيصاً لتتبع المستخدمين.
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL# Configure LLM with user trackingportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", metadata={ "_user": "user_123", # Special _user field for user analytics "user_tier": "premium", "user_company": "Acme Corp", "session_id": "abc-123" } ))# Create agent with tracked LLMresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)
تصفية التحليلات حسب المستخدممع وجود البيانات الوصفية، يمكنك تصفية التحليلات حسب المستخدم وتحليل مقاييس الأداء على أساس كل مستخدم:
يمكّن هذا:
تتبع التكاليف والميزانية لكل مستخدم
تحليلات مستخدم مخصصة
مقاييس على مستوى الفريق أو المؤسسة
مراقبة خاصة بالبيئة (التجريب مقابل الإنتاج)
تعرّف على المزيد حول البيانات الوصفية
استكشف كيفية استخدام البيانات الوصفية المخصصة لتعزيز تحليلاتك
يدعم CrewAI مزودي LLM متعددين، ويوسّع Portkey هذه القدرة من خلال توفير الوصول إلى أكثر من 200 نموذج LLM عبر واجهة موحدة. يمكنك التبديل بسهولة بين نماذج مختلفة دون تغيير منطق الوكيل الأساسي:
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL# Set up LLMs with different providersopenai_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY" ))anthropic_llm = LLM( model="claude-3-5-sonnet-latest", max_tokens=1000, base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_ANTHROPIC_VIRTUAL_KEY" ))# Choose which LLM to use for each agent based on your needsresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=openai_llm # Use anthropic_llm for Anthropic)
يوفر Portkey الوصول إلى نماذج LLM من مزودين بما في ذلك:
OpenAI (GPT-4o، GPT-4 Turbo، إلخ)
Anthropic (Claude 3.5 Sonnet، Claude 3 Opus، إلخ)
Mistral AI (Mistral Large، Mistral Medium، إلخ)
Google Vertex AI (Gemini 1.5 Pro، إلخ)
Cohere (Command، Command-R، إلخ)
AWS Bedrock (Claude، Titan، إلخ)
النماذج المحلية/الخاصة
المزودون المدعومون
اطلع على القائمة الكاملة لمزودي LLM المدعومين من Portkey
{ "virtual_key": "YOUR_VIRTUAL_KEY_FROM_STEP1", "override_params": { "model": "gpt-4o" // Your preferred model name }}
احفظ ولاحظ اسم التكوين للخطوة التالية
3
إعداد مفتاح API لـ Portkey
الآن أنشئ مفتاح API لـ Portkey وأرفق التكوين الذي أنشأته في الخطوة 2:
انتقل إلى مفاتيح API في Portkey وأنشئ مفتاح API جديد
حدد تكوينك من الخطوة 2
أنشئ واحفظ مفتاح API الخاص بك
4
الاتصال بـ CrewAI
بعد إعداد مفتاح API لـ Portkey مع التكوين المرفق، اربطه بوكلاء CrewAI:
from crewai import Agent, LLMfrom portkey_ai import PORTKEY_GATEWAY_URL# Configure LLM with your API keyportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="YOUR_PORTKEY_API_KEY")# Create agent with Portkey-enabled LLMresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)
مع توسع استخدام الذكاء الاصطناعي، يصبح التحكم في الفرق التي يمكنها الوصول إلى نماذج محددة أمراً بالغ الأهمية. توفر تكوينات Portkey طبقة التحكم هذه مع ميزات مثل:
بعد توزيع مفاتيح API على أعضاء فريقك، يصبح إعداد CrewAI الجاهز للمؤسسة جاهزاً للعمل. يمكن لكل عضو في الفريق الآن استخدام مفاتيح API المخصصة له مع مستويات وصول وضوابط ميزانية مناسبة.راقب الاستخدام في لوحة تحكم Portkey:
يضيف Portkey جاهزية الإنتاج لـ CrewAI من خلال مراقبة شاملة (تتبعات وسجلات ومقاييس) وميزات موثوقية (احتياط وإعادة محاولة وتخزين مؤقت) والوصول إلى أكثر من 200 نموذج LLM عبر واجهة موحدة. هذا يسهّل تصحيح الأخطاء وتحسين وتوسيع تطبيقات الوكلاء.
هل يمكنني استخدام Portkey مع تطبيقات CrewAI الحالية؟
نعم! يتكامل Portkey بسلاسة مع تطبيقات CrewAI الحالية. ما عليك سوى تحديث كود تكوين LLM بالنسخة المُمكّنة من Portkey. يبقى باقي كود الوكيل والطاقم دون تغيير.
هل يعمل Portkey مع جميع ميزات CrewAI؟
يدعم Portkey جميع ميزات CrewAI، بما في ذلك الوكلاء والأدوات وسير العمل مع تدخل بشري وجميع أنواع عمليات المهام (تسلسلي وهرمي وغيرها). يضيف المراقبة والموثوقية دون تقييد أي من وظائف الإطار.
هل يمكنني تتبع الاستخدام عبر وكلاء متعددين في طاقم؟
نعم، يتيح لك Portkey استخدام trace_id متسق عبر وكلاء متعددين في طاقم لتتبع سير العمل بالكامل. هذا مفيد بشكل خاص للطواقم المعقدة حيث تريد فهم مسار التنفيذ الكامل عبر وكلاء متعددين.
كيف أصفّي السجلات والتتبعات لعمليات تشغيل طاقم محددة؟
يتيح لك Portkey إضافة بيانات وصفية مخصصة لتكوين LLM، والتي يمكنك استخدامها للتصفية. أضف حقولاً مثل crew_name أو crew_type أو session_id للعثور على عمليات تنفيذ طاقم محددة وتحليلها بسهولة.
هل يمكنني استخدام مفاتيح API الخاصة بي مع Portkey؟
نعم! يستخدم Portkey مفاتيح API الخاصة بك لمزودي LLM المختلفين. يخزنها بشكل آمن كمفاتيح افتراضية، مما يتيح لك إدارة وتدوير المفاتيح بسهولة دون تغيير كودك.