Langfuse的使用带样例
以下是通过 Langfuse 实现RAG(检索增强生成)系统全链路监控与分析的完整样例,包含 代码实现、数据记录、看板配置 和 实际应用场景:
一、基础配置与初始化
1. 安装与设置
pip install langfuse
from langfuse import Langfuse
# 初始化(从环境变量读取LANGFUSE_KEY/SECRET)
langfuse = Langfuse(
host="https://cloud.langfuse.com", # 或自托管地址
public_key="pk-lf-xxx",
secret_key="sk-lf-xxx"
)
2. 追踪RAG全流程
def rag_pipeline(query: str):
# 创建Trace(单次请求的根记录)
trace = langfuse.trace(
name="rag-query",
input={
"question": query},
metadata={
"env": "production", "user_id": "u123"}
)
# --- 检索阶段 ---
retrieval_span = trace.span(name="retrieval")
contexts = retrieve(query) # 假设返回Top-3文档
retrieval_span.end(
output=contexts,
metadata={
"model": "bge-large", "top_k": 3}
)
# --- 生成阶段 ---
generation_span = trace.span(name="generation")