环境
环境让你可以按 production、staging、development 等不同上下文组织你的 trace、observation 和 score。这能帮你:
- 在同一个项目中将开发数据与生产数据保持隔离
- 按环境过滤和分析数据
- 在不同环境之间复用数据集和 prompt
你可以通过设置 LANGFUSE_TRACING_ENVIRONMENT 环境变量(推荐)来配置环境,或在客户端初始化时通过 environment 参数指定。
如果两者都指定,初始化参数优先。
如果都没指定,默认环境为 default。
数据模型
Litefuse 中所有事件都带 environment 属性:
- Trace
- Observation(span、event、generation)
- Score
- 会话
详见 数据模型。
环境必须是符合下列正则的字符串:^(?!langfuse)[a-z0-9-_]+$,最多 40 个字符。
也就是说:
- 不能以 “litefuse” 开头
- 只能包含小写字母、数字、连字符和下划线
用法
from langfuse import get_client, observe
import os
# Set the environment variable
# Alternatively, set via .env file and load via dotenv
os.environ["LANGFUSE_TRACING_ENVIRONMENT"] = "production"
# Get the client (will use environment variable)
langfuse = get_client()
# All operations will now be associated with the "production" environment
with langfuse.start_as_current_observation(as_type="span", name="my-operation") as span:
# Your code here
pass
@observe
def main():
return "Hello"
main()过滤
在 Litefuse UI 中,你可以通过导航栏的环境过滤器按环境过滤事件。该过滤器会作用于 Litefuse 中所有视图。
参见我们的 API 参考 了解如何在 API 上按环境过滤。
管理环境
环境会在第一次以某个 environment 值上报数据时自动创建并持久存在。目前无法通过 UI 删除或重命名。
关于在多个项目和阶段下如何组织、隔离和处理多环境,请参考 FAQ:管理多个环境。
最佳实践
- 保持环境名一致:在你的应用中保持一致的环境命名,便于过滤和分析。
- 按环境分析:使用环境对不同部署阶段的指标进行分析与对比。
- 测试:使用单独的环境进行测试,避免污染生产数据。
这个页面对你有帮助吗?