대시보드로 프로젝트 모니터링하기
대시보드로 프로젝트 모니터링하기
대시보드는 트레이스 데이터에 대한 높은 수준의 인사이트를 제공해 추세를 파악하고 애플리케이션의 건강 상태를 모니터링하는 데 도움을 줘요. 대시보드는 LangSmith UI의 Monitoring에서 사용할 수 있어요.
LangSmith는 두 가지 대시보드 유형을 제공해요:
- 미리 빌드된 대시보드: 모든 추적 프로젝트에 대해 자동으로 생성.
- 커스텀 대시보드: 필요에 따라 구성할 수 있는 차트 모음. 플랫폼 설정에 따라 두 가지 환경이 제공돼요:
- 커스텀 대시보드: LangSmith Cloud US에서 사용 가능.
- 커스텀 대시보드 (레거시): LangSmith Self-hosted 및 LangSmith Cloud EU/APAC에서 사용 가능.
출처: 문서
본문
미리 빌드된 대시보드
미리 빌드된 대시보드는 각 프로젝트에 대해 자동으로 생성되며 트레이스 수, 오류율, 토큰 사용량 등의 핵심 지표를 다뤄요. 기본적으로 추적 프로젝트 페이지 오른쪽 상단의 Dashboard 버튼을 사용해 추적 프로젝트의 미리 빌드된 대시보드에 접근할 수 있어요.
대시보드 섹션
미리 빌드된 대시보드는 다음 섹션으로 나뉘어요:
| 섹션 | 보여주는 내용 |
|---|---|
| Traces | 트레이스 수, 지연 시간 및 오류율. 트레이스는 단일 작업과 관련된 런의 모음이에요. 예를 들어 사용자 요청이 에이전트를 트리거하면 해당 에이전트 호출의 모든 런이 동일한 트레이스의 일부가 돼요. |
| LLM Calls | LLM 호출 수 및 지연 시간. 런 유형이 "llm"인 모든 런을 포함해요. |
| Cost & Tokens | 총 및 트레이스별 토큰 수와 비용을 토큰 유형별로 세분화해 보여줘요. 비용은 LangSmith의 비용 추적을 사용해 측정돼요. |
| Tools | 도구 이름별로 세분화된 도구 런의 런 수, 오류율 및 지연 시간 통계. 런 유형이 "tool"인 런을 포함해요. 가장 빈번하게 발생하는 상위 5개 도구로 제한돼요. |
| Run Types | 루트 런의 직접 하위 런에 대한 런 수, 오류율 및 지연 시간 통계. 에이전트의 높은 수준 실행 경로를 이해하는 데 도움이 돼요. 가장 빈번하게 발생하는 상위 5개 런 이름으로 제한돼요. |
| Feedback Scores | 가장 빈번하게 발생하는 상위 5개 피드백 유형의 집계 통계. 차트는 숫자 피드백의 평균 점수와 범주형 피드백의 범주 수를 보여줘요. |
Group by
런 태그 또는 메타데이터로 그룹화해서 애플리케이션에 중요한 속성으로 데이터를 분할할 수 있어요. 전역 그룹별 설정은 대시보드 오른쪽 상단에 나타나요. Tool 및 Run Type 차트는 이미 그룹별이 적용되어 있으므로 전역 그룹별은 효과가 없어요. 전역 그룹별은 다른 모든 차트에 적용돼요.
런에 메타데이터를 추가할 때는 트레이스와 특정 런(예: LLM 호출)에 동일한 메타데이터를 두는 것을 권장해요. 메타데이터와 태그는 상위 런에서 하위 런으로(또는 그 반대로) 전파되지 않아요. 메타데이터 키로 트레이스 차트와 LLM 호출 차트를 모두 그룹화하려면 트레이스(루트 런)와 LLM 런 모두에 해당 메타데이터가 첨부되어야 해요.
커스텀 대시보드
LangSmith Cloud US에서 사용 가능해요.
애플리케이션에 가장 중요한 지표를 추적하기 위한 맞춤형 차트 모음을 만드세요.
새 대시보드 만들기
- 왼쪽 사이드바의 Monitoring 탭으로 이동하세요.
- + New Dashboard 버튼을 클릭하세요.
- 대시보드에 이름과 설명을 지정하세요.
- Create를 클릭하세요.
대시보드에 차트 추가하기
- 대시보드 안에서 + New Chart 버튼을 클릭해 차트 생성 창을 여세요.
- 창 상단의 Edit 아이콘을 사용해 차트에 이름과 설명을 지정하세요.
차트 구성
템플릿에서 시작하기 (선택)
템플릿에서 시작하려면 그중 하나를 선택하세요. 일반적인 옵저버빌리티 사용 사례가 포함돼 있어요:
- 시간 경과에 따른 오류율
- 모델별 평균 지연 시간
- 런 볼륨
- 시간 경과에 따른 토큰 사용량
- 가장 비싼 모델
또는 Search templates를 사용해 다른 템플릿을 찾아보세요.
추적 프로젝트 또는 데이터셋 선택하기
+ Select project or dataset을 열어 소스를 찾으세요. 팝오버 상단의 탭으로 두 소스 유형을 전환하세요.
- 추적 프로젝트: 차트별로 하나 또는 여러 개를 추가할 수 있어요. 지표는 각 프로젝트별로 표시되지 않고 선택한 모든 프로젝트의 런을 단일 집합으로 풀링해 계산해요. 프로젝트별로 결과를 분리하려면 Group by를 사용하세요.
- 데이터셋: 차트당 단일 데이터셋을 선택하세요.
- 두 번째 데이터셋을 선택하면 이전 데이터셋을 자동으로 대체해요.
- 차트는 추적 프로젝트 기반이거나 데이터셋 기반이에요. 프로젝트를 선택한 상태에서 데이터셋을 선택하면(또는 그 반대) 기존 선택이 지워져요.
지표 선택하기
드롭다운에서 지표를 선택하세요. 옵션은 측정 대상별로 그룹화돼요:
| 지표 | 설명 | 집계 |
|---|---|---|
| Count | 런의 수. | — |
| Latency | latency_seconds에 대한 집계. |
평균, 백분위 (p50 또는 p99) |
| Time to first token | first_token_seconds에 대한 집계. |
백분위 (p50 또는 p99), 평균 |
| Tokens | Total, Input 또는 Output 토큰 선택. | 합계, 평균, 백분위 |
| Cost | Total, Input 또는 Output 비용 선택. | 합계, 평균, 백분위 |
| Feedback score | 피드백 키 선택. | 평균, 최소, 최대 |
| Ratio | 분자와 분모를 정의하며, 각각 자체 필터가 있는 지표. 오류율, LLM 런 점유율 등에 유용. | — |
여러 지표로 필터링하려면 다음 Filter and group 섹션을 읽어보세요.
필터 및 그룹화
필터로 차트에 표시될 데이터를 정제하고, 그룹으로 여러 시리즈로 분할하세요.
필터가 나타나는 위치는 차트에 지표가 몇 개인지에 따라 달라져요:
- 단일 지표: Filter & group 패널에 + Filter 하나(
where슬롯). 해당 지표에 적용돼요. - 여러 지표 또는 비율: 각 지표(또는 비율)는 Pick a metric 아래 카드 안에 자체 + Filter를 가져요. 차트 전체 필터는 없어요.
필터를 추가하면 기본적으로 런 수준에서 필터링해요. 범위를 넓히려면 필터 선택기를 연 다음 하단의 Advanced 하위 메뉴를 열고 선택하세요:
- 트레이스 필터: 트레이스(루트 런) 수준에서 필터링.
- 트리 필터: 런 중 하나라도 조건과 일치하면 전체 트레이스 트리를 포함.
활성 범위는 Advanced 항목의 접미사로 나타나요 (예: Advanced Tree Filter). 옆의 X를 클릭하면 일반 런 필터로 재설정돼요.
데이터셋 소스는 런/트레이스/트리 필터를 노출하지 않아요. 데이터는 선택한 데이터셋으로 범위가 한정돼요. 필터 구문은 트레이스 필터링 (ClickHouse)을 참고하세요.
그룹화는 같은 차트에 여러 시리즈를 만드는 두 가지 방법 중 하나로 이루어져요:
- Group by: 하나의 속성을 기반으로 데이터를 자동으로 시리즈로 분할. 사용 가능한 속성: 런 이름, 런 유형, 태그, 프로젝트, 메타데이터(
metadata.ls_model_name같은 경로 포함), 피드백 레이블. 그룹은 빈도순으로 순위가 매겨지고 상위 20개로 제한돼요. - 데이터 시리즈: Add another metric 버튼으로 지표를 수동 추가. 각 시리즈는 자체 필터를 가질 수 있어서, 예를 들어 같은 차트에서 "상태가 error인 count"와 "상태가 success인 count"를 비교할 수 있어요.
Group by와 다중 지표는 단일 차트에서 상호 배타적이에요. 그룹별 속성은 하나만 허용돼요. 도넛, 순위 막대, 테이블 차트는 여러 데이터 시리즈를 지원하지 않아요 (추가는 삭제되거나 차단돼요).
시각화 선택하기
시각화 유형을 선택하세요:
- 선 (Line)
- 누적 막대 (Stacked bar)
- KPI
- 순위 막대 (Ranked bar)
- 도넛 (Donut)
- 테이블 (Table)
차트 저장 및 관리
- Save를 클릭해 차트를 대시보드에 저장하세요.
- 차트 오른쪽 상단의 세 점 버튼을 클릭해 차트를 편집하거나 삭제하세요.
- 차트 오른쪽 상단의 세 줄 버튼을 클릭하고 + Clone을 선택해 차트를 복제하세요. 원본과 동일한 구성으로 새 차트 생성 창이 열려요.
대시보드 정리하기
- 차트 재정렬: 차트의 헤더를 끌어 그리드에서 이동하세요.
- 대시보드 시간 범위: 대시보드 상단에서 한 번 설정해요. 각 차트는 자체 버킷 크기를 재정의하지 않는 한 이 범위를 사용해요.
- 대시보드 복제: 대시보드 헤더의 복사 아이콘을 사용하세요. 미리 빌드된 대시보드를 복제하면 차트가 완전히 편집 가능한 커스텀 차트로 변환돼요.
커스텀 대시보드 (레거시)
LangSmith Self-hosted 및 LangSmith Cloud EU/APAC 고객에게 사용 가능해요.
애플리케이션에 가장 중요한 지표를 추적하기 위한 맞춤형 차트 모음을 만드세요.
새 대시보드 만들기
- 왼쪽 사이드바의 Monitor 탭으로 이동하세요.
- + New Dashboard 버튼을 클릭하세요.
- 대시보드에 이름과 설명을 지정하세요.
- Create를 클릭하세요.
대시보드에 차트 추가하기
- 대시보드 안에서 + New Chart 버튼을 클릭해 차트 생성 창을 여세요.
- 차트에 이름과 설명을 지정하세요.
- 차트를 구성하세요.
차트 구성
추적 프로젝트 선택 및 런 필터링
- 지표를 추적할 추적 프로젝트를 하나 이상 선택하세요.
- Chart filters 섹션을 사용해 일치하는 런을 정제하세요. 이 필터는 차트의 모든 데이터 시리즈에 적용돼요. 자세한 내용은 트레이스 필터링 (ClickHouse) 가이드를 참고하세요.
지표 선택하기
- 드롭다운 메뉴에서 지표를 선택해 차트의 y축을 설정하세요. 프로젝트와 지표를 선택하면 차트 미리보기와 일치하는 런이 보여요.
- 특정 지표(지연 시간, 토큰 사용량, 비용 등)의 경우 LangSmith는 동일한 단위의 여러 지표 비교를 지원해요. 예를 들어 프롬프트 토큰과 완료 토큰을 볼 수 있는 차트를 원할 수 있어요. 각 지표는 별도의 선으로 나타나요.
데이터 분할
차트에 여러 시리즈를 만드는 방법은 두 가지가 있어요 (즉, 차트에 여러 선 만들기):
- Group by: 런 태그 또는 메타데이터, 런 이름 또는 런 유형으로 런을 그룹화. Group by는 선택한 필드를 기반으로 데이터를 여러 시리즈로 자동 분할해요. Group by는 기본적으로 빈도별 상위 5개 요소로 제한되며 최대 20까지 구성 가능해요.
- 데이터 시리즈: 개별 필터로 여러 시리즈를 수동 정의. 단일 지표 내에서 세분화된 데이터를 비교하는 데 유용해요.
차트 유형 선택하기
- 시각화를 위해 선 차트와 막대 차트 중에서 선택하세요.
차트 저장 및 관리
- Save를 클릭해 차트를 대시보드에 저장하세요.
- 차트 오른쪽 상단의 세 점 버튼을 클릭해 차트를 편집하거나 삭제하세요.
- 차트 오른쪽 상단의 세 줄 버튼을 클릭하고 + Clone을 선택해 차트를 복제하세요. 원본과 동일한 구성으로 새 차트 생성 창이 열려요.
추적 프로젝트에서 대시보드 연결하기
추적 프로젝트에서 직접 어떤 대시보드로든 연결할 수 있어요. 기본적으로 추적 프로젝트의 미리 빌드된 대시보드가 선택돼요. 대신 연결할 커스텀 대시보드가 있다면:
- 추적 프로젝트에서 Dashboard 버튼 옆의 세 점을 클릭하세요.
- 새 기본값으로 설정할 대시보드를 선택하세요.
예시: 사용자 여정 모니터링
모니터링 차트를 사용해 특정 노드에서 에이전트가 내린 결정을 매핑하세요.
이메일 어시스턴트 에이전트를 생각해보세요. 특정 노드에서 이메일에 대해 다음 결정을 내려요:
- 이메일을 다시 보내기.
- 사용자에게 알리기.
- 응답 불필요.
이러한 결정의 비율을 추적하고 시각화하는 차트를 만들 수 있어요.
차트 만들기
-
지표 선택:
Run count지표를 선택하세요. -
차트 필터: 이름이
triage_input인 모든 트레이스를 포함하도록 트리 필터를 추가하세요. 이는triage_input노드를 거친 트레이스만 포함한다는 뜻이에요. 또한Is Root가true인 차트 필터를 추가해 트레이스의 노드 수로 인해 카운트가 부풀려지지 않도록 하세요. -
데이터 시리즈:
triage_input노드에서 내린 각 결정에 대한 데이터 시리즈를 만드세요. 결정의 출력은 출력 객체의triage.response필드에 저장되며, 결정 값은no,email또는notify중 하나예요. 각 결정은 차트에서 별도의 데이터 시리즈를 생성해요.
이제 시간이 지남에 따라 triage_input 노드에서 내린 결정을 시각화할 수 있어요.