跳转到内容

Langfuse 集成

本笔记展示了如何通过 OpenLit SDK 使用 OpenTelemetry 将 LangfuseCrewAI 集成。读完本笔记后,你将能够使用 Langfuse 追踪你的 CrewAI 应用,从而获得更好的可观测性和调试能力。

什么是 Langfuse? Langfuse 是一个开源的 LLM 工程平台。它为 LLM 应用提供追踪和监控能力,帮助开发者调试、分析和优化其 AI 系统。Langfuse 可通过原生集成、OpenTelemetry 以及 API/SDK 与各种工具和框架集成。

Langfuse 概览视频

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

%pip install langfuse openlit crewai crewai_tools

设置你的 Langfuse API keys,并配置 OpenTelemetry 导出设置以将追踪发送到 Langfuse。有关 Langfuse OpenTelemetry 端点 /api/public/otel 以及身份验证的更多信息,请参阅 Langfuse OpenTelemetry 文档

import os
# 从项目设置页面获取你的项目密钥: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" # 🇪🇺 欧盟区域
# os.environ["LANGFUSE_HOST"] = "https://us.cloud.langfuse.com" # 🇺🇸 美国区域
# 你的 OpenAI key
os.environ["OPENAI_API_KEY"] = "sk-proj-..."

设置好环境变量后,我们现在可以初始化 Langfuse 客户端。get_client() 会使用环境变量中提供的凭据初始化 Langfuse 客户端。

from langfuse import get_client
langfuse = get_client()
# 验证连接
if langfuse.auth_check():
print("Langfuse 客户端已通过身份验证并可用!")
else:
print("身份验证失败。请检查你的凭据和主机。")

初始化 OpenLit 的 OpenTelemetry 检测 SDK,以开始捕获 OpenTelemetry 追踪。

import openlit
openlit.init()

步骤 4:创建一个简单的 CrewAI 应用

Section titled “步骤 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
)

运行代理后,你可以在 Langfuse 中查看由 CrewAI 应用生成的追踪。你应该能看到 LLM 交互的详细步骤,这有助于你调试和优化 AI 代理。

CrewAI 在 Langfuse 中的示例追踪

Langfuse 中的公开示例追踪