{"id":59841,"date":"2026-01-14T15:06:28","date_gmt":"2026-01-14T07:06:28","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/59841.html"},"modified":"2026-01-14T15:06:28","modified_gmt":"2026-01-14T07:06:28","slug":"langgraph-1-0-%e9%83%a8%e7%bd%b2%e5%a4%a7%e5%85%a8%ef%bc%81%e4%b8%89%e7%a7%8d%e6%a8%a1%e5%bc%8f%e5%85%a8%e9%9d%a2%e8%a6%86%e7%9b%96%ef%bc%8c%e7%8b%ac%e7%ab%8b%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%88%b0","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/59841.html","title":{"rendered":"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01"},"content":{"rendered":"<h2><\/h2>\n<p>langgraph 1.0\u6b63\u5f0f\u7248\u672c\u540e&#xff0c;\u6709\u4e09\u79cd\u90e8\u7f72\u7684\u65b9\u5f0f&#xff0c; \u5148\u8bf4\u7ed3\u8bba&#xff1a;<\/p>\n<p>\u5982\u679c\u53ea\u662f\u90e8\u7f72\u81ea\u5df1\u7684langgraph\u670d\u52a1 \u4f7f\u7528\u72ec\u7acb\u670d\u52a1\u5668(standalone server)\u5c31\u53ef\u4ee5<\/p>\n<p>\u5982\u679c\u4f60\u9700\u8981\u672c\u5730\u7684langsmith\u7528\u6765\u76d1\u63a7&#xff0c;\u4e0d\u9700\u8981\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith\u65b9\u5f0f<\/p>\n<p>\u5982\u679c\u4f60\u8fd8\u8981langsmith\u7684\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith with deployment<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070621-6967406daaa6b.png\" alt=\"\" \/><\/p>\n<p>\u4e0b\u9762\u6211\u4eec\u5206\u522b\u5f00\u59cb<\/p>\n<p>\u4e00 \u72ec\u7acb\u670d\u52a1\u5668(standalone server)<\/p>\n<p>\u72ec\u7acb\u670d\u52a1\u5668&#xff1a;\u76f4\u63a5\u90e8\u7f72 LangGraph \u670d\u52a1\u5668&#xff0c;\u65e0\u9700\u63a7\u5236\u5e73\u9762 UI\u3002\u975e\u5e38\u9002\u5408\u5c06\u4e00\u4e2a\u6216\u51e0\u4e2a\u4ee3\u7406\u4f5c\u4e3a\u72ec\u7acb\u670d\u52a1\u8fd0\u884c\u7684\u8f7b\u91cf\u7ea7\u8bbe\u7f6e&#xff0c;\u5e76\u5b8c\u5168\u63a7\u5236\u6269\u5c55\u548c\u96c6\u6210<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070621-6967406dc4b96.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070621-6967406dd574a.png\" alt=\"\" \/><\/p>\n<p>1.1 \u5efa\u7acbLangGraph \u5e94\u7528\u7a0b\u5e8f<\/p>\n<p>uv venv &#8211;python 3.12<\/p>\n<p>.venv\\\\Scripts\\\\activate<\/p>\n<p>uv pip install -U &#034;langgraph-cli[inmem]&#034;12.\u5b89\u88c5\u7684\u65f6\u5019\u53ef\u4ee5\u76f4\u63a5 langgraph new .\/app &#8211;template new-langgraph-project-python\u5982\u679c\u6709\u9009\u62e9\u6a21\u677f\u7684\u9700\u6c42&#xff0c; \u53ef\u4ee5\u4f7f\u7528 langgraph new \u6765\u5230\u4e0b\u9762\u7684\u4ea4\u4e92\u754c\u9762&#xff0c;\u53ef\u4ee5\u9009\u62e9\u6a21\u677f \u4ee5\u53ca \u8bed\u8a00<\/p>\n<p>&#x1f4c2; Please specify the path to create the application [.]: .\/app<br \/>\n&#x1f31f; Please select a template:<br \/>\n1. New LangGraph Project &#8211; A simple, minimal chatbot with memory.<br \/>\n2. ReAct Agent &#8211; A simple agent that can be flexibly extended to many tools.<br \/>\n3. Memory Agent &#8211; A ReAct-style agent with an additional tool to store memories for use across conversational threads.<br \/>\n4. Retrieval Agent &#8211; An agent that includes a retrieval-based question-answering system.<br \/>\n5. Data-enrichment Agent &#8211; An agent that performs web searches and organizes its findings into a structured format.<br \/>\nEnter the number of your template choice (default is 1): 1<br \/>\nYou selected: New LangGraph Project &#8211; A simple, minimal chatbot with memory.<br \/>\nChoose language (1 for Python &#x1f40d;, 2 for JS\/TS &#x1f310;): 1<br \/>\n&#x1f4e5; Attempting to download repository as a ZIP archive&#8230;<br \/>\nURL: https:\/\/github.com\/langchain-ai\/new-langgraph-project\/archive\/refs\/heads\/main.zip<\/p>\n<p>cd app<\/p>\n<p>uv pip install -e .\u5efa\u7acb\u4e00\u4e2a .env  \u91cc\u9762\u653e\u4e0a LANGSMITH_API_KEY&#061;lsv2&#8230;<\/p>\n<p>1.3 \u542f\u52a8 langgraph server<\/p>\n<p>langgraph dev<\/p>\n<p>1.4 \u8ba9\u6211\u4eec\u6d4b\u8bd5\u4e0b<\/p>\n<p>uv pip install langgraph-sdk<\/p>\n<p>from langgraph_sdk import get_client<br \/>\nimport asyncio<br \/>\nclient &#061; get_client(url&#061;&#034;http:\/\/localhost:2024&#034;)<br \/>\nasync def main():<br \/>\nasync for chunk in client.runs.stream(<br \/>\nNone,  # Threadless run<br \/>\n&#034;agent&#034;, # Name of assistant. Defined in langgraph.json.<br \/>\ninput&#061;{<br \/>\n&#034;messages&#034;: [{<br \/>\n&#034;role&#034;: &#034;human&#034;,<br \/>\n&#034;content&#034;: &#034;What is LangGraph?&#034;,<br \/>\n}],<br \/>\n},<br \/>\n):<br \/>\nprint(f&#034;Receiving new event of type: {chunk.event}&#8230;&#034;)<br \/>\nprint(chunk.data)<br \/>\nprint(&#034;\\\\n\\\\n&#034;)<br \/>\nasyncio.run(main())<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070621-6967406df13c6.png\" alt=\"\" \/><\/p>\n<p>1.5 \u6253\u5305\u6210docker image<\/p>\n<p>langgraph build -t langgraph<\/p>\n<p>\u7ed3\u675f\u540e docker images \u5c31\u4f1a\u770b\u5230\u6784\u5efa\u597d\u7684\u955c\u50cf<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070622-6967406e097d5.png\" alt=\"\" \/><\/p>\n<p>1.6 docker-compose\u90e8\u7f72<\/p>\n<p>\u65b0\u5efa\u4e00\u4e2a docker-compose.yml<\/p>\n<p>volumes:<br \/>\nlanggraph-data:<br \/>\ndriver: local<br \/>\nservices:<br \/>\nlanggraph-redis:<br \/>\nimage: redis:6<br \/>\nhealthcheck:<br \/>\ntest: redis-cli ping<br \/>\ninterval: 5s<br \/>\ntimeout: 1s<br \/>\nretries: 5<br \/>\nlanggraph-postgres:<br \/>\nimage: postgres:16<br \/>\nports:<br \/>\n&#8211; &#034;5432:5432&#034;<br \/>\nenvironment:<br \/>\nPOSTGRES_DB: postgres<br \/>\nPOSTGRES_USER: postgres<br \/>\nPOSTGRES_PASSWORD: postgres<br \/>\nvolumes:<br \/>\n&#8211; langgraph-data:\/var\/lib\/postgresql\/data<br \/>\nhealthcheck:<br \/>\ntest: pg_isready -U postgres<br \/>\nstart_period: 10s<br \/>\ntimeout: 1s<br \/>\nretries: 5<br \/>\ninterval: 5s<br \/>\nlanggraph-api:<br \/>\nimage: ${IMAGE_NAME}<br \/>\nports:<br \/>\n&#8211; &#034;8123:8000&#034;<br \/>\ndepends_on:<br \/>\nlanggraph-redis:<br \/>\ncondition: service_healthy<br \/>\nlanggraph-postgres:<br \/>\ncondition: service_healthy<br \/>\nenv_file:<br \/>\n&#8211; .env<br \/>\nenvironment:<br \/>\nREDIS_URI: redis:\/\/langgraph-redis:6379<br \/>\nLANGSMITH_API_KEY: ${LANGSMITH_API_KEY}<br \/>\nDATABASE_URI: postgres:\/\/postgres:postgres&#064;langgraph-postgres:5432\/postgres?sslmode&#061;disable<\/p>\n<p>docker compose up \u542f\u52a8<\/p>\n<p>\u9a8c\u8bc1\u4e0b\u662f\u5426\u542f\u52a8\u6210\u529f<\/p>\n<p>curl &#8211;request GET &#8211;url 127.0.0.1:8123\/ok<\/p>\n<p>{\u201cok\u201d:true}<\/p>\n<p>\u540c\u65f6langsmith[https:\/\/smith.langchain.com\/]\u5e73\u53f0\u4e0a\u4e5f\u53ef\u4ee5\u770b\u5230&#xff0c;\u9879\u76ee\u548c\u95ee\u7b54\u7684\u8bb0\u5f55<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070622-6967406e14272.png\" alt=\"\" \/><br \/>\n\u8fd9\u4efd\u5b8c\u6574\u7248\u7684\u5927\u6a21\u578b AI \u5b66\u4e60\u548c\u9762\u8bd5\u8d44\u6599\u5df2\u7ecf\u4e0a\u4f20CSDN&#xff0c;\u670b\u53cb\u4eec\u5982\u679c\u9700\u8981\u53ef\u4ee5\u5fae\u4fe1\u626b\u63cf\u4e0b\u65b9CSDN\u5b98\u65b9\u8ba4\u8bc1\u4e8c\u7ef4\u7801\u514d\u8d39\u9886\u53d6\u3010\u4fdd\u8bc1100%\u514d\u8d39\u3011<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070622-6967406e4f8a1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u4e8c langsmith \u7684\u65b9\u5f0f<\/p>\n<p>LangSmith&#xff1a;\u90e8\u7f72 LangSmith \u5e94\u7528\u7a0b\u5e8f\u7684\u5b9e\u4f8b&#xff0c;\u8be5\u5b9e\u4f8b\u5305\u62ec UI \u548c API \u4e2d\u7684\u53ef\u89c2\u6d4b\u6027\u3001\u8ddf\u8e2a\u548c\u8bc4\u4f30\u3002\u6700\u9002\u5408\u5e0c\u671b\u5728\u4e0d\u90e8\u7f72\u4ee3\u7406\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u81ea\u6258\u7ba1\u76d1\u89c6\u548c\u8bc4\u4f30\u7684\u56e2\u961f<\/p>\n<table>\n<tr>\u670d\u52a1\u63cf\u8ff0<\/tr>\n<tbody>\n<tr>\n<td>LangSmith \u524d\u7aef<\/td>\n<td>\u524d\u7aef\u4f7f\u7528 Nginx \u6765\u63d0\u4f9b LangSmith UI \u5e76\u5c06 API \u8bf7\u6c42\u8def\u7531\u5230\u5176\u4ed6\u670d\u52a1\u5668\u3002\u8fd9\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u5165\u53e3\u70b9&#xff0c;\u4e5f\u662f\u5fc5\u987b\u5411\u7528\u6237\u516c\u5f00\u7684\u552f\u4e00\u7ec4\u4ef6\u3002<\/td>\n<\/tr>\n<tr>\n<td>LangSmith \u540e\u7aef<\/td>\n<td>\u540e\u7aef\u662f CRUD API \u8bf7\u6c42\u7684\u4e3b\u8981\u5165\u53e3\u70b9&#xff0c;\u5904\u7406\u5e94\u7528\u7a0b\u5e8f\u7684\u5927\u90e8\u5206\u4e1a\u52a1\u903b\u8f91\u3002\u8fd9\u5305\u62ec\u5904\u7406\u6765\u81ea\u524d\u7aef\u548c SDK \u7684\u8bf7\u6c42\u3001\u51c6\u5907\u7528\u4e8e\u6444\u53d6\u7684\u8ddf\u8e2a\u4ee5\u53ca\u652f\u6301\u4e2d\u5fc3 API\u3002<\/td>\n<\/tr>\n<tr>\n<td>LangSmith \u961f\u5217<\/td>\n<td>\u961f\u5217\u5904\u7406\u4f20\u5165\u7684\u8ddf\u8e2a\u548c\u53cd\u9988&#xff0c;\u4ee5\u786e\u4fdd\u5b83\u4eec\u88ab\u5f02\u6b65\u6444\u53d6\u5e76\u6301\u4e45\u5316\u5230\u8ddf\u8e2a\u548c\u53cd\u9988\u6570\u636e\u5b58\u50a8\u4e2d&#xff0c;\u5904\u7406\u6570\u636e\u5b8c\u6574\u6027\u68c0\u67e5\u5e76\u786e\u4fdd\u6210\u529f\u63d2\u5165\u5230\u6570\u636e\u5b58\u50a8\u4e2d&#xff0c;\u5904\u7406\u6570\u636e\u5e93\u9519\u8bef\u6216\u6682\u65f6\u65e0\u6cd5\u8fde\u63a5\u5230\u6570\u636e\u5e93\u7b49\u60c5\u51b5\u4e0b\u7684\u91cd\u8bd5\u3002<\/td>\n<\/tr>\n<tr>\n<td>LangSmith \u5e73\u53f0\u540e\u7aef<\/td>\n<td>\u5e73\u53f0\u540e\u7aef\u662f\u53e6\u4e00\u9879\u5173\u952e\u670d\u52a1&#xff0c;\u4e3b\u8981\u5904\u7406\u8eab\u4efd\u9a8c\u8bc1\u3001\u8fd0\u884c\u6444\u53d6\u548c\u5176\u4ed6\u5927\u5bb9\u91cf\u4efb\u52a1\u3002<\/td>\n<\/tr>\n<tr>\n<td>LangSmith \u6e38\u4e50\u573a<\/td>\n<td>Playground \u662f\u4e00\u9879\u670d\u52a1&#xff0c;\u7528\u4e8e\u5904\u7406\u5411\u5404\u79cd LLM API \u8f6c\u53d1\u8bf7\u6c42\u4ee5\u652f\u6301 LangSmith Playground \u529f\u80fd\u3002\u8fd9\u4e5f\u53ef\u7528\u4e8e\u8fde\u63a5\u5230\u60a8\u81ea\u5df1\u7684\u81ea\u5b9a\u4e49\u6a21\u578b\u670d\u52a1\u5668\u3002<\/td>\n<\/tr>\n<tr>\n<td>LangSmith ACE&#xff08;\u4efb\u610f\u4ee3\u7801\u6267\u884c&#xff09;\u540e\u7aef<\/td>\n<td>ACE \u540e\u7aef\u662f\u4e00\u79cd\u5728\u5b89\u5168\u73af\u5883\u4e2d\u5904\u7406\u6267\u884c\u4efb\u610f\u4ee3\u7801\u7684\u670d\u52a1\u3002\u8fd9\u7528\u4e8e\u652f\u6301\u5728 LangSmith \u4e2d\u8fd0\u884c\u81ea\u5b9a\u4e49\u4ee3\u7801\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070622-6967406ecb854.png\" alt=\"\" \/><\/p>\n<p>\u4ec5\u7528\u4e8e\u5f00\u53d1\/\u6d4b\u8bd5\u3002\u4e0d\u8981\u5c06 Docker Compose \u7528\u4e8e\u751f\u4ea7\u73af\u5883\u3002\u5bf9\u4e8e\u751f\u4ea7\u90e8\u7f72&#xff0c;\u8bf7\u4f7f\u7528<\/p>\n<p>Kubernetes\u3002 \u6211\u8fd9\u91cc\u6f14\u793a&#xff0c;\u4e3a\u4e86\u65b9\u4fbf\u4f7f\u7528docker<\/p>\n<p>2.1 \u751f\u6210\u4e00\u4e2a Api Key Salt<\/p>\n<p>openssl rand -base64 32<\/p>\n<p>\u4f8b\u5982 U7MfWaDYNzzgMmvJXKn4Pl41mR5jJVHWrhq6c&#043;6jngE&#061;<\/p>\n<p>docker-compose.yml<\/p>\n<p>services:<br \/>\nlangchain-playground:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-playground:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\nports:<br \/>\n&#8211; 3001:3001<br \/>\nenvironment:<br \/>\n&#8211; PORT&#061;3001<br \/>\n&#8211; LANGCHAIN_ENV&#061;local_docker<br \/>\n&#8211; LOG_LEVEL&#061;${LOG_LEVEL:-info}<br \/>\n&#8211; GO_ENDPOINT&#061;http:\/\/langchain-platform-backend:1986<br \/>\n&#8211; SMITH_BACKEND_ENDPOINT&#061;${SMITH_BACKEND_ENDPOINT:-http:\/\/langchain-backend:1984}<br \/>\nlangchain-frontend:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-frontend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\nenvironment:<br \/>\n&#8211; VITE_BACKEND_AUTH_TYPE&#061;${AUTH_TYPE:-none}<br \/>\n&#8211; VITE_BASIC_AUTH_ENABLED&#061;${BASIC_AUTH_ENABLED:-false}<br \/>\n&#8211; VITE_OAUTH_CLIENT_ID&#061;${OAUTH_CLIENT_ID}<br \/>\n&#8211; VITE_OAUTH_ISSUER_URL&#061;${OAUTH_ISSUER_URL}<br \/>\nports:<br \/>\n&#8211; 1981:1980<br \/>\ndepends_on:<br \/>\n&#8211; langchain-backend<br \/>\n&#8211; langchain-playground<br \/>\nlangchain-ace-backend:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-ace-backend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\nports:<br \/>\n&#8211; 1987:1987<br \/>\nenvironment:<br \/>\n&#8211; PORT&#061;1987<br \/>\ncommand:<br \/>\n&#8211; &#034;deno&#034;<br \/>\n&#8211; &#034;run&#034;<br \/>\n&#8211; &#034;&#8211;unstable-worker-options&#034;<br \/>\n&#8211; &#034;&#8211;allow-env&#034;<br \/>\n&#8211; &#034;&#8211;allow-net&#061;0.0.0.0:1987&#034;<br \/>\n&#8211; &#034;&#8211;node-modules-dir&#034;<br \/>\n&#8211; &#034;-R&#034;<br \/>\n&#8211; &#034;src\/main.ts&#034;<br \/>\n&#8211; &#034;-R&#034;<br \/>\n&#8211; &#034;src\/python_worker.ts&#034;<br \/>\nlangchain-backend:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-backend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\nenvironment:<br \/>\n&#8211; PORT&#061;1984<br \/>\n&#8211; LANGCHAIN_ENV&#061;local_docker<br \/>\n&#8211; LANGSMITH_URL&#061;${LANGSMITH_URL:-http:\/\/langchain-frontend:1980}<br \/>\n&#8211; GO_ENDPOINT&#061;http:\/\/langchain-platform-backend:1986<br \/>\n&#8211; SMITH_BACKEND_ENDPOINT&#061;${SMITH_BACKEND_ENDPOINT:-http:\/\/langchain-backend:1984}<br \/>\n&#8211; LANGSMITH_LICENSE_KEY&#061;${LANGSMITH_LICENSE_KEY}<br \/>\n&#8211; LOG_LEVEL&#061;${LOG_LEVEL:-info}<br \/>\n&#8211; AUTH_TYPE&#061;${AUTH_TYPE:-none}<br \/>\n&#8211; OAUTH_CLIENT_ID&#061;${OAUTH_CLIENT_ID}<br \/>\n&#8211; OAUTH_CLIENT_SECRET&#061;${OAUTH_CLIENT_SECRET}<br \/>\n&#8211; OAUTH_ISSUER_URL&#061;${OAUTH_ISSUER_URL}<br \/>\n&#8211; API_KEY_SALT&#061;${API_KEY_SALT}<br \/>\n&#8211; X_SERVICE_AUTH_JWT_SECRET&#061;${API_KEY_SALT}<br \/>\n&#8211; POSTGRES_DATABASE_URI&#061;${POSTGRES_DATABASE_URI:-postgres:postgres&#064;langchain-db:5432\/postgres}<br \/>\n&#8211; REDIS_DATABASE_URI&#061;${REDIS_DATABASE_URI:-redis:\/\/langchain-redis:6379}<br \/>\n&#8211; CLICKHOUSE_HOST&#061;${CLICKHOUSE_HOST:-langchain-clickhouse}<br \/>\n&#8211; CLICKHOUSE_USER&#061;${CLICKHOUSE_USER:-default}<br \/>\n&#8211; CLICKHOUSE_PASSWORD&#061;${CLICKHOUSE_PASSWORD:-password}<br \/>\n&#8211; CLICKHOUSE_DB&#061;${CLICKHOUSE_DB:-default}<br \/>\n&#8211; CLICKHOUSE_PORT&#061;${CLICKHOUSE_PORT:-8123}<br \/>\n&#8211; CLICKHOUSE_TLS&#061;${CLICKHOUSE_TLS:-false}<br \/>\n&#8211; FF_ORG_CREATION_DISABLED&#061;${ORG_CREATION_DISABLED:-false}<br \/>\n&#8211; FF_TRACE_TIERS_ENABLED&#061;${TTL_ENABLED:-true}<br \/>\n&#8211; FF_UPGRADE_TRACE_TIER_ENABLED&#061;${TTL_ENABLED:-true}<br \/>\n&#8211; FF_S3_STORAGE_ENABLED&#061;${BLOB_STORAGE_ENABLED:-false}<br \/>\n&#8211; S3_BUCKET_NAME&#061;${BLOB_STORAGE_BUCKET_NAME:-langsmith-s3-assets}<br \/>\n&#8211; S3_RUN_MANIFEST_BUCKET_NAME&#061;${BLOB_STORAGE_BUCKET_NAME:-langsmith-s3-assets}<br \/>\n&#8211; S3_API_URL&#061;${BLOB_STORAGE_API_URL:-https:\/\/s3.us-west-2.amazonaws.com}<br \/>\n&#8211; S3_ACCESS_KEY&#061;${BLOB_STORAGE_ACCESS_KEY}<br \/>\n&#8211; S3_ACCESS_KEY_SECRET&#061;${BLOB_STORAGE_ACCESS_KEY_SECRET}<br \/>\n&#8211; FF_CH_SEARCH_ENABLED&#061;${CH_SEARCH_ENABLED:-true}<br \/>\n&#8211; BASIC_AUTH_ENABLED&#061;${BASIC_AUTH_ENABLED:-false}<br \/>\n&#8211; BASIC_AUTH_JWT_SECRET&#061;${BASIC_AUTH_JWT_SECRET}<br \/>\n&#8211; INITIAL_ORG_ADMIN_EMAIL&#061;${INITIAL_ORG_ADMIN_EMAIL}<br \/>\n&#8211; INITIAL_ORG_ADMIN_PASSWORD&#061;${INITIAL_ORG_ADMIN_PASSWORD}<br \/>\n&#8211; TRACE_TIER_TTL_DURATION_SEC_MAP&#061;${TRACE_TIER_TTL_DURATION_SEC_MAP}<br \/>\nports:<br \/>\n&#8211; 1984:1984<br \/>\ndepends_on:<br \/>\nlangchain-db:<br \/>\ncondition: service_healthy<br \/>\nlangchain-redis:<br \/>\ncondition: service_healthy<br \/>\nclickhouse-setup:<br \/>\ncondition: service_completed_successfully<br \/>\npostgres-setup:<br \/>\ncondition: service_completed_successfully<br \/>\nrestart: always<br \/>\nlangchain-platform-backend:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-go-backend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\nenvironment:<br \/>\n&#8211; PORT&#061;1986<br \/>\n&#8211; LANGCHAIN_ENV&#061;local_docker<br \/>\n&#8211; LANGSMITH_URL&#061;${LANGSMITH_URL:-http:\/\/langchain-frontend:1980}<br \/>\n&#8211; SMITH_BACKEND_ENDPOINT&#061;${SMITH_BACKEND_ENDPOINT:-http:\/\/langchain-backend:1984}<br \/>\n&#8211; LANGSMITH_LICENSE_KEY&#061;${LANGSMITH_LICENSE_KEY}<br \/>\n&#8211; LOG_LEVEL&#061;${LOG_LEVEL:-warning}<br \/>\n&#8211; AUTH_TYPE&#061;${AUTH_TYPE:-none}<br \/>\n&#8211; OAUTH_CLIENT_ID&#061;${OAUTH_CLIENT_ID}<br \/>\n&#8211; OAUTH_CLIENT_SECRET&#061;${OAUTH_CLIENT_SECRET}<br \/>\n&#8211; OAUTH_ISSUER_URL&#061;${OAUTH_ISSUER_URL}<br \/>\n&#8211; API_KEY_SALT&#061;${API_KEY_SALT}<br \/>\n&#8211; X_SERVICE_AUTH_JWT_SECRET&#061;${API_KEY_SALT}<br \/>\n&#8211; POSTGRES_DATABASE_URI&#061;${POSTGRES_DATABASE_URI:-postgres:postgres&#064;langchain-db:5432\/postgres}<br \/>\n&#8211; REDIS_DATABASE_URI&#061;${REDIS_DATABASE_URI:-redis:\/\/langchain-redis:6379}<br \/>\n&#8211; BASIC_AUTH_ENABLED&#061;${BASIC_AUTH_ENABLED:-false}<br \/>\n&#8211; BASIC_AUTH_JWT_SECRET&#061;${BASIC_AUTH_JWT_SECRET}<br \/>\n&#8211; CLICKHOUSE_HOST&#061;${CLICKHOUSE_HOST:-langchain-clickhouse}<br \/>\n&#8211; CLICKHOUSE_USER&#061;${CLICKHOUSE_USER:-default}<br \/>\n&#8211; CLICKHOUSE_PASSWORD&#061;${CLICKHOUSE_PASSWORD:-password}<br \/>\n&#8211; CLICKHOUSE_DB&#061;${CLICKHOUSE_DB:-default}<br \/>\n&#8211; CLICKHOUSE_PORT&#061;${CLICKHOUSE_PORT:-8123}<br \/>\n&#8211; CLICKHOUSE_TLS&#061;${CLICKHOUSE_TLS:-false}<br \/>\n&#8211; FF_ORG_CREATION_DISABLED&#061;${ORG_CREATION_DISABLED:-false}<br \/>\n&#8211; FF_TRACE_TIERS_ENABLED&#061;${TTL_ENABLED:-true}<br \/>\n&#8211; FF_UPGRADE_TRACE_TIER_ENABLED&#061;${TTL_ENABLED:-true}<br \/>\n&#8211; FF_S3_STORAGE_ENABLED&#061;${BLOB_STORAGE_ENABLED:-false}<br \/>\n&#8211; S3_BUCKET_NAME&#061;${BLOB_STORAGE_BUCKET_NAME:-langsmith-s3-assets}<br \/>\n&#8211; S3_RUN_MANIFEST_BUCKET_NAME&#061;${BLOB_STORAGE_BUCKET_NAME:-langsmith-s3-assets}<br \/>\n&#8211; S3_API_URL&#061;${BLOB_STORAGE_API_URL:-https:\/\/s3.us-west-2.amazonaws.com}<br \/>\n&#8211; S3_ACCESS_KEY&#061;${BLOB_STORAGE_ACCESS_KEY}<br \/>\n&#8211; S3_ACCESS_KEY_SECRET&#061;${BLOB_STORAGE_ACCESS_KEY_SECRET}<br \/>\n&#8211; FF_CH_SEARCH_ENABLED&#061;${CH_SEARCH_ENABLED:-true}<br \/>\n&#8211; TRACE_TIER_TTL_DURATION_SEC_MAP&#061;${TRACE_TIER_TTL_DURATION_SEC_MAP}<br \/>\nports:<br \/>\n&#8211; 1986:1986<br \/>\ndepends_on:<br \/>\nlangchain-db:<br \/>\ncondition: service_healthy<br \/>\nlangchain-redis:<br \/>\ncondition: service_healthy<br \/>\nclickhouse-setup:<br \/>\ncondition: service_completed_successfully<br \/>\npostgres-setup:<br \/>\ncondition: service_completed_successfully<br \/>\nrestart: always<br \/>\nlangchain-queue:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-backend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\nenvironment:<br \/>\n&#8211; LANGCHAIN_ENV&#061;local_docker<br \/>\n&#8211; GO_ENDPOINT&#061;http:\/\/langchain-platform-backend:1986<br \/>\n&#8211; SMITH_BACKEND_ENDPOINT&#061;http:\/\/langchain-backend:1984<br \/>\n&#8211; LANGSMITH_LICENSE_KEY&#061;${LANGSMITH_LICENSE_KEY}<br \/>\n&#8211; LOG_LEVEL&#061;${LOG_LEVEL:-info}<br \/>\n&#8211; AUTH_TYPE&#061;${AUTH_TYPE:-none}<br \/>\n&#8211; OAUTH_CLIENT_ID&#061;${OAUTH_CLIENT_ID}<br \/>\n&#8211; OAUTH_ISSUER_URL&#061;${OAUTH_ISSUER_URL}<br \/>\n&#8211; API_KEY_SALT&#061;${API_KEY_SALT}<br \/>\n&#8211; X_SERVICE_AUTH_JWT_SECRET&#061;${API_KEY_SALT}<br \/>\n&#8211; POSTGRES_DATABASE_URI&#061;${POSTGRES_DATABASE_URI:-postgres:postgres&#064;langchain-db:5432\/postgres}<br \/>\n&#8211; REDIS_DATABASE_URI&#061;${REDIS_DATABASE_URI:-redis:\/\/langchain-redis:6379}<br \/>\n&#8211; CLICKHOUSE_HOST&#061;${CLICKHOUSE_HOST:-langchain-clickhouse}<br \/>\n&#8211; CLICKHOUSE_USER&#061;${CLICKHOUSE_USER:-default}<br \/>\n&#8211; CLICKHOUSE_PASSWORD&#061;${CLICKHOUSE_PASSWORD:-password}<br \/>\n&#8211; CLICKHOUSE_DB&#061;${CLICKHOUSE_DB:-default}<br \/>\n&#8211; CLICKHOUSE_PORT&#061;${CLICKHOUSE_PORT:-8123}<br \/>\n&#8211; CLICKHOUSE_TLS&#061;${CLICKHOUSE_TLS:-false}<br \/>\n&#8211; FF_ORG_CREATION_DISABLED&#061;${ORG_CREATION_DISABLED:-false}<br \/>\n&#8211; FF_TRACE_TIERS_ENABLED&#061;${TTL_ENABLED:-true}<br \/>\n&#8211; FF_UPGRADE_TRACE_TIER_ENABLED&#061;${TTL_ENABLED:-true}<br \/>\n&#8211; FF_S3_STORAGE_ENABLED&#061;${BLOB_STORAGE_ENABLED:-false}<br \/>\n&#8211; S3_BUCKET_NAME&#061;${BLOB_STORAGE_BUCKET_NAME:-langsmith-s3-assets}<br \/>\n&#8211; S3_RUN_MANIFEST_BUCKET_NAME&#061;${BLOB_STORAGE_BUCKET_NAME:-langsmith-s3-assets}<br \/>\n&#8211; S3_API_URL&#061;${BLOB_STORAGE_API_URL:-https:\/\/s3.us-west-2.amazonaws.com}<br \/>\n&#8211; S3_ACCESS_KEY&#061;${BLOB_STORAGE_ACCESS_KEY}<br \/>\n&#8211; S3_ACCESS_KEY_SECRET&#061;${BLOB_STORAGE_ACCESS_KEY_SECRET}<br \/>\n&#8211; FF_CH_SEARCH_ENABLED&#061;${CH_SEARCH_ENABLED:-true}<br \/>\n&#8211; BASIC_AUTH_ENABLED&#061;${BASIC_AUTH_ENABLED:-false}<br \/>\n&#8211; BASIC_AUTH_JWT_SECRET&#061;${BASIC_AUTH_JWT_SECRET}<br \/>\n&#8211; TRACE_TIER_TTL_DURATION_SEC_MAP&#061;${TRACE_TIER_TTL_DURATION_SEC_MAP}<br \/>\ncommand:<br \/>\n&#8211; &#034;saq&#034;<br \/>\n&#8211; &#034;app.workers.queues.single_queue_worker.settings&#034;<br \/>\n&#8211; &#034;&#8211;quiet&#034;<br \/>\ndepends_on:<br \/>\nlangchain-db:<br \/>\ncondition: service_healthy<br \/>\nlangchain-redis:<br \/>\ncondition: service_healthy<br \/>\nclickhouse-setup:<br \/>\ncondition: service_completed_successfully<br \/>\npostgres-setup:<br \/>\ncondition: service_completed_successfully<br \/>\nrestart: always<br \/>\nlangchain-db:<br \/>\nimage: ${_REGISTRY:-docker.io}\/postgres:14.7<br \/>\ncommand:<br \/>\n[<br \/>\n&#034;postgres&#034;,<br \/>\n&#034;-c&#034;,<br \/>\n&#034;log_min_messages&#061;WARNING&#034;,<br \/>\n&#034;-c&#034;,<br \/>\n&#034;client_min_messages&#061;WARNING&#034;,<br \/>\n]<br \/>\nenvironment:<br \/>\n&#8211; POSTGRES_PASSWORD&#061;postgres<br \/>\n&#8211; POSTGRES_USER&#061;postgres<br \/>\n&#8211; POSTGRES_DB&#061;postgres<br \/>\nvolumes:<br \/>\n&#8211; langchain-db-data:\/var\/lib\/postgresql\/data<br \/>\nports:<br \/>\n&#8211; 5433:5432<br \/>\nhealthcheck:<br \/>\ntest: [&#034;CMD&#034;, &#034;pg_isready&#034;, &#034;-U&#034;, &#034;postgres&#034;]<br \/>\ninterval: 2s<br \/>\ntimeout: 2s<br \/>\nretries: 30<br \/>\nlangchain-redis:<br \/>\nimage: ${_REGISTRY:-docker.io}\/redis:7<br \/>\nports:<br \/>\n&#8211; 63791:6379<br \/>\nvolumes:<br \/>\n&#8211; langchain-redis-data:\/data<br \/>\nhealthcheck:<br \/>\ntest: [&#034;CMD&#034;, &#034;redis-cli&#034;, &#034;ping&#034;]<br \/>\ninterval: 2s<br \/>\ntimeout: 2s<br \/>\nretries: 30<br \/>\nlangchain-clickhouse:<br \/>\nimage: ${_REGISTRY:-docker.io}\/clickhouse\/clickhouse-server:24.8<br \/>\nuser: &#034;101:101&#034;<br \/>\nrestart: always<br \/>\nenvironment:<br \/>\n&#8211; CLICKHOUSE_DB&#061;${CLICKHOUSE_DB:-default}<br \/>\n&#8211; CLICKHOUSE_USER&#061;${CLICKHOUSE_USER:-default}<br \/>\n&#8211; CLICKHOUSE_PASSWORD&#061;${CLICKHOUSE_PASSWORD:-password}<br \/>\nvolumes:<br \/>\n&#8211; langchain-clickhouse-data:\/var\/lib\/clickhouse<br \/>\n&#8211; .\/users.xml:\/etc\/clickhouse-server\/users.d\/users.xml<br \/>\nports:<br \/>\n&#8211; 8124:8123<br \/>\n&#8211; 9001:9000<br \/>\nhealthcheck:<br \/>\ntest: [&#034;CMD&#034;, &#034;clickhouse-client&#034;, &#034;&#8211;query&#034;, &#034;SELECT 1&#034;]<br \/>\ninterval: 2s<br \/>\ntimeout: 2s<br \/>\nretries: 30<br \/>\nclickhouse-setup:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-backend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\ndepends_on:<br \/>\nlangchain-clickhouse:<br \/>\ncondition: service_healthy<br \/>\nrestart: &#034;on-failure:10&#034;<br \/>\nenvironment:<br \/>\n&#8211; CLICKHOUSE_HOST&#061;${CLICKHOUSE_HOST:-langchain-clickhouse}<br \/>\n&#8211; CLICKHOUSE_USER&#061;${CLICKHOUSE_USER:-default}<br \/>\n&#8211; CLICKHOUSE_PASSWORD&#061;${CLICKHOUSE_PASSWORD:-password}<br \/>\n&#8211; CLICKHOUSE_DB&#061;${CLICKHOUSE_DB:-default}<br \/>\n&#8211; CLICKHOUSE_PORT&#061;${CLICKHOUSE_PORT:-8123}<br \/>\n&#8211; CLICKHOUSE_NATIVE_PORT&#061;${CLICKHOUSE_NATIVE_PORT:-9000}<br \/>\n&#8211; CLICKHOUSE_TLS&#061;${CLICKHOUSE_TLS:-false}<br \/>\ncommand:<br \/>\n[<br \/>\n&#034;bash&#034;,<br \/>\n&#034;scripts\/wait_for_clickhouse_and_migrate.sh&#034;<br \/>\n]<br \/>\npostgres-setup:<br \/>\nimage: ${_REGISTRY:-docker.io}\/langchain\/langsmith-backend:${_LANGSMITH_IMAGE_VERSION:-0.11.4}<br \/>\ndepends_on:<br \/>\nlangchain-db:<br \/>\ncondition: service_healthy<br \/>\nenvironment:<br \/>\n&#8211; LANGCHAIN_ENV&#061;local_docker<br \/>\n&#8211; LANGSMITH_LICENSE_KEY&#061;${LANGSMITH_LICENSE_KEY}<br \/>\n&#8211; LOG_LEVEL&#061;${LOG_LEVEL:-warning}<br \/>\n&#8211; AUTH_TYPE&#061;${AUTH_TYPE:-none}<br \/>\n&#8211; OAUTH_CLIENT_ID&#061;${OAUTH_CLIENT_ID}<br \/>\n&#8211; OAUTH_ISSUER_URL&#061;${OAUTH_ISSUER_URL}<br \/>\n&#8211; API_KEY_SALT&#061;${API_KEY_SALT}<br \/>\n&#8211; POSTGRES_DATABASE_URI&#061;${POSTGRES_DATABASE_URI:-postgres:postgres&#064;langchain-db:5432\/postgres}<br \/>\n&#8211; REDIS_DATABASE_URI&#061;${REDIS_DATABASE_URI:-redis:\/\/langchain-redis:6379}<br \/>\n&#8211; MAX_ASYNC_JOBS_PER_WORKER&#061;${MAX_ASYNC_JOBS_PER_WORKER:-10}<br \/>\n&#8211; ASYNCPG_POOL_MAX_SIZE&#061;${ASYNCPG_POOL_MAX_SIZE:-3}<br \/>\n&#8211; CLICKHOUSE_HOST&#061;${CLICKHOUSE_HOST:-langchain-clickhouse}<br \/>\n&#8211; CLICKHOUSE_USER&#061;${CLICKHOUSE_USER:-default}<br \/>\n&#8211; CLICKHOUSE_PASSWORD&#061;${CLICKHOUSE_PASSWORD:-password}<br \/>\n&#8211; CLICKHOUSE_DB&#061;${CLICKHOUSE_DB:-default}<br \/>\n&#8211; CLICKHOUSE_PORT&#061;${CLICKHOUSE_PORT:-8123}<br \/>\n&#8211; CLICKHOUSE_NATIVE_PORT&#061;${CLICKHOUSE_NATIVE_PORT:-9000}<br \/>\n&#8211; CLICKHOUSE_TLS&#061;${CLICKHOUSE_TLS:-false}<br \/>\nrestart: &#034;on-failure:10&#034;<br \/>\ncommand:<br \/>\n[<br \/>\n&#034;bash&#034;,<br \/>\n&#034;-c&#034;,<br \/>\n&#034;alembic upgrade head&#034;,<br \/>\n]<br \/>\nvolumes:<br \/>\nlangchain-db-data:<br \/>\nlangchain-redis-data:<br \/>\nlangchain-clickhouse-data:<\/p>\n<p>.env<\/p>\n<p># Don&#039;t change this file. Instead, copy it to .env and change the values there. The default values will work out of the box as long as you provide your license key.<br \/>\n_REGISTRY&#061;docker.io # Change to your desired Docker registry if you are using a private registry. Otherwise, leave it as is<br \/>\n_LANGSMITH_IMAGE_VERSION&#061;0.11.3 # Change to the desired Langsmith image version<br \/>\nLANGSMITH_LICENSE_KEY&#061; # Change to your Langsmith license key<br \/>\nAUTH_TYPE&#061;none # Set to oauth if you want to use OAuth2.0 with PKCE. Set to mixed for basic auth or OAuth2.0 with OAuth2.0 client secret<br \/>\nOAUTH_CLIENT_ID&#061;&#034;&#034; # Required if AUTH_TYPE&#061;oauth or mixed with OAuth2.0 with OAuth2.0 client secret<br \/>\nOAUTH_ISSUER_URL&#061;&#034;&#034; # Required if AUTH_TYPE&#061;oauth or mixed with OAuth2.0 with OAuth2.0 client secret (https:\/\/your-issuer-url)<br \/>\nOAUTH_CLIENT_SECRET&#061;&#034;&#034; # Required if AUTH_TYPE&#061;none with OAuth2.0 with OAuth2.0 client secret<br \/>\nLANGSMITH_URL&#061;http:\/\/localhost:1980 # Change to your hosted Langsmith URL. Required if AUTH_TYPE&#061;none with OAuth2.0 client secret<br \/>\nAPI_KEY_SALT&#061;langsmith-secret-key-2024-random-salt-value-for-testing # Change to your desired API key salt. Can be any random value. Must be set if AUTH_TYPE&#061;oauth<br \/>\nPOSTGRES_DATABASE_URI&#061;postgres:postgres&#064;langchain-db:5432\/postgres # Change to your database URI if using external postgres. Otherwise, leave it as is<br \/>\nREDIS_DATABASE_URI&#061;redis:\/\/langchain-redis:6379 # Change to your Redis URI if using external Redis. Otherwise, leave it as is<br \/>\nLOG_LEVEL&#061;info # Change to your desired log level<br \/>\nMAX_ASYNC_JOBS_PER_WORKER&#061;10 # Change to your desired maximum async jobs per worker. We recommend 10\/suggest spinning up more replicas of the queue worker if you need more throughput<br \/>\nASYNCPG_POOL_MAX_SIZE&#061;3 # Change the PG pool size based off your pg instance\/requirements.<br \/>\nCLICKHOUSE_HOST&#061;langchain-clickhouse # Change to your Clickhouse host if using external Clickhouse. Otherwise, leave it as is<br \/>\nCLICKHOUSE_USER&#061;default # Change to your Clickhouse user if needed<br \/>\nCLICKHOUSE_DB&#061;default # Change to your Clickhouse database if needed<br \/>\nCLICKHOUSE_PORT&#061;8123 # Change to your Clickhouse port if needed<br \/>\nCLICKHOUSE_TLS&#061;false # Change to true if you are using TLS to connect to Clickhouse. Otherwise, leave it as is<br \/>\nCLICKHOUSE_CLUSTER&#061; # Change to your Clickhouse cluster if using a replicated cluster. Otherwise, leave it as is<br \/>\nCLICKHOUSE_PASSWORD&#061;password # Change to your Clickhouse password if needed<br \/>\nCLICKHOUSE_NATIVE_PORT&#061;9000 # Change to your Clickhouse native port if needed<br \/>\nORG_CREATION_DISABLED&#061;false # Set to true if you want to disable org creation<br \/>\nWORKSPACE_SCOPE_ORG_INVITES_ENABLED&#061;false # Set to true if you want to disable workspace scope org invites<br \/>\nPERSONAL_ORGS_DISABLED&#061;false # Set to true if you want to disable personal orgs<br \/>\nTTL_ENABLED&#061;true # Set to true if you want to enable TTL for your data<br \/>\nTRACE_TIER_TTL_DURATION_SEC_MAP&#061;&#039;{&#034;longlived&#034;:34560000,&#034;shortlived&#034;:1209600}&#039;<br \/>\nBLOB_STORAGE_ENABLED&#061;false # Set to true if you want to enable blob storage<br \/>\nBLOB_STORAGE_BUCKET_NAME&#061;langsmith-blob-storage # Change to your desired blob storage bucket name<br \/>\nBLOB_STORAGE_API_URL&#061;https:\/\/s3.us-west-2.amazonaws.com # Change to your desired blob storage API URL<br \/>\nBLOB_STORAGE_ACCESS_KEY&#061;your-access-key # Change to your desired blob storage access key<br \/>\nBLOB_STORAGE_ACCESS_KEY_SECRET&#061;your-access-key-secret # Change to your desired blob storage access key secret<br \/>\nCH_SEARCH_ENABLED&#061;true # Set to false if you do not want to store tokenized inputs\/outputs in clickhouse<br \/>\nBASIC_AUTH_ENABLED&#061;false # Set to true if you want to enable basic auth<br \/>\nBASIC_AUTH_JWT_SECRET&#061;langsmith-jwt-secret-key-2024-random-value-for-testing # Change to your desired basic auth JWT secret<br \/>\nINITIAL_ORG_ADMIN_EMAIL&#061;admin&#064;example.com # Change to your desired initial org admin email. Only used if BASIC_AUTH_ENABLED&#061;false<br \/>\nINITIAL_ORG_ADMIN_PASSWORD&#061;AdminPassword123! # Change to your desired initial org admin password. Needs to be at least 12 characters long, contain at least one lowercase, one uppercase, and one special character. Only used if BASIC_AUTH_ENABLED&#061;falseLANGSMITH_API_KEY&#061;sk-test-key-2024<br \/>\nLANGCHAIN_TRACING_V2&#061;false<br \/>\nDISABLE_AUTH&#061;true<br \/>\nPUBLIC_ACCESS&#061;true<br \/>\nALLOW_ANONYMOUS_ACCESS&#061;true<br \/>\nLANGSMITH_PUBLIC&#061;true<br \/>\nSKIP_AUTH&#061;true<br \/>\nAUTH_ENABLED&#061;false<br \/>\nLANGSMITH_SELF_HOSTED&#061;true<br \/>\nTENANT_CREATION_DISABLED&#061;false<br \/>\nENABLE_FREE_TIER&#061;true<br \/>\nLANGSMITH_DEFAULT_TENANT&#061;default<br \/>\nLANGSMITH_DEFAULT_ORG&#061;default-org<br \/>\nAUTO_CREATE_TENANT&#061;true<\/p>\n<p>users.xml<\/p>\n<p>&lt;clickhouse&gt;<br \/>\n&lt;users&gt;<br \/>\n&lt;default&gt;<br \/>\n&lt;access_management&gt;1&lt;\/access_management&gt;<br \/>\n&lt;named_collection_control&gt;1&lt;\/named_collection_control&gt;<br \/>\n&lt;show_named_collections&gt;1&lt;\/show_named_collections&gt;<br \/>\n&lt;show_named_collections_secrets&gt;1&lt;\/show_named_collections_secrets&gt;<br \/>\n&lt;profile&gt;default&lt;\/profile&gt;<br \/>\n&lt;\/default&gt;<br \/>\n&lt;\/users&gt;<br \/>\n&lt;profiles&gt;<br \/>\n&lt;default&gt;<br \/>\n&lt;async_insert&gt;1&lt;\/async_insert&gt;<br \/>\n&lt;async_insert_max_data_size&gt;2000000&lt;\/async_insert_max_data_size&gt;<br \/>\n&lt;wait_for_async_insert&gt;0&lt;\/wait_for_async_insert&gt;<br \/>\n&lt;parallel_view_processing&gt;1&lt;\/parallel_view_processing&gt;<br \/>\n&lt;materialize_ttl_after_modify&gt;0&lt;\/materialize_ttl_after_modify&gt;<br \/>\n&lt;wait_for_async_insert_timeout&gt;25&lt;\/wait_for_async_insert_timeout&gt;<br \/>\n&lt;allow_simdjson&gt;0&lt;\/allow_simdjson&gt;<br \/>\n&lt;lightweight_deletes_sync&gt;0&lt;\/lightweight_deletes_sync&gt;<br \/>\n&lt;\/default&gt;<br \/>\n&lt;\/profiles&gt;<br \/>\n&lt;\/clickhouse&gt;<\/p>\n<p>\u542f\u52a8<\/p>\n<p>docker-compose up<\/p>\n<p>\u8bbf\u95ee\u4e0b\u9762\u7684\u754c\u9762<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070623-6967406f4883c.png\" alt=\"\" \/><\/p>\n<p>LANGSMITH_LICENSE_KEY \u8fd9\u4e2a\u76ee\u524d\u662f\u9700\u8981\u8054\u7cfb \u5b98\u7f51\u7684\u9500\u552e\u56e2\u961f Talk to our team \u70b9\u51fb\u94fe\u63a5[[Talk to our team]\u53bb\u586b\u5199\u4fe1\u606f<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070623-6967406fe6d72.png\" alt=\"\" \/><\/p>\n<p>\u4e09 k8s \u90e8\u7f72 langsmith<\/p>\n<p>3.1 minikube\u5b89\u88c5 k8s<\/p>\n<p>minikube \u662f\u4e00\u4e2a\u5de5\u5177&#xff0c; \u80fd\u8ba9\u4f60\u5728\u672c\u5730\u8fd0\u884c Kubernetes\u3002 minikube \u5728\u4f60\u7684\u4e2a\u4eba\u8ba1\u7b97\u673a&#xff08;\u5305\u62ec Windows\u3001macOS \u548c Linux PC&#xff09;\u4e0a\u8fd0\u884c\u4e00\u4e2a\u4e00\u4f53\u5316&#xff08;all-in-one&#xff09; \u6216\u591a\u8282\u70b9\u7684\u672c\u5730 Kubernetes \u96c6\u7fa4&#xff0c;\u4ee5\u4fbf\u4f60\u6765\u5c1d\u8bd5 Kubernetes \u6216\u8005\u5f00\u5c55\u6bcf\u5929\u7684\u5f00\u53d1\u5de5\u4f5c\u3002<\/p>\n<p>\u5b89\u88c5\u547d\u4ee4<\/p>\n<p>winget install Kubernetes.minikube<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070624-6967407014824.png\" alt=\"\" \/><\/p>\n<p>\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u542f\u52a8\u4e00\u4e2acmd<\/p>\n<p>3.2 \u8f93\u5165 minikube start \u542f\u52a8\u7fa4\u96c6<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070624-696740702b8d6.png\" alt=\"\" \/><\/p>\n<p>3.3 \u5b89\u88c5 kubectl<\/p>\n<p>\u4e0b\u8f7d<\/p>\n<p>curl.exe -LO &#034;https:\/\/dl.k8s.io\/release\/v1.34.0\/bin\/windows\/amd64\/kubectl.exe&#034;<\/p>\n<p>\u653e\u5230D:\\\\kubectl&#xff0c; \u7136\u540e\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070624-696740705e0fd.png\" alt=\"\" \/><\/p>\n<p>\u67e5\u770b\u4f60 kubectl \u7684\u7248\u672c<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070624-6967407092a51.png\" alt=\"\" \/><\/p>\n<p>3.4 \u5b89\u88c5 helm<\/p>\n<p>choco install kubernetes-helm<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070624-69674070b8f99.png\" alt=\"\" \/><\/p>\n<p>\u751f\u6210 Api Key Salt<\/p>\n<p>C:\\\\Users\\\\Administrator&gt;openssl rand -base64 32<\/p>\n<p>dXZFfZy9c0m16eIi9Vyqe1IuaXuCVDNbsmU\/X7Sg5FE&#061;<\/p>\n<p>\u751f\u6210JWT Secret<\/p>\n<p>C:\\\\Users\\\\Administrator&gt;openssl rand -base64 32<\/p>\n<p>8DvHV\/Am3DVk6eWMiQxiLFZd0OTiCh2LgZ5IX2Wv658&#061;<\/p>\n<h3>\u6dfb\u52a0 Helm \u4ed3\u5e93<\/h3>\n<p>helm repo add langchain https:\/\/langchain-ai.github.io\/helm\/<\/p>\n<h3>\u67e5\u627e\u6700\u65b0\u7248\u672c<\/h3>\n<p>helm search repo langchain\/langsmith &#8211;versions<\/p>\n<p>langchain\/langsmith                     0.12.3          0.12.10         Helm chart to deploy the langsmith application &#8230;<br \/>\nlangchain\/langsmith                     0.12.2          0.12.10         Helm chart to deploy the langsmith application &#8230;<br \/>\nlangchain\/langsmith                     0.12.1          0.12.10         Helm chart to deploy the langsmith application &#8230;<br \/>\nlangchain\/langsmith                     0.12.0          0.12.10         Helm chart to deploy the langsmith application &#8230;<br \/>\nlangchain\/langsmith                     0.11.29         0.12.4          Helm chart to deploy the langsmith application &#8230;<br \/>\nlangchain\/langsmith                     0.11.28         0.12.4          Helm chart to deploy the langsmith application &#8230;<\/p>\n<p>\u65b0\u5efa\u4e00\u4e2a langsmith_config.yaml<\/p>\n<p>config:<br \/>\nlangsmithLicenseKey: &#034;&lt;your-license-key&gt;&#034;  \u8fd9\u91cc\u9700\u8981\u81ea\u5df1\u7533\u8bf7\u7684key<br \/>\napiKeySalt: &#034;dXZFfZy9c0m16eIi9Vyqe1IuaXuCVDNbsmU\/X7Sg5FE&#061;&#034;<br \/>\nauthType: mixed<br \/>\nbasicAuth:<br \/>\nenabled: true<br \/>\ninitialOrgAdminEmail: &#034;admin&#064;example.com&#034;<br \/>\ninitialOrgAdminPassword: &#034;YourSecurePassword123!&#034;<br \/>\njwtSecret: &#034;8DvHV\/Am3DVk6eWMiQxiLFZd0OTiCh2LgZ5IX2Wv658&#061;&#034;<\/p>\n<h5>\u4e3a Minikube \u542f\u7528\u9ed8\u8ba4\u5b58\u50a8\u7c7b<\/h5>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070625-69674071559c0.png\" alt=\"\" \/><\/p>\n<h3>\u5b89\u88c5\/\u5347\u7ea7 LangSmith<\/h3>\n<p>helm upgrade -i langsmith langchain\/langsmith &#8211;values langsmith_config.yaml &#8211;version 0.12.2 &#8211;debug<\/p>\n<h4>\u5907\u6ce8 \u5982\u679c\u5931\u8d25\u4e86&#xff0c;ctrl&#043;c\u7ed3\u675f<\/h4>\n<h4>\u5148\u9700\u8981\u6267\u884ckubectl delete pvc -l app.kubernetes.io\/instance&#061;langsmith \u8fdb\u884c\u5220\u9664 &#xff0c;\u7136\u540e\u6e05\u7406\u5f53\u524d\u5931\u8d25\u7684\u90e8\u7f72&#xff1a;helm uninstall langsmith<\/h4>\n<h4>\u68c0\u67e5\u90e8\u7f72\u72b6\u6001<\/h4>\n<p>kubectl get pods -w<\/p>\n<p>langsmith-backend-6ff46c99c4-wz22d       1\/1     Running   0          3h2m<br \/>\nlangsmith-frontend-6bbb94c5df-8xrlr      1\/1     Running   0          3h2m<br \/>\nlangsmith-hub-backend-5cc68c888c-vppjj   1\/1     Running   0          3h2m<br \/>\nlangsmith-playground-6d95fd8dc6-x2d9b    1\/1     Running   0          3h2m<br \/>\nlangsmith-postgres-0                     1\/1     Running   0          9h<br \/>\nlangsmith-queue-5898b9d566-tv6q8         1\/1     Running   0          3h2m<br \/>\nlangsmith-redis-0                        1\/1     Running   0          9h<\/p>\n<p>kubectl get services<\/p>\n<p>NAME                    TYPE           CLUSTER-IP       EXTERNAL-IP                                                               PORT(S)        AGE<br \/>\nlangsmith-backend       ClusterIP      172.20.140.77    &lt;none&gt;                                                                    1984\/TCP       35h<br \/>\nlangsmith-frontend      LoadBalancer   172.20.253.251   &lt;external ip&gt;                                                             80:31591\/TCP   35h<br \/>\nlangsmith-hub-backend   ClusterIP      172.20.112.234   &lt;none&gt;                                                                    1985\/TCP       35h<br \/>\nlangsmith-playground    ClusterIP      172.20.153.194   &lt;none&gt;                                                                    3001\/TCP       9h<br \/>\nlangsmith-postgres      ClusterIP      172.20.244.82    &lt;none&gt;                                                                    5432\/TCP       35h<br \/>\nlangsmith-redis         ClusterIP      172.20.81.217    &lt;none&gt;                                                                    6379\/TCP       35h<\/p>\n<p>\u6d4f\u89c8\u5668\u8bbf\u95ee langsmith-frontend\u754c\u9762<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070625-69674071f2318.png\" alt=\"\" \/><\/p>\n<p>LANGSMITH_LICENSE_KEY \u8fd9\u4e2a\u76ee\u524d\u662f\u9700\u8981\u8054\u7cfb \u5b98\u7f51\u7684\u9500\u552e\u56e2\u961f Talk to our team \u70b9\u51fb\u94fe\u63a5[Talk to our team]\u53bb\u586b\u5199\u4fe1\u606f<\/p>\n<p>\u603b\u7ed3&#xff1a; \u72ec\u7acb\u670d\u52a1\u5668(standalone server) \u5bf9\u4e8e\u65e5\u5e38\u7684\u5f00\u53d1\u662f\u8db3\u591f\u7684&#xff0c; \u8fd8\u53ef\u4ee5\u642d\u4e91\u7aef\u7684langsmith\u6765\u4f7f\u7528\u3002<\/p>\n<p>\u672c\u5730\u7684langsmith\u548clangsmith with deployment \u4e0d\u5efa\u8bae\u672c\u5730\u5b89\u88c5&#xff0c;\u7b2c\u4e00\u4e2a\u539f\u56e0\u662f\u673a\u5668\u7684\u786c\u4ef6\u8981\u6c42&#xff1a;docker\u5b89\u88c5\u5efa\u8bae4 vCPUs, 16GB Memory available on your machine&#xff1b;k8s\u5b89\u88c5\u5efa\u8baeRecommended: At least 16 vCPUs, 64GB Memory available&#xff1b; \u7b2c\u4e8c\u4e2a\u539f\u56e0 \u662f\u4e0d\u540c\u673a\u5668\u73af\u5883\u914d\u7f6e&#xff0c;\u4f1a\u51fa\u73b0\u7684\u9519\u8bef\u4f1a\u5f88\u591a&#xff0c;\u6309\u7167\u6b65\u9aa4\u4e5f\u4f1a\u9047\u5230\u65b0\u7684\u95ee\u9898&#xff0c;\u9700\u8981\u81ea\u5df1\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u53bb\u89e3\u51b3\u3002\u7b2c\u4e09\u4e2a\u539f\u56e0\u662f\u9700\u8981\u4f01\u4e1a\u7ea7&#xff0c; \u9700\u8981\u7533\u8bf7 LANGSMITH_LICENSE_KEY \u8ba4\u8bc1\u8bb8\u53ef\u3002 langsmith\u8fd9\u4e2a\u9002\u5408\u4f01\u4e1a \u516c\u53f8\u6309\u7167&#xff0c;\u4e2a\u4eba\u5f00\u53d1\u6ca1\u5fc5\u8981\u90a3\u4e48\u8d39\u52b2\u6298\u817e\u3002<\/p>\n<hr \/>\n<p>\u8bf4\u771f\u7684&#xff0c;\u8fd9\u4e24\u5e74\u770b\u7740\u8eab\u8fb9\u4e00\u4e2a\u4e2a\u641eJava\u3001C&#043;&#043;\u3001\u524d\u7aef\u3001\u6570\u636e\u3001\u67b6\u6784\u7684\u5f00\u59cb\u5377\u5927\u6a21\u578b&#xff0c;\u633a\u550f\u5618\u7684\u3002\u5927\u5bb6\u6700\u5f00\u59cb\u90fd\u662f\u5199\u63a5\u53e3\u3001\u641eSpring Boot\u3001\u8fde\u6570\u636e\u5e93\u3001\u914dRedis&#xff0c;\u7a33\u7a33\u5f53\u5f53\u8fc7\u65e5\u5b50\u3002<\/p>\n<p>\u7ed3\u679cGPT\u3001DeepSeek\u706b\u4e86\u4e4b\u540e&#xff0c;\u6574\u6761\u7ebf\u4e0a\u7684\u4eba\u90fd\u5f00\u59cb\u6709\u70b9\u614c\u4e86&#xff0c;\u5927\u5bb6\u90fd\u5728\u60f3&#xff1a;\u201c\u6211\u662f\u4e0d\u662f\u8981\u5b66\u5927\u6a21\u578b&#xff0c;\u4e0d\u7136\u8fd9\u996d\u7897\u8fd8\u80fd\u4fdd\u591a\u4e45&#xff1f;\u201d<\/p>\n<p>\u6211\u5148\u7ed9\u51fa\u6700\u76f4\u63a5\u7684\u7b54\u6848&#xff1a;\u4e00\u5b9a\u8981\u628a\u73b0\u6709\u7684\u6280\u672f\u548c\u5927\u6a21\u578b\u7ed3\u5408\u8d77\u6765&#xff0c;\u800c\u4e0d\u662f\u629b\u5f03\u4f60\u4eec\u73b0\u6709\u6280\u672f&#xff01;\u638c\u63e1AI\u80fd\u529b\u7684Java\u5de5\u7a0b\u5e08\u6bd4\u7eafJava\u5c97\u8981\u5403\u9999\u7684\u591a\u3002<\/p>\n<p>\u5373\u4f7f\u73b0\u5728\u88c1\u5458\u3001\u964d\u85aa\u3001\u56e2\u961f\u89e3\u6563\u7684\u6bd4\u6bd4\u7686\u662f\u2026\u2026\u4f46\u540e\u7eed\u7684\u8d8b\u52bf\u4e00\u5b9a\u662fAI\u5e94\u7528\u843d\u5730&#xff01;\u5927\u6a21\u578b\u65b9\u5411\u624d\u662f\u5b9e\u73b0\u804c\u4e1a\u5347\u7ea7\u3001\u63d0\u5347\u85aa\u8d44\u5f85\u9047\u7684\u7edd\u4f73\u673a\u9047&#xff01;<\/p>\n<p>\u8fd9\u7edd\u975e\u7a7a\u8c08\u3002\u6570\u636e\u8bf4\u8bdd<\/p>\n<p>2025\u5e74\u7684\u6700\u540e\u4e00\u4e2a\u6708&#xff0c;\u8109\u8109\u9ad8\u8058\u53d1\u5e03\u4e86\u300a2025\u5e74\u5ea6\u4eba\u624d\u8fc1\u5f99\u62a5\u544a\u300b&#xff0c;\u62ab\u9732\u4e862025\u5e74\u524d10\u4e2a\u6708\u7684\u62db\u8058\u5e02\u573a\u73b0\u72b6\u3002<\/p>\n<p>AI\u9886\u57df\u7684\u4eba\u624d\u9700\u6c42\u5448\u73b0\u51fa\u6781\u4e3a\u8feb\u5207\u7684\u201c\u4e95\u55b7\u201d\u6001\u52bf<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070626-696740725ad5f.png\" alt=\"\" \/><\/p>\n<p>2025\u5e74\u524d10\u4e2a\u6708&#xff0c;\u65b0\u53d1AI\u5c97\u4f4d\u91cf\u540c\u6bd4\u589e\u957f543%&#xff0c;9\u6708\u5355\u6708\u540c\u6bd4\u589e\u5e45\u8d8511\u500d\u3002\u540c\u65f6&#xff0c;\u5728\u85aa\u8d44\u65b9\u9762&#xff0c;AI\u9886\u57df\u4e5f\u663e\u8457\u9886\u5148\u3002\u5176\u4e2d&#xff0c;\u6708\u85aa\u6392\u540d\u524d20\u7684\u9ad8\u85aa\u5c97\u4f4d\u5e73\u5747\u6708\u85aa\u5747\u8d85\u8fc76\u4e07\u5143&#xff0c;\u800c\u8fd9\u4e9b\u5e2d\u4f4d\u5927\u90e8\u5206\u88abAI\u7814\u53d1\u5c97\u5360\u636e\u3002<\/p>\n<p>\u4e0e\u6b64\u76f8\u5bf9\u5e94&#xff0c;\u5e02\u573a\u4e3aAI\u4eba\u624d\u652f\u4ed8\u4e86\u663e\u8457\u7684\u6ea2\u4ef7&#xff1a;\u7b97\u6cd5\u5de5\u7a0b\u5e08\u4e2d&#xff0c;\u4e13\u653bAIGC\u65b9\u5411\u7684\u5c97\u4f4d\u5e73\u5747\u85aa\u8d44\u8f83\u666e\u901a\u7b97\u6cd5\u5de5\u7a0b\u5e08\u9ad8\u51fa\u8fd118%&#xff1b;\u4ea7\u54c1\u7ecf\u7406\u5c97\u4f4d\u4e2d&#xff0c;AI\u65b9\u5411\u7684\u4ea7\u54c1\u7ecf\u7406\u85aa\u8d44\u4e5f\u9886\u5148\u7ea620%\u3002<\/p>\n<p>\u5f53\u4f60\u610f\u8bc6\u5230\u201c\u6280\u672f&#043;AI\u201d\u662f\u4e2a\u4eba\u7a81\u56f4\u7684\u6700\u4f73\u8def\u5f84\u65f6&#xff0c;\u6574\u4e2a\u5c31\u4e1a\u5e02\u573a\u7684\u6570\u636e\u4e5f\u5370\u8bc1\u4e86\u540c\u4e00\u4e2a\u4e8b\u5b9e&#xff1a;AI\u5927\u6a21\u578b\u6b63\u6210\u4e3a\u9ad8\u85aa\u673a\u4f1a\u7684\u6700\u5927\u6e90\u5934\u3002<\/p>\n<h3>\u6700\u540e<\/h3>\n<p>\u6211\u5728\u4e00\u7ebf\u79d1\u6280\u4f01\u4e1a\u6df1\u8015\u5341\u4e8c\u8f7d&#xff0c;\u89c1\u8bc1\u8fc7\u592a\u591a\u56e0\u6280\u672f\u5361\u4f4d\u800c\u8dc3\u8fc1\u7684\u6848\u4f8b\u3002\u90a3\u4e9b\u7387\u5148\u62e5\u62b1 AI \u7684\u540c\u4e8b&#xff0c;\u65e9\u5df2\u5728\u6548\u7387\u4e0e\u85aa\u8d44\u4e0a\u5f62\u6210\u4ee3\u9645\u4f18\u52bf&#xff0c;\u6211\u610f\u8bc6\u5230\u6709\u5f88\u591a\u7ecf\u9a8c\u548c\u77e5\u8bc6\u503c\u5f97\u5206\u4eab\u7ed9\u5927\u5bb6&#xff0c;\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6211\u4eec\u7684\u80fd\u529b\u548c\u7ecf\u9a8c\u89e3\u7b54\u5927\u5bb6\u5728\u5927\u6a21\u578b\u7684\u5b66\u4e60\u4e2d\u7684\u5f88\u591a\u56f0\u60d1\u3002<\/p>\n<p>\u6211\u6574\u7406\u51fa\u8fd9\u5957 AI \u5927\u6a21\u578b\u7a81\u56f4\u8d44\u6599\u5305\u3010\u5141\u8bb8\u767d\u5ad6\u3011&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u2705\u4ece\u5165\u95e8\u5230\u7cbe\u901a\u7684\u5168\u5957\u89c6\u9891\u6559\u7a0b<\/p>\n<\/li>\n<li>\n<p>\u2705AI\u5927\u6a21\u578b\u5b66\u4e60\u8def\u7ebf\u56fe&#xff08;0\u57fa\u7840\u5230\u9879\u76ee\u5b9e\u6218\u4ec5\u970090\u5929&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u2705\u5927\u6a21\u578b\u4e66\u7c4d\u4e0e\u6280\u672f\u6587\u6863PDF<\/p>\n<\/li>\n<li>\n<p>\u2705\u5404\u5927\u5382\u5927\u6a21\u578b\u9762\u8bd5\u9898\u76ee\u8be6\u89e3<\/p>\n<\/li>\n<li>\n<p>\u2705640\u5957AI\u5927\u6a21\u578b\u62a5\u544a\u5408\u96c6<\/p>\n<\/li>\n<li>\n<p>\u2705\u5927\u6a21\u578b\u5165\u95e8\u5b9e\u6218\u8bad\u7ec3<\/p>\n<\/li>\n<\/ul>\n<p>\u8fd9\u4efd\u5b8c\u6574\u7248\u7684\u5927\u6a21\u578b AI \u5b66\u4e60\u548c\u9762\u8bd5\u8d44\u6599\u5df2\u7ecf\u4e0a\u4f20CSDN&#xff0c;\u670b\u53cb\u4eec\u5982\u679c\u9700\u8981\u53ef\u4ee5\u5fae\u4fe1\u626b\u63cf\u4e0b\u65b9CSDN\u5b98\u65b9\u8ba4\u8bc1\u4e8c\u7ef4\u7801\u514d\u8d39\u9886\u53d6\u3010\u4fdd\u8bc1100%\u514d\u8d39\u3011<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070622-6967406e4f8a1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u2460\u4ece\u5165\u95e8\u5230\u7cbe\u901a\u7684\u5168\u5957\u89c6\u9891\u6559\u7a0b<\/h3>\n<p>\u5305\u542b\u63d0\u793a\u8bcd\u5de5\u7a0b\u3001RAG\u3001Agent\u7b49\u6280\u672f\u70b9<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070626-69674072c0f97.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u2461 AI\u5927\u6a21\u578b\u5b66\u4e60\u8def\u7ebf\u56fe&#xff08;0\u57fa\u7840\u5230\u9879\u76ee\u5b9e\u6218\u4ec5\u970090\u5929&#xff09;<\/h3>\n<p>\u5168\u8fc7\u7a0bAI\u5927\u6a21\u578b\u5b66\u4e60\u8def\u7ebf<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070627-696740732ab43.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u2462\u5b66\u4e60\u7535\u5b50\u4e66\u7c4d\u548c\u6280\u672f\u6587\u6863<\/h3>\n<p>\u5e02\u9762\u4e0a\u7684\u5927\u6a21\u578b\u4e66\u7c4d\u786e\u5b9e\u592a\u591a\u4e86&#xff0c;\u8fd9\u4e9b\u662f\u6211\u7cbe\u9009\u51fa\u6765\u7684<\/p>\n<p><img decoding=\"async\" src=\"2026-01-14cdzei1povfx.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u2463\u5404\u5927\u5382\u5927\u6a21\u578b\u9762\u8bd5\u9898\u76ee\u8be6\u89e3<\/h3>\n<p><img decoding=\"async\" src=\"2026-01-14deizsq3bpta.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u2464640\u5957AI\u5927\u6a21\u578b\u62a5\u544a\u5408\u96c6<\/h3>\n<p><img decoding=\"async\" src=\"2026-01-142wmokv32z42.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>\u2465\u5927\u6a21\u578b\u5165\u95e8\u5b9e\u6218\u8bad\u7ec3<\/h3>\n<p><img decoding=\"async\" src=\"2026-01-14lpjxzeskvzn.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>&#x1f449;\u83b7\u53d6\u65b9\u5f0f&#xff1a;<br \/>\n\u6709\u9700\u8981\u7684\u5c0f\u4f19\u4f34&#xff0c;\u53ef\u4ee5\u4fdd\u5b58\u56fe\u7247\u5230wx\u626b\u63cf\u4e8cv\u7801\u514d\u8d39\u9886\u53d6\u3010\u4fdd\u8bc1100%\u514d\u8d39\u3011&#x1f193;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070622-6967406e4f8a1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>langgraph 1.0\u6b63\u5f0f\u7248\u672c\u540e&#xff0c;\u6709\u4e09\u79cd\u90e8\u7f72\u7684\u65b9\u5f0f&#xff0c; \u5148\u8bf4\u7ed3\u8bba&#xff1a;<br \/>\n\u5982\u679c\u53ea\u662f\u90e8\u7f72\u81ea\u5df1\u7684langgraph\u670d\u52a1 \u4f7f\u7528\u72ec\u7acb\u670d\u52a1\u5668(standalone server)\u5c31\u53ef\u4ee5<br \/>\n\u5982\u679c\u4f60\u9700\u8981\u672c\u5730\u7684langsmith\u7528\u6765\u76d1\u63a7&#xff0c;\u4e0d\u9700\u8981\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith\u65b9\u5f0f<br \/>\n\u5982\u679c\u4f60\u8fd8\u8981langsmith\u7684\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith with deployment\u4e0b\u9762\u6211\u4eec\u5206\u522b\u5f00\u59cb<br \/>\n\u4e00 \u72ec\u7acb\u670d\u52a1\u5668(stan<\/p>\n","protected":false},"author":2,"featured_media":59821,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[2946,524,841,50,614,190,44],"topic":[],"class_list":["post-59841","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-prompt","tag-react-js","tag-transformer","tag-50","tag-614","tag-190","tag-44"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/59841.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"langgraph 1.0\u6b63\u5f0f\u7248\u672c\u540e&#xff0c;\u6709\u4e09\u79cd\u90e8\u7f72\u7684\u65b9\u5f0f&#xff0c; \u5148\u8bf4\u7ed3\u8bba&#xff1a; \u5982\u679c\u53ea\u662f\u90e8\u7f72\u81ea\u5df1\u7684langgraph\u670d\u52a1 \u4f7f\u7528\u72ec\u7acb\u670d\u52a1\u5668(standalone server)\u5c31\u53ef\u4ee5 \u5982\u679c\u4f60\u9700\u8981\u672c\u5730\u7684langsmith\u7528\u6765\u76d1\u63a7&#xff0c;\u4e0d\u9700\u8981\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith\u65b9\u5f0f \u5982\u679c\u4f60\u8fd8\u8981langsmith\u7684\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith with deployment\u4e0b\u9762\u6211\u4eec\u5206\u522b\u5f00\u59cb \u4e00 \u72ec\u7acb\u670d\u52a1\u5668(stan\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/59841.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-14T07:06:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070621-6967406daaa6b.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/59841.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/59841.html\",\"name\":\"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-01-14T07:06:28+00:00\",\"dateModified\":\"2026-01-14T07:06:28+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/59841.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/59841.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/59841.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/59841.html","og_locale":"zh_CN","og_type":"article","og_title":"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"langgraph 1.0\u6b63\u5f0f\u7248\u672c\u540e&#xff0c;\u6709\u4e09\u79cd\u90e8\u7f72\u7684\u65b9\u5f0f&#xff0c; \u5148\u8bf4\u7ed3\u8bba&#xff1a; \u5982\u679c\u53ea\u662f\u90e8\u7f72\u81ea\u5df1\u7684langgraph\u670d\u52a1 \u4f7f\u7528\u72ec\u7acb\u670d\u52a1\u5668(standalone server)\u5c31\u53ef\u4ee5 \u5982\u679c\u4f60\u9700\u8981\u672c\u5730\u7684langsmith\u7528\u6765\u76d1\u63a7&#xff0c;\u4e0d\u9700\u8981\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith\u65b9\u5f0f \u5982\u679c\u4f60\u8fd8\u8981langsmith\u7684\u90e8\u7f72\u7ba1\u7406&#xff0c;\u4f7f\u7528langsmith with deployment\u4e0b\u9762\u6211\u4eec\u5206\u522b\u5f00\u59cb \u4e00 \u72ec\u7acb\u670d\u52a1\u5668(stan","og_url":"https:\/\/www.wsisp.com\/helps\/59841.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-01-14T07:06:28+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/01\/20260114070621-6967406daaa6b.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"16 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/59841.html","url":"https:\/\/www.wsisp.com\/helps\/59841.html","name":"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-01-14T07:06:28+00:00","dateModified":"2026-01-14T07:06:28+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/59841.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/59841.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/59841.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"LangGraph 1.0 \u90e8\u7f72\u5927\u5168\uff01\u4e09\u79cd\u6a21\u5f0f\u5168\u9762\u8986\u76d6\uff0c\u72ec\u7acb\u670d\u52a1\u5668\u5230\u4f01\u4e1aK8s\u4e00\u952e\u641e\u5b9a\uff01"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/59841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=59841"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/59841\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/59821"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=59841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=59841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=59841"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=59841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}