Label Studio는 대규모 언어 모델(LLM)의 fine-tuning을 위한 데이터 레이블링에 있어 LangChain에 유연성을 제공하는 오픈 소스 데이터 레이블링 플랫폼입니다. 또한 커스텀 학습 데이터 준비와 인간 피드백을 통한 응답 수집 및 평가를 가능하게 합니다.이 가이드에서는 LangChain 파이프라인을
Label Studio에 연결하여 다음을 수행하는 방법을 배웁니다:
- 모든 입력 prompt, 대화 및 응답을 단일
Label Studio프로젝트에 집계합니다. 이를 통해 모든 데이터를 한 곳에 통합하여 더 쉽게 레이블링하고 분석할 수 있습니다. - prompt와 응답을 개선하여 지도 학습 fine-tuning(SFT) 및 인간 피드백을 통한 강화 학습(RLHF) 시나리오를 위한 데이터셋을 생성합니다. 레이블링된 데이터는 LLM의 성능을 향상시키기 위해 추가 학습에 사용될 수 있습니다.
- 인간 피드백을 통해 모델 응답을 평가합니다.
Label Studio는 인간이 모델 응답을 검토하고 피드백을 제공할 수 있는 인터페이스를 제공하여 평가와 반복을 가능하게 합니다.
설치 및 설정
먼저 Label Studio와 Label Studio API client의 최신 버전을 설치합니다:label-studio를 실행하여 http://localhost:8080에서 로컬 LabelStudio 인스턴스를 시작합니다. 더 많은 옵션은 Label Studio 설치 가이드를 참조하세요.
API 호출을 위해서는 token이 필요합니다.
브라우저에서 LabelStudio 인스턴스를 열고 Account & Settings > Access Token으로 이동하여 키를 복사합니다.
LabelStudio URL, API key 및 OpenAI API key로 환경 변수를 설정합니다:
LLM prompt 및 응답 수집
레이블링에 사용되는 데이터는 Label Studio 내의 프로젝트에 저장됩니다. 모든 프로젝트는 입력 및 출력 데이터의 사양을 상세히 설명하는 XML 구성으로 식별됩니다. 텍스트 형식의 인간 입력을 받고 텍스트 영역에서 편집 가능한 LLM 응답을 출력하는 프로젝트를 생성합니다:- Label Studio에서 프로젝트를 생성하려면 “Create” 버튼을 클릭합니다.
- “Project Name” 필드에 프로젝트 이름(예:
My Project)을 입력합니다. Labeling Setup > Custom Template으로 이동하여 위에 제공된 XML 구성을 붙여넣습니다.
LabelStudioCallbackHandler를 통해 연결하여 LabelStudio 프로젝트에서 입력 LLM prompt와 출력 응답을 수집할 수 있습니다:
My Project를 엽니다. prompt, 응답 및 모델 이름과 같은 메타데이터를 확인할 수 있습니다.
Chat 모델 대화 수집
마지막 응답을 평가하고 수정할 수 있는 기능과 함께 LabelStudio에서 전체 채팅 대화를 추적하고 표시할 수도 있습니다:- Label Studio를 열고 “Create” 버튼을 클릭합니다.
- “Project Name” 필드에 프로젝트 이름(예:
New Project with Chat)을 입력합니다. - Labeling Setup > Custom Template으로 이동하여 다음 XML 구성을 붙여넣습니다:
커스텀 레이블링 구성
LabelStudio의 기본 레이블링 구성을 수정하여 응답 감정, 관련성 및 기타 다양한 유형의 주석자 피드백과 같은 더 많은 대상 레이블을 추가할 수 있습니다. 새로운 레이블링 구성은 UI에서 추가할 수 있습니다:Settings > Labeling Interface로 이동하여 감정을 위한 Choices 또는 관련성을 위한 Rating과 같은 추가 태그로 커스텀 구성을 설정합니다. LLM 응답을 표시하려면 TextArea 태그가 모든 구성에 포함되어야 한다는 점을 유념하세요.
또는 프로젝트 생성 전 초기 호출에서 레이블링 구성을 지정할 수 있습니다:
기타 매개변수
LabelStudioCallbackHandler는 여러 선택적 매개변수를 허용합니다:
- api_key - Label Studio API key. 환경 변수
LABEL_STUDIO_API_KEY를 재정의합니다. - url - Label Studio URL.
LABEL_STUDIO_URL을 재정의하며, 기본값은http://localhost:8080입니다. - project_id - 기존 Label Studio 프로젝트 ID.
LABEL_STUDIO_PROJECT_ID를 재정의합니다. 이 프로젝트에 데이터를 저장합니다. - project_name - 프로젝트 ID가 지정되지 않은 경우 프로젝트 이름. 새 프로젝트를 생성합니다. 기본값은 현재 날짜로 포맷된
"LangChain-%Y-%m-%d"입니다. - project_config - 커스텀 레이블링 구성
- mode: 처음부터 대상 구성을 생성하기 위해 이 단축키를 사용합니다:
"prompt"- 단일 prompt, 단일 응답. 기본값입니다."chat"- 다중 턴 채팅 모드.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.