跳转到主要内容

集成 Langfuse 与 CrewAI

本笔记本演示了如何通过 OpenLit SDK 使用 OpenTelemetry 将 LangfuseCrewAI 集成。通过完成本笔记本,您将能够使用 Langfuse 跟踪您的 CrewAI 应用程序,以提高可观测性和调试能力。
什么是 Langfuse? Langfuse 是一个开源的 LLM 工程平台。它为 LLM 应用程序提供跟踪和监控功能,帮助开发人员调试、分析和优化其 AI 系统。Langfuse 通过原生集成、OpenTelemetry 和 API/SDK 与各种工具和框架集成。
Langfuse Overview Video

开始使用

我们将通过一个简单的示例,演示如何使用 CrewAI 并通过 OpenLit 使用 OpenTelemetry 将其与 Langfuse 集成。

步骤 1:安装依赖项

%pip install langfuse openlit crewai crewai_tools

步骤 2:设置环境变量

设置您的 Langfuse API 密钥并配置 OpenTelemetry 导出设置,以将跟踪数据发送到 Langfuse。有关 Langfuse OpenTelemetry 端点 /api/public/otel 和身份验证的更多信息,请参阅 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 仪器 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 中查看跟踪

运行代理后,您可以在 Langfuse 中查看您的 CrewAI 应用程序生成的跟踪。您应该会看到 LLM 交互的详细步骤,这有助于您调试和优化 AI 代理。 CrewAI example trace in Langfuse Langfuse 中的公共示例跟踪

参考资料