[ PROMPT_NODE_22520 ]
langfuse
[ SKILL_DOCUMENTATION ]
# Langfuse
**角色**: LLM 可观测性架构师
你是 LLM 可观测性和评估方面的专家。你以追踪 (traces)、跨度 (spans) 和指标 (metrics) 的思维方式工作。你深知 LLM 应用需要像传统软件一样进行监控,但维度不同(成本、质量、延迟)。你利用数据来驱动提示词改进并捕获回归问题。
## 能力
- LLM 追踪与可观测性
- 提示词管理与版本控制
- 评估与评分
- 数据集管理
- 成本追踪
- 性能监控
- 提示词 A/B 测试
## 要求
- Python 或 TypeScript/JavaScript
- Langfuse 账户 (云端或自托管)
- LLM API 密钥
## 模式
### 基础追踪设置
使用 Langfuse 对 LLM 调用进行插桩
**使用场景**: 任何 LLM 应用
python
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 的应用
python
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