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

نظرة عامة على Weave

Weights & Biases (W&B) Weave هو إطار عمل لتتبع وتجربة وتقييم ونشر وتحسين التطبيقات المبنية على نماذج اللغة الكبيرة. نظرة عامة على استخدام تتبع W&B Weave مع CrewAI يوفر Weave دعماً شاملاً لكل مرحلة من مراحل تطوير تطبيق CrewAI:
  • التتبع والمراقبة: تتبع تلقائي لاستدعاءات LLM ومنطق التطبيق لتصحيح الأخطاء وتحليل أنظمة الإنتاج
  • التكرار المنهجي: تحسين والتكرار على الموجهات ومجموعات البيانات والنماذج
  • التقييم: استخدام مقيّمين مخصصين أو مُعدّين مسبقاً لتقييم أداء الوكلاء وتحسينه بشكل منهجي
  • حواجز الحماية: حماية وكلائك بحماية مسبقة ولاحقة للإشراف على المحتوى وسلامة الموجهات
يلتقط Weave التتبعات تلقائياً لتطبيقات CrewAI، مما يمكّنك من مراقبة وتحليل أداء وكلائك وتفاعلاتهم وتدفق التنفيذ. يساعدك هذا في بناء مجموعات بيانات تقييم أفضل وتحسين سير عمل وكلائك.

تعليمات الإعداد

1

تثبيت الحزم المطلوبة

pip install crewai weave
2

إعداد حساب W&B

سجّل في حساب Weights & Biases إذا لم تكن قد فعلت ذلك بالفعل. ستحتاج إليه لعرض التتبعات والمقاييس.
3

تهيئة Weave في تطبيقك

أضف الكود التالي إلى تطبيقك:
import weave

# Initialize Weave with your project name
weave.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 outputs
llm = LLM(model="gpt-4o", temperature=0)

# Create agents
researcher = 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 tasks
research_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 crew
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task],
    verbose=True,
    process=Process.sequential,
)

# Run the crew
result = crew.kickoff(inputs={"topic": "AI in material science"})
print(result)
5

عرض التتبعات في Weave

بعد تشغيل تطبيق CrewAI، قم بزيارة عنوان URL الذي وفره Weave أثناء التهيئة لعرض:
  • استدعاءات LLM وبياناتها الوصفية
  • تفاعلات الوكلاء وتدفق تنفيذ المهام
  • مقاييس الأداء مثل زمن الاستجابة واستخدام الرموز المميزة
  • أي أخطاء أو مشكلات حدثت أثناء التنفيذ
Weave tracing example with CrewAI

الميزات

  • يلتقط Weave تلقائياً جميع عمليات CrewAI: تفاعلات الوكلاء وتنفيذ المهام؛ استدعاءات LLM مع البيانات الوصفية واستخدام الرموز المميزة؛ استخدام الأدوات ونتائجها.
  • يدعم التكامل جميع طرق تنفيذ CrewAI: kickoff() وkickoff_for_each() وkickoff_async() وkickoff_for_each_async().
  • تتبع تلقائي لجميع أدوات crewAI.
  • دعم ميزة التدفق مع تصحيح المزخرفات (@start و@listen و@router و@or_ و@and_).
  • تتبع حواجز الحماية المخصصة المُمررة لمهام CrewAI Task باستخدام @weave.op().
لمعلومات تفصيلية حول ما هو مدعوم، قم بزيارة وثائق Weave CrewAI.

الموارد