LangSmith: LLM과 AI 어플리케이션을 테스트하는 최고의 방법
Published on
언어 학습 모델 (LLM)의 세계에서 LangSmith라는 이름을 들어보셨을 겁니다. 하지만 LangSmith가 어떻게 하면 당신의 LLM 어플리케이션을 좋은 것에서 훌륭한 것으로 변화시킬 수 있는지 알고 계십니까? 이 기사는 LangSmith를 이해하는 데 필요한 모든 것을 다루는 단 하나의 가이드입니다. 디버깅, 테스트, 평가, 모니터링 LLM 어플리케이션을 위한 다양한 기능을 제공하는 플랫폼인 LangSmith를 소개합니다.
LLMs 분야에서 경험이 풍부한 개발자이든 초보이든, LangSmith는 모두에게 적합한 기능을 제공합니다. LangChain과 완벽하게 통합되어 있는 LangSmith는 현장에서 사용할 수 있는 다양한 예시로 가득 찬 강력한 Cookbook과 함께 게임 체인저입니다. 자세히 알아보죠!
LangSmith란 무엇인가요?
LangSmith은 LLM 어플리케이션을 제품 수준의 품질로 끌어올리기 위해 설계된 혁신적인 플랫폼입니다. 그 의미는 무엇일까요? 간단히 말하면, LangSmith는 모든 LLM 프레임워크를 기반으로 한 지능형 에이전트 및 체인을 구축, 테스트, 배포하기 위한 도구입니다. 이 플랫폼은 오픈소스 LangChain 프레임워크의 개발사인 동일한 LangChain에 의해 개발되었으며 완벽하게 통합됩니다.
LangSmith의 주요 기능
-
디버깅 및 테스트: LangSmith는 구축뿐만 아니라 올바르게 구축하는 것이 중요합니다. 이 플랫폼은 대화식 튜토리얼과 빠른 시작 가이드를 제공하여 신속하게 구축할 수 있도록 도와줍니다. 파이썬, TypeScript 또는 다른 언어로 코딩을 하더라도, LangSmith가 모든 것을 다룰 수 있습니다.
-
API 및 환경 설정: 구축하기 전에 환경을 설정해야 합니다. LangSmith는 API 키 접근 및 간단한 환경 구성 단계로 이를 쉽게 수행할 수 있습니다. 예를 들어,
pip install -U langchain
과 같은 간단한 명령을 사용하여 대상 환경에 대한 최신 버전의 LangChain을 설치할 수 있습니다. -
추적 기능: LangSmith의 주목할만한 기능 중 하나는 코드 추적 기능입니다. 이는 디버깅 및 어플리케이션 개선에 중요합니다. 실행 이름을 사용자 정의할 수 있으며, 중첩 호출을 추적할 수 있습니다.
LangSmith를 선택하는 이유
-
사용 편의성: LangSmith는 사용자 친화성을 고려하여 설계되었습니다. 사용을 시작하는 데 도움을 주는 다양한 튜토리얼과 문서가 제공됩니다.
-
다양성: 작은 프로젝트든 대규모 어플리케이션이든, LangSmith는 여러분의 요구를 충족하는 도구입니다.
-
커뮤니티 지원: LangSmith에는 항상 도움을 줄 준비가 된 개발자와 전문가로 구성된 강력한 커뮤니티가 있습니다. 커뮤니티 포럼에 참여하거나 Cookbook에 여러분만의 예시를 기여할 수 있습니다.
지금까지 LangSmith가 무엇인지와 LLM 작업을 하는 모든 사람에게 가치 있는 자산인 이유에 대해 잘 이해하셨을 겁니다. 다음 섹션에서는 LangSmith를 설정하는 방법과 그 기능을 최대한 활용하는 방법에 대해 자세히 알아보겠습니다.
LangSmith 설정하기
LangSmith를 설정하는 것은 사용자 친화적인 인터페이스와 잘 정리된 단계들 덕분에 아주 쉽습니다. 하지만 뛰어들기 전에 API 키가 필요합니다. 걱정하지 마세요, 얻는 것은 아주 간단합니다.
API 키를 얻는 단계
-
LangSmith 계정 생성: LangSmith 웹사이트로 이동하여 계정을 생성하세요. 다양한 지원하는 로그인 방법을 사용할 수 있습니다.
-
설정으로 이동: 계정이 설정되면 설정 페이지로 이동하세요. 여기에서 API 키를 생성하는 옵션을 찾을 수 있습니다.
-
API 키 생성: 'API 키 생성' 버튼을 클릭하면, 완료! API 키를 얻었습니다.
환경 설정하기
API 키를 얻은 후에는 런타임 환경을 구성해야 합니다. LangSmith는 간단한 쉘 명령을 사용하여 이를 수행할 수 있도록 해줍니다. 다음은 그 방법입니다:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
export LANGCHAIN_API_KEY=<your-api-key>
<your-api-key>
자리에 앞서 생성한 API 키로 대체하세요. 이러한 명령은 환경 변수를 설정하여 LangSmith와 상호작용을 보다 쉽게 할 수 있도록 해줍니다.
LangSmith Cookbook: 실무의 LangSmith 예시
LangSmith Cookbook은 코드 조각 컴필뿐만 아니라 프로젝트에서 영감을 주고 도움을 주는 많은 실습 예시들의 보물창고입니다. LLM 분야의 초심자이든 전문가이든, Cookbook은 일반적인 패턴과 실제 사용 사례에 대한 실용적인 통찰력을 제공합니다. 그러면 LangSmith Cookbook이 제공하는 내용을 더 자세히 알아보겠습니다.
LangSmith Cookbook이란?
LangSmith Cookbook은 LangSmith 사용에 대한 실용적인 가이드로서, 표준 문서에 나와있는 기본기를 넘어 일반적인 패턴과 실제 사용 사례로 파고드는 컴파일되지 않은 저장소입니다. 이러한 레시피는 LLM 어플리케이션을 디버깅, 평가, 테스트 및 지속적으로 개선하는 데 도움을 줍니다.
여러분의 의견이 중요합니다
Cookbook은 커뮤니티가 협업하는 자원입니다. 자신의 통찰력을 공유하거나 특정 사용 사례가 누락되었다고 생각한다면, GitHub 이슈를 제기하거나 LangChain 개발팀에 문의해주세요. 여러분의 전문 지식은 이 커뮤니티를 형성하여 Cookbook을 동적이고 끊임없이 발전하는 자원으로 만듭니다.
Cookbook에서 주요 예시
코드 추적하기
-
LangChain 없이 추적하기 (opens in a new tab): Python SDK의
@traceable
데코레이터를 사용하여 LangChain과 독립적으로 애플리케이션을 추적하는 방법을 배워보세요. -
REST API (opens in a new tab): LLM 및 채팅 모델 실행에 대해 로깅하는 REST API 기능 및 중첩 실행을 이해하세요.
-
사용자 지정 실행 이름 (opens in a new tab): 특정 이름을 지정하여 LangSmith 체인 실행의 UI 명확성을 향상시킵니다. 체인, 람다 함수 및 에이전트에 대한 예제가 포함됩니다.
-
도구 내 재귀 호출 추적 (opens in a new tab): 하위 도구의 모든 재귀 호출을 단일 추적에 포함하는 방법을 학습합니다.
-
추적 링크 표시 (opens in a new tab): 응용 프로그램에 추적 링크 추가하여 개발 속도를 높입니다. 이를 통해 실행 흐름을 빠르게 확인하거나 실행에 피드백을 추가하거나 실행을 데이터 세트에 추가할 수 있습니다.
LangChain Hub
-
검색 QA 체인 (opens in a new tab): 허브에서 예시 RAG 파이프라인에 사용되는 프롬프트 사용.
-
프롬프트 버전 관리 (opens in a new tab): 특정 프롬프트 버전을 선택하여 배치 안정성 보장.
-
실행 가능한 프롬프트 템플릿 (opens in a new tab): 놀이터에서 허브에 프롬프트 저장 및 실행 가능한 체인에 통합.
테스트 및 평가
-
Q&A 시스템 정확도 (opens in a new tab): 데이터 세트에서 검색-보강형 Q&A 파이프라인의 종단간 평가 수행.
-
동적 데이터를 사용한 Q&A 시스템 평가 (opens in a new tab): 레이블을 역참조하는 평가자 사용하여 시간 경과에 따라 변경되는 데이터 처리.
-
고정된 소스를 사용한 RAG 평가 (opens in a new tab): 데이터 세트에서 검색된 문서를 제공하여 RAG 파이프라인의 응답 구성 요소를 평가.
-
비교 평가 (opens in a new tab): 라벨 기반 선호도 점수 사용하여 시스템 버전 비교 및 가장 최적의 출력 결정.
-
Pytest에서 LangSmith 사용 (opens in a new tab): pytest에서 체인을 벤치마킹하고 결과 지표가 품질 기준을 충족하는지 확인.
-
Pytest를 사용한 단위 테스트 (opens in a new tab): 개별 단위 테스트 작성 및 피드백으로서의 로그 어설션.
-
기존 실행 평가 (opens in a new tab): 기존 실행 트레이스에 AI 지원 피드백 및 평가 지표 추가.
-
테스트 프로젝트 이름 지정 (opens in a new tab):
run_on_dataset(..., project_name='my-project-name')
으로 테스트 이름 수동 지정. -
피드백 및 예시 다운로드 방법 (opens in a new tab): 예측, 평가 결과 및 기타 정보를 프로그래밍 방식으로 보고서에 추가하려면 내보냅니다.
TypeScript / JavaScript 테스트 예제
-
Python에서 JS 체인 평가 (opens in a new tab): 사용자 정의 Python 평가자를 사용하여 JS 체인 평가.
-
피드백으로서의 어설션 기록 (opens in a new tab): CI 테스트 어설션을 LangSmith 피드백으로 변환.
피드백 사용
-
Streamlit 채팅 앱 (opens in a new tab): 사용자 피드백을 캡처하고 채팅 애플리케이션의 추적을 공유하는 최소한의 채팅 앱.
-
Next.js 채팅 앱 (opens in a new tab): Next.js 버전을 위한 채팅 앱.
-
실시간 알고리즘 피드백 (opens in a new tab): 비동기 콜백을 사용하여 모든 실행에 대해 피드백 지표 생성.
-
실시간 RAG 챗봇 평가 (opens in a new tab): 검색된 문서 대비 RAG 챗봇 응답에서 환각 여부 자동 확인.
세부 조정 데이터 내보내기
-
OpenAI 세부 조정 (opens in a new tab): LLM 실행 목록 및 OpenAI 세부 조정 형식으로 변환.
-
Lilac 데이터셋 선별 (opens in a new tab): Lilac을 사용하여 가까운 중복을 감지하고 PII를 확인하여 LangSmith 데이터셋을 추가 선별.
탐색적 데이터 분석
-
LLM 실행 및 피드백 내보내기 (opens in a new tab): 다양한 분석 플랫폼용 LangSmith LLM 실행 데이터 추출 및 해석.
-
Lilac (opens in a new tab): 오픈 소스 분석 도구인 Lilac을 사용하여 데이터를 보다 잘 레이블링하고 구성합니다.
이러한 예제를 탐색하면 LangSmith의 기능을 포괄적으로 이해하여 LLM 애플리케이션을 다음 단계로 전환할 수 있습니다. 그렇다면 기다리지 마세요! LangSmith Cookbook으로 뛰어들어 코드 마법을 요리해 보세요!
결론
LangSmith는 또 다른 도구에 불과하지 않습니다. LLM 애플리케이션을 다음 단계로 전환할 수 있는 포괄적인 플랫폼입니다. 강력한 추적 기능부터 LangChain Hub와의 원활한 통합까지, LangSmith는 사용자의 생활을 편리하게 만들기 위해 다양한 기능을 제공합니다. 그리고 우리가 LangSmith Cookbook을 놓치지 말아야 합니다. 이 책은 현실 세계의 예제와 실습 코드 스니펫의 보고서입니다. 시작하든 기존 애플리케이션을 최적화하든, LangSmith가 지원합니다.
자주 묻는 질문
LangSmith는 무엇을 하는가?
LangSmith는 LLM 애플리케이션을 구축, 테스트, 평가 및 모니터링하는 데 도움을 주기 위해 설계된 플랫폼입니다. 추적, API 액세스 및 실제 예제로 채워진 Cookbook과 같은 다양한 기능을 제공합니다.
LangSmith와 LangChain의 차이점은 무엇인가요?
LangSmith는 LLM 애플리케이션을 구축하고 관리하는 데 중점을 두고 있으며, LangChain은 언어 모델을 개발하기 위한 프레임워크로 사용됩니다. LangSmith는 LangChain과 완벽하게 통합되어 모든 LLM 요구 사항을 위한 통합 플랫폼을 제공합니다.
LangSmith에 어떻게 액세스할 수 있나요?
LangSmith에 액세스하려면 해당 웹사이트에서 계정을 등록해야 합니다. 등록한 후에는 플랫폼과 상호 작용할 수 있는 API 키를 생성할 수 있습니다.