LangSmith를 사용하면 추적에 피드백을 쉽게 첨부할 수 있습니다.
이 피드백은 사용자, 주석자, 자동화된 평가자 등으로부터 올 수 있으며 애플리케이션 모니터링 및 평가에 매우 중요합니다.
여기서는 SDK를 사용하여 피드백을 기록하는 방법을 안내합니다.
자식 실행
추적(루트 실행) 자체뿐만 아니라 추적의 모든 자식 실행에 사용자 피드백을 첨부할 수 있습니다.
이는 RAG 파이프라인의 검색 단계 또는 생성 단계와 같은 LLM 애플리케이션의 특정 단계를 비판하는 데 유용합니다.
논블로킹 생성(Python만 해당)
Python 클라이언트는 create_feedback()에 trace_id=를 전달하면 피드백 생성을 자동으로 백그라운드로 처리합니다.
이는 애플리케이션이 피드백 생성으로 인해 차단되지 않도록 하려는 짧은 지연 시간 환경에 필수적입니다.
from langsmith import trace, traceable, Client
@traceable
def foo(x):
return {"y": x * 2}
@traceable
def bar(y):
return {"z": y - 1}
client = Client()
inputs = {"x": 1}
with trace(name="foobar", inputs=inputs) as root_run:
result = foo(**inputs)
result = bar(**result)
root_run.outputs = result
trace_id = root_run.id
child_runs = root_run.child_runs
# 추적(일명 루트 실행)에 대한 피드백 제공
client.create_feedback(
key="user_feedback",
score=1,
trace_id=trace_id,
comment="the user said that ..."
)
# 자식 실행에 대한 피드백 제공
foo_run_id = [run for run in child_runs if run.name == "foo"][0].id
client.create_feedback(
key="correctness",
score=0,
run_id=foo_run_id,
# trace_id=는 선택 사항이지만 일괄 처리 및 백그라운드 피드백 수집을 활성화하려면 권장됩니다.
trace_id=trace_id,
)
create_feedback() / createFeedback()을 사용하여 진행 중인 실행에 대한 피드백도 기록할 수 있습니다. 진행 중인 실행의 실행 ID를 가져오는 방법은 이 가이드를 참조하세요.
사용자 피드백을 포함한 다양한 속성을 기반으로 추적을 필터링하는 방법에 대해 자세히 알아보려면 이 가이드를 참조하세요.