트레이스 URL
트레이스 URL (Trace URLs)
Langfuse에서 각 트레이스에는 고유한 URL이 있어요. 이 URL은 다른 사람과 공유하거나, 나중에 다시 접근할 때 사용할 수 있어요. 이 문서에서는 SDK에서 트레이스 URL을 가져오는 방법과 트레이스를 공개 링크로 공유하는 방법을 알려드릴게요.
출처: 문서
본문
트레이스 URL 가져오기
때로는 SDKD에서 트레이스 URL을 직접 가져오고 싶을 때가 있어요. 예를 들어 로그에 추가하거나, 노트북에서 실험을 돌릴 때 인터랙티브하게 확인하고 싶은 경우가 그렇죠.
Python SDKJS/TS SDKLangchain (JS/TS)
@observe() 데코레이터를 사용할 때:
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)
컨텍스트 매니저(context manager)를 사용할 때:
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)
JS/TS SDK로 트레이스의 URL을 가져와요.
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 통합의 상호운용성(interoperability)을 이용해 트레이스 URL을 가져올 수도 있어요 (interop docs).
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로 트레이스 공유하기
기본적으로 Langfuse 프로젝트의 멤버만 트레이스를 볼 수 있어요.
트레이스를 public으로 만들면 공개 링크로 공유할 수 있어요. 이렇게 하면 로그인하거나 프로젝트 멤버가 아니어도 다른 사람이 트레이스를 볼 수 있게 돼요.
Langfuse UIPython SDKJS/TS SDK
@observe() 데코레이터를 사용할 때:
from langfuse import observe, get_client
@observe()
def process_data():
langfuse = get_client()
# Make the current trace public
langfuse.set_current_trace_as_public()
컨텍스트 매니저를 사용할 때:
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}")
JS/TS SDK에서는 이렇게 해요.
import { startObservation } from "@langfuse/tracing";
const rootSpan = startObservation("my-trace");
rootSpan.setTraceAsPublic();
rootSpan.end();
더 알아보기 (Learn more)
- 출처 문서: 트레이스 URL (Trace URLs)