이 페이지에서는 Kubernetes 클러스터에서 LangSmith(관찰성, 추적 및 평가) 를 설정하는 방법을 설명합니다. Helm을 사용하여 LangSmith와 종속성을 설치하게 됩니다.
이 가이드는 관찰성과 평가를 포함하는 기본 LangSmith 플랫폼을 설치하지만, 배포 관리 기능은 포함하지 않습니다. 어떤 것이 필요한지 잘 모르겠다면 자체 호스팅 옵션을 검토하세요.
- ✅ LangSmith UI 및 API: 관찰성, 추적 및 평가 기능 제공
- ✅ 백엔드 서비스: (queue, playground, ACE)
- ✅ 데이터 스토어: (PostgreSQL, Redis, ClickHouse, 선택적 blob 스토리지)
- ❌ 배포 관리: 배포 기능을 추가하려면, 먼저 이 가이드를 완료한 다음 배포 기능이 포함된 LangSmith 자체 호스팅을 따르세요.
- Google Kubernetes Engine (GKE)
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- OpenShift (4.14+)
- Minikube 및 Kind (개발 목적)
LangSmith를 위한 리소스 프로비저닝을 돕는 여러 Terraform 모듈을 제공하고 있습니다. 공개 Terraform 저장소에서 확인할 수 있습니다.지원하는 클라우드 제공자는 다음과 같습니다:위 링크를 클릭하면 각 모듈의 문서를 확인할 수 있습니다. 이 모듈들은 Kubernetes 클러스터, 스토리지, 네트워킹을 포함한 LangSmith에 필요한 인프라를 신속하게 설정할 수 있도록 설계되었습니다.
사전 요구 사항
다음 도구/항목을 준비해야 합니다. 일부 항목은 선택 사항으로 표시되어 있습니다:-
LangSmith 라이선스 키
- LangChain 담당자로부터 받을 수 있습니다. 자세한 내용은 영업팀에 문의하세요.
-
API 키 솔트(Salt)
- 생성할 수 있는 비밀 키입니다. 임의의 문자열이어야 합니다.
- 다음 명령을 사용하여 생성할 수 있습니다:
-
JWT 시크릿 (선택 사항이지만 기본 인증에 사용됨)
- 생성할 수 있는 비밀 키입니다. 임의의 문자열이어야 합니다.
- 다음 명령을 사용하여 생성할 수 있습니다:
데이터베이스
LangSmith는 PostgreSQL 데이터베이스, Redis 캐시, 그리고 추적을 저장하기 위한 ClickHouse 데이터베이스를 사용합니다. 기본적으로 이러한 서비스는 Kubernetes 클러스터 내부에 설치됩니다. 그러나 외부 데이터베이스를 사용하는 것을 강력히 권장합니다. PostgreSQL과 Redis의 경우, 가장 좋은 옵션은 클라우드 제공자의 관리형 서비스입니다. 자세한 내용은 다음 외부 서비스 설정 가이드를 참조하세요:Kubernetes 클러스터 요구 사항
-
kubectl을 통해 액세스할 수 있는 작동하는 Kubernetes 클러스터가 필요합니다. 클러스터는 다음 최소 요구 사항을 충족해야 합니다:-
권장 사항: 최소 16개의 vCPU, 64GB 메모리 사용 가능
- 조직 규모/사용량에 따라 모든 서비스의 리소스 요청/제한을 조정해야 할 수 있습니다. 권장 사항은 여기에서 확인할 수 있습니다.
- 리소스 사용량에 따라 노드를 자동으로 확장/축소하기 위해 클러스터 오토스케일러를 사용하는 것을 권장합니다.
- 오토스케일링을 활성화할 수 있도록 메트릭 서버를 설정하는 것을 권장합니다.
- ClickHouse를 클러스터 내에서 실행하는 경우, ClickHouse가 기본적으로 이 양의 리소스를 요청하므로 최소 4개의 vCPU와 16GB 메모리를 할당 가능한 노드가 있어야 합니다.
-
클러스터에서 유효한 동적 PV 프로비저너 또는 사용 가능한 PV (클러스터 내에서 데이터베이스를 실행하는 경우에만 필요)
- 영속성을 활성화하기 위해 클러스터 내에서 실행되는 모든 데이터베이스에 대해 볼륨을 프로비저닝하려고 시도합니다.
- 클러스터에서 PV를 사용하는 경우, 프로덕션 환경에서는 백업을 설정하는 것을 강력히 권장합니다.
- 더 나은 성능을 위해 SSD로 백업되는 스토리지 클래스를 사용하는 것을 강력히 권장합니다. 7000 IOPS와 1000 MiB/s 처리량을 권장합니다.
- EKS에서는 동적 프로비저닝을 위해
ebs-csi-driver가 설치 및 구성되어 있는지 확인해야 할 수 있습니다. 자세한 내용은 EBS CSI 드라이버 문서를 참조하세요.
출력에는 동적 프로비저닝을 지원하는 프로비저너가 있는 스토리지 클래스가 하나 이상 표시되어야 합니다. 예:스토리지 클래스에 대한 자세한 내용은 Kubernetes 문서를 참조하세요.볼륨 확장을 지원하는 스토리지 클래스를 사용하는 것을 강력히 권장합니다. 추적은 잠재적으로 많은 디스크 공간을 필요로 할 수 있으며, 시간이 지남에 따라 볼륨 크기를 조정해야 할 수 있기 때문입니다.
-
권장 사항: 최소 16개의 vCPU, 64GB 메모리 사용 가능
-
Helm
helm을 설치하려면 Helm 문서를 참조하세요
-
https://beacon.langchain.com에 대한 외부 접속 (오프라인 모드가 아닌 경우)- LangSmith는 라이선스 검증 및 사용량 보고를 위해
https://beacon.langchain.com에 대한 외부 접속이 필요합니다. 이는 LangSmith가 올바르게 작동하는 데 필요합니다. 외부 접속 요구 사항에 대한 자세한 내용은 외부 접속 섹션에서 확인할 수 있습니다.
- LangSmith는 라이선스 검증 및 사용량 보고를 위해
Helm 차트 구성하기:
-
이전 단계의 구성 옵션을 사용하여
langsmith_config.yaml이라는 새 파일을 생성합니다.langsmith_config.yaml파일에서 설정할 수 있는 여러 구성 옵션이 있습니다. 특정 구성 옵션에 대한 자세한 내용은 구성 섹션에서 확인할 수 있습니다.- Kubernetes나 Helm이 처음이라면, Helm 차트 저장소의 examples 디렉토리에 있는 예제 구성 중 하나로 시작하는 것을 권장합니다: LangSmith helm 차트 예제
- Helm 차트 저장소의
values.yaml파일에서 전체 구성 옵션 목록을 확인할 수 있습니다: LangSmith Helm 차트
-
최소한 다음 구성 옵션을 설정해야 합니다 (기본 인증 사용 시):
Kubernetes에 배포하기:
-
Kubernetes 클러스터에 연결할 수 있는지 확인합니다 (참고: 빈 네임스페이스에 설치하는 것을 강력히 권장합니다)
-
kubectl get pods실행 출력은 다음과 유사해야 합니다:
기본 네임스페이스가 아닌 다른 네임스페이스를 사용하는 경우,-n <namespace>플래그를 사용하여helm및kubectl명령에서 네임스페이스를 지정해야 합니다. -
-
LangChain Helm 저장소가 추가되어 있는지 확인합니다. (로컬 차트를 사용하는 경우 이 단계를 건너뛰세요)
-
차트의 최신 버전을 찾습니다. Helm 차트 저장소에서 사용 가능한 버전을 확인할 수 있습니다.
- 일반적으로 최신 버전을 사용하는 것을 권장합니다.
- 또한
helm search repo langchain/langsmith --versions를 실행하여 사용 가능한 버전을 확인할 수도 있습니다. 출력은 다음과 유사합니다:
-
helm upgrade -i langsmith langchain/langsmith --values langsmith_config.yaml --version <version> -n <namespace> --wait --debug실행<namespace>를 LangSmith를 배포할 네임스페이스로 바꿉니다.<version>을 이전 단계에서 설치하려는 LangSmith 버전으로 바꿉니다. 대부분의 사용자는 사용 가능한 최신 버전을 설치해야 합니다.
helm install명령이 실행되고 성공적으로 완료되면 다음과 유사한 출력이 표시됩니다:데이터베이스 및 기타 서비스를 초기화하기 위해 여러 Kubernetes 리소스를 생성하고 여러 작업을 실행하므로 완료하는 데 몇 분이 걸릴 수 있습니다. -
kubectl get pods실행. 이제 출력은 다음과 유사해야 합니다 (사용한 버전 및 구성에 따라 정확한 Pod 이름이 다를 수 있습니다):
배포 검증하기:
-
kubectl get services실행 출력은 다음과 유사해야 합니다: -
langsmith-frontend서비스의 외부 IP로 curl 요청:예상 출력: -
브라우저에서
langsmith-frontend서비스의 외부 IP를 방문합니다 LangSmith UI가 표시되고 작동해야 합니다
LangSmith 사용하기
이제 LangSmith가 실행 중이므로 코드를 추적하는 데 사용할 수 있습니다. 자체 호스팅 LangSmith 사용 방법에 대한 자세한 내용은 자체 호스팅 사용 가이드에서 확인할 수 있습니다. LangSmith 인스턴스가 이제 실행 중이지만 아직 완전히 설정되지 않았을 수 있습니다. 기본 구성 중 하나를 사용한 경우, 기본 관리자 사용자 계정이 생성되어 있습니다.langsmith_config.yaml 파일에 지정한 이메일 주소와 비밀번호로 로그인할 수 있습니다.
다음 단계로 인프라 관리자와 협력하여 다음을 수행하는 것을 강력히 권장합니다:
- LangSmith 인스턴스에 대한 DNS를 설정하여 더 쉽게 액세스할 수 있도록 합니다
- LangSmith에 제출된 추적의 전송 중 암호화를 보장하기 위해 SSL을 구성합니다
- LangSmith 인스턴스를 보호하기 위해 Single Sign-On으로 LangSmith를 구성합니다
- LangSmith를 외부 Postgres 및 Redis 인스턴스에 연결합니다
- 대용량 파일을 저장하기 위해 Blob 스토리지를 설정합니다
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.