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

دمج Langfuse مع CrewAI

يوضح هذا الدفتر كيفية دمج Langfuse مع CrewAI باستخدام OpenTelemetry عبر حزمة OpenLit SDK. بنهاية هذا الدفتر، ستتمكن من تتبع تطبيقات CrewAI مع Langfuse لتحسين المراقبة والتصحيح.
ما هو Langfuse؟ Langfuse هو منصة هندسة LLM مفتوحة المصدر. توفر قدرات التتبع والمراقبة لتطبيقات LLM، مما يساعد المطورين على التصحيح والتحليل والتحسين. يتكامل Langfuse مع أدوات وأطر عمل متنوعة عبر تكاملات أصلية وOpenTelemetry وواجهات API/SDKs.
فيديو نظرة عامة على Langfuse

البدء

سنمر عبر مثال بسيط لاستخدام CrewAI ودمجه مع Langfuse عبر OpenTelemetry باستخدام OpenLit.

الخطوة 1: تثبيت الاعتماديات

%pip install langfuse openlit crewai crewai_tools

الخطوة 2: إعداد متغيرات البيئة

عيّن مفاتيح API لـ Langfuse وإعدادات تصدير OpenTelemetry لإرسال التتبعات إلى Langfuse. يرجى الرجوع إلى وثائق Langfuse OpenTelemetry لمزيد من المعلومات.
import os

# Get keys for your project from the project settings page: https://cloud.langfuse.com
os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-lf-..."
os.environ["LANGFUSE_SECRET_KEY"] = "sk-lf-..."
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com" # 🇪🇺 EU region
# os.environ["LANGFUSE_HOST"] = "https://us.cloud.langfuse.com" # 🇺🇸 US region


# Your OpenAI key
os.environ["OPENAI_API_KEY"] = "sk-proj-..."
مع تعيين متغيرات البيئة، يمكننا الآن تهيئة عميل Langfuse. تهيئ get_client() عميل Langfuse باستخدام بيانات الاعتماد المقدمة في متغيرات البيئة.
from langfuse import get_client

langfuse = get_client()

# Verify connection
if langfuse.auth_check():
    print("Langfuse client is authenticated and ready!")
else:
    print("Authentication failed. Please check your credentials and host.")

الخطوة 3: تهيئة OpenLit

قم بتهيئة OpenLit OpenTelemetry instrumentation SDK لبدء التقاط تتبعات OpenTelemetry.
import openlit

openlit.init()

الخطوة 4: إنشاء تطبيق CrewAI بسيط

سننشئ تطبيق CrewAI بسيط حيث يتعاون عدة وكلاء للإجابة على سؤال المستخدم.
from crewai import Agent, Task, Crew

from crewai_tools import (
    WebsiteSearchTool
)

web_rag_tool = WebsiteSearchTool()

writer = Agent(
        role="Writer",
        goal="You make math engaging and understandable for young children through poetry",
        backstory="You're an expert in writing haikus but you know nothing of math.",
        tools=[web_rag_tool],
    )

task = Task(description=("What is {multiplication}?"),
            expected_output=("Compose a haiku that includes the answer."),
            agent=writer)

crew = Crew(
  agents=[writer],
  tasks=[task],
  share_crew=False
)

الخطوة 5: عرض التتبعات في Langfuse

بعد تشغيل الوكيل، يمكنك عرض التتبعات المولدة من تطبيق CrewAI في Langfuse. سترى خطوات مفصلة لتفاعلات LLM، مما يساعدك في التصحيح والتحسين. مثال تتبع CrewAI في Langfuse مثال تتبع عام في Langfuse

المراجع