文档 / Trace URL
Trace URL
每个 trace 都有一个唯一的 URL,你可以用它与他人分享或直接访问。
获取 trace url
有时,直接在 SDK 中获取 trace URL 很有用。例如把它加到你的日志中,或在 notebook 中运行实验时交互式查看。
使用 @observe() 装饰器时:
python
from langfuse import observe, get_client
@observe()
def process_data():
langfuse = get_client()
# Get the URL of the current trace
trace_url = langfuse.get_trace_url()
print(f"View trace at: {trace_url}")
# or pass the trace id
trace_id = langfuse.get_current_trace_id()
trace_url = langfuse.get_trace_url(trace_id=trace_id)
使用上下文管理器时:
python
from langfuse import get_client
langfuse = get_client()
with langfuse.start_as_current_observation(as_type="span", name="process-request") as span:
# Get the URL of this trace
trace_url = langfuse.get_trace_url()
print(f"View trace at: {trace_url}")
# or pass the trace id
trace_id = langfuse.get_current_trace_id()
trace_url = langfuse.get_trace_url(trace_id=trace_id)
ts
import { LangfuseClient } from "@langfuse/client";
import { startObservation } from "@langfuse/tracing";
const langfuse = new LangfuseClient();
const rootSpan = startObservation("my-trace");
const traceUrl = await langfuse.getTraceUrl(rootSpan.traceId);
console.log("Trace URL: ", traceUrl);
利用 Langfuse SDK 与 Langchain 集成的互操作性来获取 trace 的 URL(互操作文档)。
ts
import { CallbackHandler } from "@langfuse/langchain";
import { startActiveObservation } from "@langfuse/tracing";
import { LangfuseClient } from "@langfuse/client";
const langfuse = new LangfuseClient();
const langfuseHandler = new CallbackHandler();
await startActiveObservation("langchain-call", async (span) => {
await chain.invoke(
{ input: "<user_input>" },
{ callbacks: [langfuseHandler] },
);
// Get the trace URL
const traceUrl = await langfuse.getTraceUrl(span.traceId);
console.log("Trace URL: ", traceUrl);
});
通过 url 分享 trace
默认情况下,只有你 Langfuse 项目的成员才能查看 trace。
你可以将 trace 设为 public,通过公开链接分享。这允许他人在无需登录或成为你 Langfuse 项目成员的情况下查看该 trace。
示例:https://cloud.langfuse.com/project/clkpwwm0m000gmm094odg11gi/traces/2d6b96f2-0a4d-4366-99a5-1ad558c66e99
使用 @observe() 装饰器时:
python
from langfuse import observe, get_client
@observe()
def process_data():
langfuse = get_client()
# Make the current trace public
langfuse.set_current_trace_as_public()
使用上下文管理器时:
python
from langfuse import get_client
langfuse = get_client()
with langfuse.start_as_current_observation(as_type="span", name="process-request") as span:
# Make this trace public
span.set_trace_as_public()
# Get the URL to share
trace_id = langfuse.get_current_trace_id()
trace_url = langfuse.get_trace_url(trace_id=trace_id)
print(f"Share this trace at: {trace_url}")
ts
import { startObservation } from "@langfuse/tracing";
const rootSpan = startObservation("my-trace");
rootSpan.setTraceAsPublic();
rootSpan.end();