기본적으로 LangSmith는 공개 Docker 레지스트리에서 이미지를 가져옵니다. 그러나 인터넷 액세스가 없는 환경에서 LangSmith를 실행하거나 프라이빗 Docker 레지스트리를 사용하려는 경우, 자체 레지스트리에 이미지를 미러링한 다음 해당 이미지를 사용하도록 LangSmith 설치를 구성할 수 있습니다.

요구사항

  • Kubernetes 클러스터/머신이 액세스할 수 있는 Docker 레지스트리에 대한 인증된 액세스
  • 로컬 머신 또는 Docker 레지스트리에 액세스할 수 있는 머신에 설치된 Docker
  • LangSmith를 실행할 수 있는 Kubernetes 클러스터 또는 머신

이미지 미러링

편의를 위해 이미지를 미러링할 수 있는 스크립트를 제공했습니다. 스크립트는 LangSmith Helm Chart 저장소에서 찾을 수 있습니다. 스크립트를 사용하려면 레지스트리와 플랫폼을 지정하여 다음 명령으로 스크립트를 실행해야 합니다:
bash mirror_images.sh <your-registry> [<platform>]
여기서 <your-registry>는 Docker 레지스트리의 URL(예: myregistry.com)이고 <platform>은 사용 중인 플랫폼(예: linux/amd64, linux/arm64 등)입니다. 플랫폼을 지정하지 않으면 기본값은 linux/amd64입니다. 예를 들어, 레지스트리가 myregistry.com이고 플랫폼이 linux/arm64이며 최신 버전의 이미지를 사용하려는 경우 다음과 같이 실행합니다:
bash mirror_langsmith_images.sh --registry myregistry --platform linux/arm64 --version 0.10.66
이 스크립트는 Docker가 설치되어 있고 레지스트리에 인증되어 있다고 가정합니다. 또한 원본 이미지와 동일한 repository/tag로 지정된 레지스트리에 이미지를 push합니다. 또는 이미지를 수동으로 pull, mirror, push할 수 있습니다. 미러링해야 하는 이미지는 LangSmith Helm Chart의 values.yaml 파일에서 찾을 수 있습니다. 여기에서 찾을 수 있습니다: LangSmith Helm Chart values.yaml 다음은 Docker를 사용하여 이미지를 미러링하는 예시입니다:
# Pull the images from the public registry
docker pull langchain/langsmith-backend:latest
docker tag langchain/langsmith-backend:latest <your-registry>/langsmith-backend:latest
docker push <your-registry>/langsmith-backend:latest
미러링하려는 각 이미지에 대해 이 작업을 반복해야 합니다.

구성

이미지가 미러링되면 미러링된 이미지를 사용하도록 LangSmith 설치를 구성해야 합니다. LangSmith Helm Chart 설치의 values.yaml 파일 또는 Docker 설치의 .env 파일을 수정하여 이 작업을 수행할 수 있습니다. tag를 사용하려는 버전으로 교체하세요. 예를 들어 작성 시점의 최신 버전인 0.10.66으로 교체합니다.
images:
  imagePullSecrets: [] # Add your image pull secrets here if needed
  registry: "" # Set this to your registry URL if you mirrored all images to the same registry using our script. Then you can remove the repository prefix from the images below.
  aceBackendImage:
    repository: "(your-registry)/langchain/langsmith-ace-backend"
    pullPolicy: IfNotPresent
    tag: "0.10.66"
  backendImage:
    repository: "(your-registry)/langchain/langsmith-backend"
    pullPolicy: IfNotPresent
    tag: "0.10.66"
  frontendImage:
    repository: "(your-registry)/langchain/langsmith-frontend"
    pullPolicy: IfNotPresent
    tag: "0.10.66"
  hostBackendImage:
    repository: "(your-registry)/langchain/hosted-langserve-backend"
    pullPolicy: IfNotPresent
    tag: "0.10.66"
  operatorImage:
    repository: "(your-registry)/langchain/langgraph-operator"
    pullPolicy: IfNotPresent
    tag: "6cc83a8"
  platformBackendImage:
    repository: "(your-registry)/langchain/langsmith-go-backend"
    pullPolicy: IfNotPresent
    tag: "0.10.66"
  playgroundImage:
    repository: "(your-registry)/langchain/langsmith-playground"
    pullPolicy: IfNotPresent
    tag: "0.10.66"
  postgresImage:
    repository: "(your-registry)/postgres"
    pullPolicy: IfNotPresent
    tag: "14.7"
  redisImage:
    repository: "(your-registry)/redis"
    pullPolicy: IfNotPresent
    tag: "7"
  clickhouseImage:
    repository: "(your-registry)/clickhouse/clickhouse-server"
    pullPolicy: Always
    tag: "24.8"
구성이 완료되면 LangSmith 설치를 업데이트해야 합니다. 여기에서 업그레이드 가이드를 따를 수 있습니다: LangSmith 업그레이드. 업그레이드가 성공하면 LangSmith 인스턴스가 이제 Docker 레지스트리의 미러링된 이미지를 사용하게 됩니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I