데이터셋은 일관된 데이터를 사용하여 반복 가능한 평가를 수행할 수 있도록 해줍니다. 데이터셋은 입력값, 출력값, 그리고 선택적으로 참조 출력값을 저장하는 예시로 구성됩니다. 이 페이지에서는 LangSmith UI에서 데이터셋을 생성하고 관리하는 다양한 방법을 설명합니다.

데이터셋 생성 및 예시 추가하기

아래 섹션에서는 LangSmith에서 데이터셋을 생성하고 예시를 추가할 수 있는 여러 방법을 설명합니다. 워크플로우에 따라 예시를 직접 선별하거나, 트레이싱에서 자동으로 캡처하거나, 파일을 가져오거나, 합성 데이터를 생성할 수도 있습니다:

트레이싱 프로젝트에서 수동으로

데이터셋을 구성하는 일반적인 방법은 애플리케이션에서 주목할 만한 트레이스를 데이터셋 예시로 변환하는 것입니다. 이 방법을 사용하려면 LangSmith에 트레이싱을 구성해야 합니다.
데이터셋을 구축하는 한 가지 방법은 사용자 피드백이 좋지 않은 트레이스처럼 가장 흥미로운 트레이스를 필터링하여 데이터셋에 추가하는 것입니다. 트레이스를 필터링하는 팁은 트레이스 필터링 가이드를 참고하세요.
트레이싱 프로젝트에서 데이터셋에 데이터를 수동으로 추가하는 방법은 두 가지가 있습니다. Tracing Projects로 이동하여 프로젝트를 선택하세요.
  1. 실행(run) 테이블에서 여러 실행을 선택합니다. Runs 탭에서 여러 실행을 선택한 후, 페이지 하단에서 Add to Dataset 버튼을 클릭합니다. The Runs table with a run selected and the Add to Dataset button visible at the bottom of the page.
  2. Runs 탭에서 테이블에서 실행을 선택합니다. 개별 실행 상세 페이지에서 우측 상단의 Add to -> Dataset을 선택합니다. Add to dataset 실행 상세 페이지에서 데이터셋을 선택하면, 변환이 적용되었거나 스키마 검증에 실패한 경우를 알려주는 모달이 나타납니다. 예를 들어, 아래 스크린샷은 LLM 실행 수집을 최적화하기 위해 변환을 사용하는 데이터셋을 보여줍니다. Confirmation 이후 실행을 데이터셋에 추가하기 전에 선택적으로 편집할 수 있습니다.

트레이싱 프로젝트에서 자동으로

Run rules를 사용하여 특정 조건에 따라 트레이스를 자동으로 데이터셋에 추가할 수 있습니다. 예를 들어, 특정 사용 사례로 태그되었거나 피드백 점수가 낮은 모든 트레이스를 추가할 수 있습니다.

Annotation Queue의 예시에서

전문가의 도움을 받아 의미 있는 데이터셋을 구축하려면 annotation queues를 사용하여 리뷰어에게 효율적인 뷰를 제공합니다. 인간 리뷰어는 트레이스에서 입력/출력/참조 출력을 데이터셋에 추가하기 전에 선택적으로 수정할 수 있습니다.
Annotation queue는 기본 데이터셋으로 설정할 수 있지만, 화면 하단의 데이터셋 스위처를 사용하여 어떤 데이터셋에든 실행을 추가할 수 있습니다. 올바른 데이터셋을 선택한 후 Add to Dataset을 클릭하거나 단축키 D를 눌러 실행을 추가하세요. Annotation queue에서 실행을 수정하면 해당 내용이 데이터셋에도 반영되며, 실행과 관련된 모든 메타데이터도 복사됩니다. Add to dataset from annotation queue 특정 기준을 충족하는 실행을 annotation queue에 추가하도록 자동화 규칙을 설정할 수도 있습니다.

Prompt Playground에서

