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