- 높은 trace 환경에서 입력, 출력, 오류, manifest, extra, 이벤트가 데이터베이스 크기를 급격히 증가시킬 수 있습니다.
- LangSmith Managed ClickHouse를 사용하는 경우, 사용자 환경에 있는 blob storage에 민감한 정보를 저장하고 싶을 수 있습니다. 이를 해결하기 위해 LangSmith는 run 입력, 출력, 오류, manifest, extra, 이벤트, 첨부 파일을 외부 blob storage 시스템에 저장하는 것을 지원합니다.
요구사항
Azure blob storage는 Helm chart 버전 0.8.9 이상에서 사용할 수 있습니다. trace 프로젝트 삭제는 Helm chart 버전 0.10.43부터 Azure에서 지원됩니다.
- 유효한 blob storage 서비스에 대한 액세스
- 데이터를 저장할 blob storage의 bucket/directory. LangSmith 데이터를 위한 별도의 bucket/directory를 생성하는 것을 강력히 권장합니다.
-
LangSmith Services가 bucket/directory에 액세스할 수 있도록 허용하는 자격 증명
- LangSmith 인스턴스에 bucket/directory에 액세스하는 데 필요한 자격 증명을 제공해야 합니다. 자세한 내용은 아래 인증 섹션을 참조하세요.
-
S3 또는 GCS를 사용하는 경우, blob storage 서비스의 API url
- LangSmith가 blob storage 시스템에 액세스하는 데 사용할 URL입니다
- Amazon S3의 경우, S3 endpoint의 URL입니다. 예:
https://s3.amazonaws.com또는 리전별 endpoint를 사용하는 경우https://s3.us-west-1.amazonaws.com - Google Cloud Storage의 경우, GCS endpoint의 URL입니다. 예:
https://storage.googleapis.com
인증
Amazon S3
Amazon S3에 인증하려면 bucket에 다음 권한을 부여하는 IAM 정책을 생성해야 합니다.-
(권장) IAM Role for Service Account: LangSmith 인스턴스에 대한 IAM role을 생성하고 해당 role에 정책을 연결할 수 있습니다. 그런 다음 LangSmith에 role을 제공할 수 있습니다. 이것이 프로덕션에서 Amazon S3에 인증하는 권장 방법입니다.
- 정책이 연결된 IAM role을 생성해야 합니다.
- LangSmith service account가 role을 assume할 수 있도록 허용해야 합니다.
langsmith-queue,langsmith-backend,langsmith-platform-backendservice account가 role을 assume할 수 있어야 합니다.사용자 정의 release 이름을 사용하는 경우 service account 이름이 다를 수 있습니다. 클러스터에서kubectl get serviceaccounts를 실행하여 service account 이름을 확인할 수 있습니다. - LangSmith에 role ARN을 제공해야 합니다. Helm Chart 설치에서
queue,backend,platform-backend서비스에eks.amazonaws.com/role-arn: "<role_arn>"annotation을 추가하여 이를 수행할 수 있습니다.
-
Access Key와 Secret Key: LangSmith에 access key와 secret key를 제공할 수 있습니다. 이것이 Amazon S3에 인증하는 가장 간단한 방법입니다. 그러나 보안성이 낮기 때문에 프로덕션 사용에는 권장되지 않습니다.
- 정책이 연결된 사용자를 생성해야 합니다. 그런 다음 해당 사용자에 대한 access key와 secret key를 프로비저닝할 수 있습니다.
-
VPC Endpoint Access: VPC endpoint를 통해 S3 bucket에 대한 액세스를 활성화할 수 있으며, 이를 통해 VPC에서 S3 bucket으로 트래픽이 안전하게 흐를 수 있습니다.
- VPC endpoint를 프로비저닝하고 S3 bucket에 대한 액세스를 허용하도록 구성해야 합니다.
- 이를 구성하는 방법에 대한 지침과 예제는 공개 Terraform 모듈을 참조할 수 있습니다.
S3용 KMS 암호화 헤더 지원
LangSmith Helm chart 버전 0.11.24부터 KMS 암호화 키 헤더를 전달하고 ARN을 제공하여 쓰기에 특정 KMS 키를 강제할 수 있습니다. 이를 활성화하려면 Helm chart에서 다음 값을 설정하세요:Helm
Google Cloud Storage
Google Cloud Storage에 인증하려면 bucket에 액세스하는 데 필요한 권한이 있는service account를 생성해야 합니다.
service account에는 Storage Admin role 또는 동등한 권한이 있는 사용자 정의 role이 필요합니다. 이는 LangSmith가 사용할 bucket으로 범위를 지정할 수 있습니다.
프로비저닝된 service account가 있으면 해당 service account에 대한 HMAC key를 생성해야 합니다. 이 key와 secret은 Google Cloud Storage에 인증하는 데 사용됩니다.
Azure Blob Storage
Azure Blob Storage에 인증하려면 다음 방법 중 하나를 사용하여 LangSmith workload가 container에 액세스할 수 있는 권한을 부여해야 합니다(우선순위 순서로 나열):- Storage account와 access key
- Connection string
- Workload identity (권장), managed identity 또는
DefaultAzureCredential에서 지원하는 환경 변수. 이는 위의 두 옵션에 대한 구성이 없을 때 기본 인증 방법입니다.- workload identity를 사용하려면
queue,backend,platform-backenddeployment에azure.workload.identity/use: truelabel을 추가하세요. 또한 해당 service account에azure.workload.identity/client-idannotation을 추가해야 하며, 이는 기존 Azure AD Application의 client ID 또는 user-assigned managed identity의 client ID여야 합니다. 자세한 내용은 Azure 문서를 참조하세요.
- workload identity를 사용하려면
일부 배포에서는 기본 service URL(
https://<storage_account_name>.blob.core.windows.net/) 대신 Service URL Override를 사용하여 연결 구성을 추가로 사용자 정의해야 할 수 있습니다. 예를 들어, 다른 blob storage 도메인(예: government 또는 china)을 사용하려면 이 override가 필요합니다.CH Search
기본적으로 LangSmith는 검색을 위한 token을 여전히 ClickHouse에 저장합니다. LangSmith Managed Clickhouse를 사용하는 경우, 잠재적으로 민감한 정보가 ClickHouse로 전송되는 것을 방지하기 위해 이 기능을 비활성화할 수 있습니다. blob storage 구성에서 이를 수행할 수 있습니다.구성
bucket을 생성하고 필요한 자격 증명을 얻은 후 blob storage 시스템을 사용하도록 LangSmith를 구성할 수 있습니다.access key와 secret을 사용하는 경우, 인증 정보가 포함된 기존 Kubernetes secret을 제공할 수도 있습니다. 이는 구성에서 access key와 secret key를 직접 제공하는 것보다 권장됩니다. 예상되는 secret key는 생성된 secret 템플릿을 참조하세요.
TTL 구성
LangSmith와 함께 TTL 기능을 사용하는 경우, blob storage에 대한 TTL 규칙도 구성해야 합니다. blob storage에 저장된 trace 정보는 특정 prefix 경로에 저장되며, 이는 데이터의 TTL을 결정합니다. trace의 보존 기간이 연장되면 새로운 연장된 보존 기간과 일치하도록 해당 blob storage 경로가 변경됩니다. 다음 TTL prefix가 사용됩니다:ttl_s/: 단기 TTL, 14일로 구성됩니다.ttl_l/: 장기 TTL, 400일로 구성됩니다.
Amazon S3
blob storage로 S3를 사용하는 경우, 위의 prefix와 일치하는 filter lifecycle 구성을 설정해야 합니다. 이에 대한 정보는 Amazon 문서에서 찾을 수 있습니다. 예를 들어, Terraform을 사용하여 S3 bucket을 관리하는 경우 다음과 같이 설정합니다:Google Cloud Storage
사용 중인 GCS bucket에 대한 lifecycle 조건을 설정해야 합니다. 이에 대한 정보는 Google 문서, 특히 matchesPrefix 사용에서 찾을 수 있습니다. 예를 들어, Terraform을 사용하여 GCS bucket을 관리하는 경우 다음과 같이 설정합니다:Azure blob storage
위의 prefix와 일치하는 객체를 만료시키기 위해 container에 lifecycle 관리 정책을 구성해야 합니다. 예를 들어, Terraform을 사용하여 blob storage container를 관리하는 경우 다음과 같이 설정합니다:Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.