평가는 LLM 애플리케이션 응답의 품질을 측정합니다.
Agent Observability는 트레이스에 대한 몇 가지 기본 제공 평가를 제공하며, Datadog의 SDK 또는 Agent Observability API를 사용하여 자체 평가를 Agent Observability에 제출할 수 있습니다. 평가 레이블에 다음 명명 규칙을 사용하세요.
평가 레이블은 문자로 시작해야 합니다.
평가 레이블에는 ASCII 영숫자 또는 밑줄만 포함되어야 합니다.
공백을 포함한 기타 문자는 밑줄(_)로 변환됩니다.
유니코드는 지원되지 않습니다.
평가 레이블은 200자를 초과할 수 없습니다. UI 관점에서는 100자 미만을 권장합니다.
평가 레이블은 특정 LLM 애플리케이션(ml_app) 및 조직 내에서 고유해야 합니다.
사용자가 제출한 좋아요 또는 싫어요 평가, 수락된 변경 사항, 자유 텍스트 의견 및 기타 신호와 같은 피드백에 대해서는 최종 사용자 피드백을 참조하세요.
SDK를 사용한 외부 평가 제출
Agent Observability SDK는 트레이싱된 LLM 애플리케이션이 Agent Observability에 외부 평가를 제출할 수 있도록 돕는 LLMObs.submit_evaluation() 및 LLMObs.export_span() 메서드를 제공합니다. 자세한 내용은 Python 또는 Node.js SDK 문서를 참조하세요.
풍부한 결과 메타데이터를 포함하는 재사용 가능한 클래스 기반 평가자를 구축하려면 평가 개발자 가이드를 참조하세요.
예시
fromddtrace.llmobsimportLLMObsfromddtrace.llmobs.decoratorsimportllmdefmy_harmfulness_eval(input:Any)->float:score=...# custom harmfulness evaluation logicreturnscore@llm(model_name="claude",name="invoke_llm",model_provider="anthropic")defllm_call():completion=...# user application logic to invoke LLM# joining an evaluation to a span via span ID and trace IDspan_context=LLMObs.export_span(span=None)LLMObs.submit_evaluation(span=span_context,ml_app="chatbot",label="harmfulness",metric_type="score",# can be score or categoricalvalue=my_harmfulness_eval(completion),tags={"type":"custom"},timestamp_ms=1765990800016,# optional, unix timestamp in millisecondsassessment="pass",# optional, "pass" or "fail"reasoning="it makes sense",# optional, judge llm reasoning)
API를 사용한 외부 평가 제출
Agent Observability에서 제공하는 평가 API를 사용하여 스팬, 트레이스 또는 세션과 관련된 평가를 Datadog으로 전송할 수 있습니다. API 사양에 대한 자세한 내용은 Evaluations API를 참조하세요. 재사용 가능한 평가자를 구축하려면 Evaluation Developer Guide를 참조하세요.
OpenTelemetry 스팬에 대한 평가를 Evaluations API로 직접 제출하려면 평가에 source:otel 태그를 포함해야 합니다. 또한, span_id 및 trace_id 값은 10진수 문자열로 제공되어야 합니다. OpenTelemetry 계측에서 16진수 ID를 생성하는 경우, 제출하기 전에 10진수로 변환하세요. 예를 들어, Python에서는 다음과 같습니다. str(int(hex_span_id, 16)).
예시
{"data":{"type":"evaluation_metric","id":"456f4567-e89b-12d3-a456-426655440000","attributes":{"metrics":[{"id":"cdfc4fc7-e2f6-4149-9c35-edc4bbf7b525","join_on":{"tag":{"key":"msg_id","value":"1123132"}},"ml_app":"weather-bot","timestamp_ms":1765990800016,"metric_type":"score","label":"Accuracy","score_value":3,"tags":["source:otel"],"assessment":"pass","reasoning":"it makes sense"}]}}}