Prompt Playground 페이지에서 Set up Evaluation을 선택하고, 새 데이터셋을 시작하려면 +New를 클릭하거나 기존 데이터셋을 선택하세요.
플레이그라운드에서 인라인으로 데이터셋을 생성하는 기능은 중첩 키가 있는 데이터셋에서는 지원되지 않습니다. 중첩 키가 있는 예시를 추가/편집하려면 반드시 데이터셋 페이지에서 편집해야 합니다.
예시를 편집하려면:
  • +Row를 사용하여 데이터셋에 새 예시를 추가하세요
  • 테이블 우측의 드롭다운에서 예시를 삭제하세요
  • 참조 출력이 없는 데이터셋을 만들려면 “Reference Output” 컬럼을 x 버튼으로 제거하세요. 참고: 이 작업은 되돌릴 수 없습니다.
Create a dataset in the playground

CSV 또는 JSONL 파일에서 데이터셋 가져오기

Datasets & Experiments 페이지에서 +New Dataset을 클릭한 후, CSV 또는 JSONL 파일에서 기존 데이터셋을 Import하세요.

Datasets & Experiments 페이지에서 새 데이터셋 생성

  1. 좌측 메뉴에서 Datasets & Experiments 페이지로 이동하세요.
  2. + New Dataset을 클릭하세요.
  3. New Dataset 페이지에서 Create from scratch 탭을 선택하세요.
  4. 데이터셋의 이름과 설명을 추가하세요.
  5. (선택 사항) 데이터셋을 검증하기 위한 데이터셋 스키마를 생성하세요.
  6. Create를 클릭하면 빈 데이터셋이 생성됩니다.
  7. 데이터셋 페이지의 Examples 탭에서 인라인으로 예시를 추가하려면 + Example을 클릭하세요.
  8. 예시를 JSON으로 정의하고 Submit을 클릭하세요. 데이터셋 분할에 대한 자세한 내용은 데이터셋 분할 생성 및 관리를 참고하세요.

LLM이 생성한 합성 예시 추가하기

이미 예시와 스키마가 데이터셋에 정의되어 있다면, + Example을 클릭할 때 Add AI-Generated Examples 옵션이 나타납니다. 이 기능은 LLM을 사용하여 합성 예시를 생성합니다. Generate examples에서 다음을 수행하세요:
  1. 우측 상단의 API Key를 클릭하여 OpenAI API 키를 워크스페이스 비밀로 설정하세요. 워크스페이스에 이미 OpenAI API 키가 설정되어 있다면 이 단계는 건너뛸 수 있습니다.
  2. 를 선택하세요: Automatic 또는 Manual 참조 예시를 토글하세요. 데이터셋에서 직접 예시를 선택하거나 자동 선택 옵션을 사용할 수 있습니다.
  3. 생성할 합성 예시의 개수를 입력하세요.
  4. Generate를 클릭하세요.
    AI-Generated Examples 구성 창. 수동 및 자동 선택, 생성할 예시 개수 선택.
  5. 생성된 예시는 Select generated examples 페이지에 나타납니다. 데이터셋에 추가할 예시를 선택하고, 최종 저장 전에 편집할 수도 있습니다. Save Examples를 클릭하세요.
  6. 각 예시는 지정한 데이터셋 스키마에 따라 검증되며, 소스 메타데이터에 synthetic으로 태그됩니다.
    생성된 예시 선택 페이지. 예시 선택 및 Save examples 버튼.

데이터셋 관리하기

데이터셋 스키마 생성하기

