Weights & Biases (W&B) Weave هو إطار عمل لتتبع وتجربة وتقييم ونشر وتحسين التطبيقات المبنية على نماذج اللغة الكبيرة.يوفر Weave دعماً شاملاً لكل مرحلة من مراحل تطوير تطبيق CrewAI:
التتبع والمراقبة: تتبع تلقائي لاستدعاءات LLM ومنطق التطبيق لتصحيح الأخطاء وتحليل أنظمة الإنتاج
التكرار المنهجي: تحسين والتكرار على الموجهات ومجموعات البيانات والنماذج
التقييم: استخدام مقيّمين مخصصين أو مُعدّين مسبقاً لتقييم أداء الوكلاء وتحسينه بشكل منهجي
حواجز الحماية: حماية وكلائك بحماية مسبقة ولاحقة للإشراف على المحتوى وسلامة الموجهات
يلتقط Weave التتبعات تلقائياً لتطبيقات CrewAI، مما يمكّنك من مراقبة وتحليل أداء وكلائك وتفاعلاتهم وتدفق التنفيذ. يساعدك هذا في بناء مجموعات بيانات تقييم أفضل وتحسين سير عمل وكلائك.
سجّل في حساب Weights & Biases إذا لم تكن قد فعلت ذلك بالفعل. ستحتاج إليه لعرض التتبعات والمقاييس.
3
تهيئة Weave في تطبيقك
أضف الكود التالي إلى تطبيقك:
import weave# Initialize Weave with your project nameweave.init(project_name="crewai_demo")
بعد التهيئة، سيوفر Weave عنوان URL حيث يمكنك عرض التتبعات والمقاييس.
4
إنشاء طواقمك/تدفقاتك
from crewai import Agent, Task, Crew, LLM, Process# Create an LLM with a temperature of 0 to ensure deterministic outputsllm = LLM(model="gpt-4o", temperature=0)# Create agentsresearcher = Agent( role='Research Analyst', goal='Find and analyze the best investment opportunities', backstory='Expert in financial analysis and market research', llm=llm, verbose=True, allow_delegation=False,)writer = Agent( role='Report Writer', goal='Write clear and concise investment reports', backstory='Experienced in creating detailed financial reports', llm=llm, verbose=True, allow_delegation=False,)# Create tasksresearch_task = Task( description='Deep research on the {topic}', expected_output='Comprehensive market data including key players, market size, and growth trends.', agent=researcher)writing_task = Task( description='Write a detailed report based on the research', expected_output='The report should be easy to read and understand. Use bullet points where applicable.', agent=writer)# Create a crewcrew = Crew( agents=[researcher, writer], tasks=[research_task, writing_task], verbose=True, process=Process.sequential,)# Run the crewresult = crew.kickoff(inputs={"topic": "AI in material science"})print(result)
5
عرض التتبعات في Weave
بعد تشغيل تطبيق CrewAI، قم بزيارة عنوان URL الذي وفره Weave أثناء التهيئة لعرض:
استدعاءات LLM وبياناتها الوصفية
تفاعلات الوكلاء وتدفق تنفيذ المهام
مقاييس الأداء مثل زمن الاستجابة واستخدام الرموز المميزة
يلتقط Weave تلقائياً جميع عمليات CrewAI: تفاعلات الوكلاء وتنفيذ المهام؛ استدعاءات LLM مع البيانات الوصفية واستخدام الرموز المميزة؛ استخدام الأدوات ونتائجها.
يدعم التكامل جميع طرق تنفيذ CrewAI: kickoff() وkickoff_for_each() وkickoff_async() وkickoff_for_each_async().