跳到主要内容

09-Python-API差异速查

核对日期:2026-05-18
官方资料:Python overview https://docs.langchain.com/oss/python/langchain/overview;JS overview https://docs.langchain.com/oss/javascript/langchain/overview

官方概念

LangChain v1 的概念层在 Python 和 TypeScript 中基本一致:model、messages、tools、agent、structured output、memory、retrieval、middleware、runtime。差异主要来自语言生态、类型系统、provider 包和 schema 工具。

机制

同一能力的迁移方式:

能力TypeScript 常见形态Python 常见形态
AgentcreateAgent / JS 官方 APIcreate_agent
Tool schemazodPydantic / TypedDict / function signature
Runtime configobject / contextdict / runtime context
Memorycheckpointer/store 概念checkpointer/store 概念
EvalLangSmith JS SDK 或自建 runnerLangSmith Python SDK 或自建 runner

TypeScript 写法

本手册优先用 TypeScript 实现,因为综合项目更容易接入前端、Node API 和全栈服务。核心要求是严格类型、schema 校验、测试和 eval。

Python 差异

不要做机械翻译:

  • Python 的 snake_case 不等于 TypeScript 的 API 名称。
  • Python 的 Pydantic schema 不等于 TypeScript 的 zod schema。
  • provider 集成包和版本节奏可能不同。
  • 官方示例中的模型名称要按当前 provider 文档核对。

工程边界

  • 团队混合语言时,应统一业务 schema、eval dataset 和 trace 字段。
  • 不同语言实现必须通过同一组回归用例验收。
  • 语言差异不应改变权限、安全和审计策略。

常见反模式

反模式后果
复制 Python 示例到 TSimport、schema、runtime 都可能错
只测一个语言实现双栈行为不一致
忽略 provider 包差异模型能力和工具调用格式不一致

练习任务

  1. 选择一个 example,写出 Python 概念等价伪代码。
  2. 列出哪些字段必须在 TS/Python 双栈中保持一致。
  3. 给项目 eval 增加一个跨语言共享 JSON case 的设计。