LangSmith 데이터셋은 임의의 JSON 객체를 저장합니다. 데이터셋이 특정 JSON 스키마를 준수하도록 스키마를 정의하는 것을 권장합니다(필수는 아님). 데이터셋 스키마는 표준 JSON schema로 정의되며, 메시지나 도구와 같은 일반적인 프리미티브 타입을 쉽게 지정할 수 있도록 몇 가지 사전 구축 타입이 추가되어 있습니다. 스키마의 특정 필드에는 + Transformations 옵션이 있습니다. 변환은 활성화 시 예시를 데이터셋에 추가할 때 예시를 업데이트하는 전처리 단계입니다. 예를 들어, convert to OpenAI messages 변환은 LangChain 메시지와 같은 메시지 객체를 OpenAI 메시지 포맷으로 변환합니다. 사용 가능한 모든 변환 목록은 참고 문서를 참고하세요.
LangChain ChatModels에서 프로덕션 트레이스를 데이터셋에 수집하거나 LangSmith OpenAI wrapper를 사용하여 OpenAI 호출을 수집할 계획이라면, 메시지와 도구를 업계 표준 OpenAI 포맷으로 변환하는 사전 구축 Chat Model 스키마를 제공합니다. 이를 통해 어떤 모델로도 테스트에 사용할 수 있습니다. 또한 템플릿 설정을 사용 사례에 맞게 커스터마이즈할 수 있습니다.자세한 내용은 데이터셋 변환 참고 문서를 참고하세요.

데이터셋 분할 생성 및 관리

데이터셋 분할은 데이터셋을 여러 부분으로 나누어 데이터를 세분화할 수 있는 기능입니다. 예를 들어, 머신러닝 워크플로우에서는 데이터셋을 학습, 검증, 테스트 세트로 나누는 것이 일반적입니다. 이는 모델이 학습 데이터에는 잘 작동하지만 보지 못한 데이터에는 성능이 떨어지는 과적합을 방지하는 데 유용합니다. 평가 워크플로우에서는 여러 카테고리가 있는 데이터셋을 별도로 평가하거나, 향후 데이터셋에 포함할 새로운 사용 사례를 테스트할 때 분할을 활용할 수 있습니다. 동일한 효과는 메타데이터를 통해 수동으로도 얻을 수 있지만, 분할은 데이터셋을 평가를 위한 그룹으로 고수준으로 조직하는 데 사용되고, 메타데이터는 예시의 태그나 출처 정보 등 세부 정보를 저장하는 데 더 적합합니다. 머신러닝에서는 각 예시가 정확히 하나의 분할에 속하도록 분할을 분리하는 것이 모범 사례입니다. 하지만 LangSmith에서는 일부 평가 워크플로우에 맞게 동일한 예시를 여러 분할에 선택할 수 있도록 허용합니다. 예를 들어, 하나의 예시가 여러 카테고리에 속해 애플리케이션을 평가하고 싶을 때 사용할 수 있습니다. 앱에서 분할을 생성 및 관리하려면 데이터셋에서 일부 예시를 선택한 후 “Add to Split”을 클릭하세요. 팝업 메뉴에서 선택한 예시에 대해 분할을 선택/해제하거나 새 분할을 생성할 수 있습니다. Add to Split

예시 메타데이터 편집하기

예시를 클릭한 후 팝오버 우측 상단의 “Edit”을 클릭하여 메타데이터를 추가할 수 있습니다. 이 페이지에서 기존 메타데이터를 업데이트/삭제하거나 새 메타데이터를 추가할 수 있습니다. 예시의 태그, 버전 정보 등 정보를 저장하는 데 사용할 수 있으며, 실험 결과를 분석할 때 메타데이터로 그룹화하거나, SDK에서 list_examples를 호출할 때 메타데이터로 필터링할 수 있습니다. Add Metadata

예시 필터링하기

예시는 분할, 메타데이터 키/값, 또는 전체 텍스트 검색으로 필터링할 수 있습니다. 이러한 필터링 옵션은 예시 테이블 좌측 상단에서 사용할 수 있습니다.
  • 분할로 필터링: Select split > 필터링할 분할 선택
  • 메타데이터로 필터링: Filters > 드롭다운에서 “Metadata” 선택 > 필터링할 메타데이터 키와 값 선택
  • 전체 텍스트 검색: Filters > 드롭다운에서 “Full Text” 선택 > 검색 기준 입력
여러 필터를 추가할 수 있으며, 모든 필터 조건을 만족하는 예시만 테이블에 표시됩니다. Filters Applied to Examples
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I