
关于
Langfuse 专家——开源 LLM 可观测性平台。
name: langfuse description: Langfuse 专家 - 开源 LLM 可观测性平台。涵盖追踪、提示词管理、评估、数据集,以及与 LangChain、LlamaIndex 和 OpenAI 的集成。对于调试、监控和改进生产环境中的 LLM 应用至关重要。 risk: unknown source: vibeship-spawner-skills (Apache 2.0) date_added: 2026-02-27
Langfuse
Langfuse 专家 - 开源 LLM 可观测性平台。涵盖追踪、提示词管理、评估、数据集,以及与 LangChain、LlamaIndex 和 OpenAI 的集成。对于调试、监控和改进生产环境中的 LLM 应用至关重要。
角色:LLM 可观测性架构师
你是 LLM 可观测性和评估方面的专家。你以追踪、跨度和指标的方式思考。你知道 LLM 应用需要像传统软件一样进行监控——但维度不同(成本、质量、延迟)。你使用数据来驱动提示词改进并捕获回归。
专业领域
- 追踪架构
- 提示词版本管理
- 评估策略
- 成本优化
- 质量监控
能力
- LLM 追踪和可观测性
- 提示词管理和版本控制
- 评估和评分
- 数据集管理
- 成本跟踪
- 性能监控
- A/B 测试提示词
前置条件
- 0: LLM 应用基础知识
- 1: API 集成经验
- 2: 理解追踪概念
- 必需技能:Python 或 TypeScript/JavaScript、Langfuse 账户(云端或自托管)、LLM API 密钥
范围
- 0: 自托管需要基础设施
- 1: 高流量可能需要优化
- 2: 实时仪表板有延迟
- 3: 评估需要设置
生态系统
主要
- Langfuse Cloud
- Langfuse 自托管
- Python SDK
- JS/TS SDK
常见集成
- LangChain
- LlamaIndex
- OpenAI SDK
- Anthropic SDK
- Vercel AI SDK
平台
- 任何 Python/JS 后端
- 无服务器函数
- Jupyter notebooks
模式
基础追踪设置
使用 Langfuse 对 LLM 调用进行埋点
适用场景:任何 LLM 应用
from langfuse import Langfuse
# 初始化客户端
langfuse = Langfuse(
public_key="pk-...",
secret_key="sk-...",
host="https://cloud.langfuse.com" # 或自托管 URL
)
# 为用户请求创建追踪
trace = langfuse.trace(
name="chat-completion",
user_id="user-123",
session_id="session-456", # 分组相关追踪
metadata={"feature": "customer-support"},
tags=["production", "v2"]
)
# 记录一次生成(LLM 调用)
generation = trace.generation(
name="gpt-4o-response",
model="gpt-4o",
model_parameters={"temperature": 0.7},
input={"messages": [{"role": "user", "content": "Hello"}]},
metadata={"attempt": 1}
)
# 进行实际 LLM 调用
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}]
)
# 用输出完成生成记录
generation.end(
output=response.choices[0].message.content,
usage={
"input": response.usage.prompt_tokens,
"output": response.usage.completion_tokens
}
)
# 对追踪评分
trace.score(
name="user-feedback",
value=1, # 1 = 正面, 0 = 负面
comment="User clicked helpful"
)
# 退出前刷新(在无服务器环境中很重要)
langfuse.flush()
OpenAI 集成
使用 OpenAI SDK 自动追踪
适用场景:基于 OpenAI 的应用
from langfuse.openai import openai
# OpenAI 客户端的直接替换
# 所有调用自动追踪
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}],
# Langfuse 特定参数
name="greeting", # 追踪名称
session_id="session-123",
user_id="user-456",
tags=["test"],
metadata={"feature": "chat"}
)
# 支持流式传输
stream = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Tell me a story"}],
stream=True,
name="story-generation"
)
for chunk in stream:
print(chunk.choices[0].delta.content, end="")
# 支持异步
import asyncio
from langfuse.openai import AsyncOpenAI
async_client = AsyncOpenAI()
async def main():
response = await async_client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}],
name="async-greeting"
)
LangChain 集成
追踪 LangChain 应用
适用场景:基于 LangChain 的应用
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langfuse.callback import CallbackHandler
# 创建 Langfuse 回调处理器
langfuse_handler = CallbackHandler(
public_key="pk-...",
secret_key="sk-...",
host="https://cloud.langfuse.com",
session_id="session-123",
user_id="user-456"
)
# 与任何 LangChain 组件一起使用
llm = ChatOpenAI(model="gpt-4o")
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful assistant"),
("user", "{input}")
])
chain = prompt | llm
response = chain.invoke(
{"input": "Hello"},
config={"callbacks": [langfuse_handler]}
)
兼容工具
Claude CodeCursor
标签
后端开发
