Skip to main content
대용량 애플리케이션을 운영할 때는 모든 트레이스를 LangSmith에 기록하지 않을 수도 있습니다. 샘플링 비율을 사용하면 로그에 기록할 트레이스의 비율을 제어하여 관찰 가능성 요구 사항과 비용 고려 사항 간의 균형을 맞출 수 있습니다.

전역 샘플링 비율 설정

이 섹션은 LangSmith API로 직접 로깅하는 사용자가 아닌 LangSmith SDK 또는 LangChain을 사용하는 사용자에게 해당됩니다.
기본적으로 모든 트레이스는 LangSmith에 기록됩니다. LangSmith에 기록되는 트레이스 수를 다운샘플링하려면 LANGSMITH_TRACING_SAMPLING_RATE 환경 변수를 0(트레이스 없음)과 1(모든 트레이스) 사이의 부동 소수점 값으로 설정하세요. 예를 들어, 다음 환경 변수를 설정하면 트레이스의 75%가 기록됩니다.
export LANGSMITH_TRACING_SAMPLING_RATE=0.75
이 설정은 traceable 데코레이터와 RunTree 객체에 적용됩니다.

클라이언트별로 다른 샘플링 비율 설정

특정 Client 인스턴스에 샘플링 비율을 설정하고 tracing_context 컨텍스트 매니저를 사용할 수도 있습니다:
from langsmith import Client, tracing_context

# 다양한 샘플링 비율로 클라이언트 생성
client_1 = Client(tracing_sampling_rate=0.5)  # 50% 샘플링
client_2 = Client(tracing_sampling_rate=0.25)  # 25% 샘플링
client_no_trace = Client(tracing_sampling_rate=0.0)  # 트레이싱 없음

# 작업별로 다른 샘플링 비율 사용
with tracing_context(client=client_1):
    # 여기에 코드 작성 - 50% 샘플링 비율로 트레이싱됨
    agent_1.invoke(...)

with tracing_context(client=client_2):
    # 여기에 코드 작성 - 25% 샘플링 비율로 트레이싱됨
    agent_1.invoke(...)

with tracing_context(client=client_no_trace):
    # 여기에 코드 작성 - 트레이싱되지 않음
    agent_1.invoke(...)
이를 통해 작업 수준에서 샘플링 비율을 제어할 수 있습니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I