SuperAPI AI 工具集

langchain-multi-env-setup

智能体与模型

查看项目

更新于 10-15 23:27

技能介绍

用途:为 LangChain 1.0(Python)服务建立可靠的 dev/staging/prod 环境隔离,解决生产容器中 .env 密钥经 docker exec env 泄露(P37),以及环境变量串用导致 staging 加载 prod 提示词或模型的问题。

主要能力:1) 用 pydantic-settings 定义 Settings 类,密钥字段用 SecretStr,env 用 Literal["dev","staging","prod"],extra="forbid" 拒绝未知变量,HttpUrl 校验端点;2) 按环境加载配置:dev 读 .env.dev 文件,staging 读编排器注入的环境变量,prod 从云 Secret Manager 拉取并只写入 Settings 实例,不写 os.environ;3) 按环境固定 model_id、prompt_commit_hash、vector_index_name、checkpointer_url;4) 检查点按环境选择:dev 用 MemorySaver,staging/prod 用 PostgresSaver 且数据库隔离;5) 启动冒烟测试,校验模型、检查点、向量库、可观测端点,预算 10 秒,失败则中止部署。

使用方式:按六步顺序实施——定义 Settings、加环境加载器、接入 Secret Manager、按环境固定模型与提示词、按环境配置检查点、在 HTTP 服务绑定前运行 validate_integrations(settings)。依赖 Python 3.10+、langchain-core 1.0.x、langchain-anthropic 1.0.x、pydantic>=2.5、pydantic-settings>=2.1,以及 GCP Secret Manager、AWS Secrets Manager 或 HashiCorp Vault 之一。

适用场景:将单 .env 服务升级为多环境隔离;排查 staging 误用 prod 提示词;用冒烟测试拦截错误模型 id 的部署。

限制:本技能只负责按环境配置管线,不负责密钥轮换、吊销与作用域(属 langchain-security-basics);检查点 schema 迁移见 langchain-langgraph-checkpointing。环境变量数量建议 15–30 个,超过 30 说明 Settings 混入了功能开关。具体价格、平台支持范围等资料未提供。