SuperAPI AI 工具集

langchain-reference-architecture

智能体与模型

查看项目

更新于 10-15 23:27

技能介绍

用途:为生产级 LangChain 1.0 / LangGraph 1.0 服务提供一套分层参考架构,把常见的架构性错误(多租户检索器在导入期绑定导致数据泄漏、内存会话历史在 Pod 重启后丢失、重试参数散落各处、配置读取方式不统一)变成难以写出的错误。

主要能力:采用五层目录结构 app / services / adapters / config / domain,依赖方向严格向下,最多五层导入深度。adapters/llm_factory.py 集中版本安全默认值(如 timeout、max_retries),链只依赖 BaseChatModel 协议;services/registry.py 提供 register / get 的链与图查找;retriever_for(tenant_id) 与 tools_for(tenant_id) 按请求构建,避免导入期绑定租户;config/settings.py 用单个 Pydantic Settings,密钥用 SecretStr,环境名用 Literal 校验;adapters/middleware.py 统一编排中间件顺序(先脱敏再缓存);checkpointer_for(env) 在 dev 用 MemorySaver,staging/prod 用 AsyncPostgresSaver;测试在工厂边界注入假模型,集成测试用真实适配器;CI 用 import-linter 强制分层并禁止 services 直接导入厂商 SDK。

使用方式:按步骤先落地目录结构,再依次抽取配置、LLM 工厂、检索器工厂、注册表、中间件、检查点与测试,最后在 pyproject.toml 配置 import-linter 契约并在 CI 运行 lint-imports。前置条件为 Python 3.10+、langchain-core 与 langgraph 1.0.x、pydantic 2.x、pydantic-settings、import-linter 2.x,以及所需厂商包;staging/prod 检查点需 langgraph-checkpoint-postgres 与 Postgres 实例。

适用场景与限制:适合需要多租户隔离、可维护分层与可测试性的 LangChain 服务。资料未提供具体收费、价格或性能基准;示例中的模型名、索引名与 DSN 等需按实际环境替换。