跳转到主要内容

将 Langfuse 与 CrewAI 集成

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

开始使用

我们将通过一个简单的示例,介绍如何使用 CrewAI 并通过 OpenTelemetry 使用 OpenLit 将其与 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 代理。 Langfuse 中的 CrewAI 示例追踪 Langfuse 中的公开示例追踪

参考资料