General Upgrade Instructions
For general upgrade instructions, please follow the instructions below. Certain versions may have specific upgrade instructions, which will be detailed in more specific upgrade guides.
Kubernetes(Helm)
If you don't have the repo added, run the following command to add it:
helm repo add langchain https://langchain-ai.github.io/helm/
Update your local helm repo
helm repo update
Update your helm chart config file with any updates that are needed in the new version. These will be detailed in the release notes for the new version.
Run the following command to upgrade the chart(replace version with the version you want to upgrade to):
If you are using a namespace other than the default namespace, you will need to specify the namespace in the helm
and kubectl
commands by using the -n <namespace
flag.
helm upgrade <release-name> langchain/langsmith --version <version> --values <path-to-values-file>
Verify that the upgrade was successful:
helm status <release-name>
All pods should be in the Running
state. Verify that clickhouse is running and that both migrations
jobs have completed.
kubectl get pods
NAME READY STATUS RESTARTS AGE
langsmith-backend-95b6d54f5-gz48b 1/1 Running 0 15h
langsmith-pg-migrations-d2z6k 0/1 Completed 0 5h48m
langsmith-ch-migrations-gasvk 0/1 Completed 0 5h48m
langsmith-clickhouse-0 1/1 Running 0 26h
langsmith-frontend-84687d9d45-6cg4r 1/1 Running 0 15h
langsmith-hub-backend-66ffb75fb4-qg6kl 1/1 Running 0 15h
langsmith-playground-85b444d8f7-pl589 1/1 Running 0 15h
langsmith-queue-d58cb64f7-87d68 1/1 Running 0 15h
Validate your deployment:
-
Run
kubectl get services
Output should look something like:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 172.20.0.1 <none> 443/TCP 27d
langsmith-backend ClusterIP 172.20.22.34 <none> 1984/TCP 21d
langsmith-clickhouse ClusterIP 172.20.117.62 <none> 8123/TCP,9000/TCP 21d
langsmith-frontend LoadBalancer 172.20.218.30 <external ip> 80:30093/TCP,443:31130/TCP 21d
langsmith-platform-backend ClusterIP 172.20.232.183 <none> 1986/TCP 21d
langsmith-playground ClusterIP 172.20.167.132 <none> 3001/TCP 21d
langsmith-postgres ClusterIP 172.20.59.63 <none> 5432/TCP 21d
langsmith-redis ClusterIP 172.20.229.98 <none> 6379/TCP 20d
-
Curl the external ip of the
langsmith-frontend
service:curl <external ip>/api/info
{"version":"0.5.7","license_expiration_time":"2033-05-20T20:08:06","batch_ingest_config":{"scale_up_qsize_trigger":1000,"scale_up_nthreads_limit":16,"scale_down_nempty_trigger":4,"size_limit":100,"size_limit_bytes":20971520}}
Check that the version matches the version you upgraded to.
-
Visit the external ip for the
langsmith-frontend
service on your browserThe Langsmith UI should be visible/operational
Docker
Upgrading the Docker version of LangSmith is a bit more involved than the Helm version and may require a small amount of downtime. Please follow the instructions below to upgrade your Docker version of LangSmith.
- Update your
docker-compose.yml
file to the file used in the latest release. You can find this in the LangSmith SDK GitHub repository - Update your
.env
file with any new environment variables that are required in the new version. These will be detailed in the release notes for the new version. - Run the following command to stop your current LangSmith instance:
docker-compose down
- Run the following command to start your new LangSmith instance in the background:
docker-compose up -d
If everything ran successfully, you should see all the LangSmith containers running and healthy.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1c8f01a4ffc langchain/langsmith-frontend:0.5.7 "/entrypoint.sh ngin…" 10 hours ago Up 40 seconds 0.0.0.0:80->80/tcp, 8080/tcp cli-langchain-frontend-1
39e1394846b9 langchain/langsmith-backend:0.5.7 "/bin/sh -c 'exec uv…" 10 hours ago Up 40 seconds 0.0.0.0:1984->1984/tcp cli-langchain-backend-1
f8688dd58f2f langchain/langsmith-go-backend:0.5.7 "./smith-go" 10 hours ago Up 40 seconds 0.0.0.0:1986->1986/tcp cli-langchain-platform-backend-1
006f1303b04d langchain/langsmith-backend:0.5.7 "saq app.workers.que…" 10 hours ago Up 40 seconds cli-langchain-queue-1
73a90242ed3a redis:7 "docker-entrypoint.s…" 10 hours ago Up About a minute (healthy) 0.0.0.0:63791->6379/tcp cli-langchain-redis-1
eecf75ca672b postgres:14.7 "docker-entrypoint.s…" 10 hours ago Up About a minute (healthy) 0.0.0.0:5433->5432/tcp cli-langchain-db-1
3aa5652a864d clickhouse/clickhouse-server:23.9 "/entrypoint.sh" 10 hours ago Up About a minute (healthy) 9009/tcp, 0.0.0.0:8124->8123/tcp, 0.0.0.0:9001->9000/tcp cli-langchain-clickhouse-1
84edc329a37f langchain/langsmith-playground:0.5.7 "docker-entrypoint.s…" 10 hours ago Up About a minute 0.0.0.0:3001->3001/tcp cli-langchain-playground-1
Validate your deployment:
-
Curl the exposed port of the
cli-langchain-frontend-1
container:curl localhost:80/info
{"version":"0.5.7","license_expiration_time":"2033-05-20T20:08:06","batch_ingest_config":{"scale_up_qsize_trigger":1000,"scale_up_nthreads_limit":16,"scale_down_nempty_trigger":4,"size_limit":100,"size_limit_bytes":20971520}}
1 . Visit the exposed port of the cli-langchain-frontend-1
container on your browser
The Langsmith UI should be visible/operational