日志级别
一个 trace 可能有大量 observation(数据模型)。你可以用 level 属性区分 observation 的重要性,从而控制 trace 的详细程度并突出错误与警告。可用的 level 有:DEBUG、DEFAULT、WARNING、ERROR。
除了 level,你还可以加上 statusMessage 提供额外上下文。

使用 @observe() 装饰器 时:
from langfuse import observe, get_client
@observe()
def my_function():
langfuse = get_client()
# ... processing logic ...
# Update the current span with a warning level
langfuse.update_current_span(
level="WARNING",
status_message="This is a warning"
)直接创建 span 或 generation 时:
from langfuse import get_client
langfuse = get_client()
# Using context managers (recommended)
with langfuse.start_as_current_observation(as_type="span", name="my-operation") as span:
# Set level and status message on creation
with span.start_as_current_observation(
name="potentially-risky-operation",
level="WARNING",
status_message="Operation may fail"
) as risky_span:
# ... do work ...
# Or update level and status message later
risky_span.update(
level="ERROR",
status_message="Operation failed with unexpected input"
)
# You can also update the currently active span without a direct reference
with langfuse.start_as_current_observation(as_type="span", name="another-operation"):
# ... some processing ...
langfuse.update_current_span(
level="DEBUG",
status_message="Processing intermediate results"
)创建 generation 时也可以设置 level:
langfuse = get_client()
with langfuse.start_as_current_observation(
as_type="generation",
name="llm-call",
model="gpt-4o",
level="DEFAULT" # Default level
) as generation:
# ... make LLM call ...
if error_detected:
generation.update(
level="ERROR",
status_message="Model returned malformed output"
)按日志级别过滤 Trace
在查看单个 trace 时,你可以按日志级别过滤其中的 observation。
这个页面对你有帮助吗?