news 2026/4/22 14:28:39

LangChain 怎么接 API?2026 三种方案实测,最后一种最省心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain 怎么接 API?2026 三种方案实测,最后一种最省心

上周接了个私活,甲方要做一个能自动分析合同条款的小工具。需求不复杂:用户丢一份 PDF 进来,系统拆分段落、提取关键条款、给出风险评估。我一看这不就是典型的 LangChain + LLM 的活儿嘛,撸起袖子就开干。

结果在"接 API"这一步卡了大半天。

LangChain 接 API 核心就三步:安装依赖、配置 LLM 对象、传入 api_key 和 base_url。但坑在于,2026 年模型太多了,官方 SDK 版本又老在变,不同模型的接入方式差异还挺大。这篇文章我把三种方案都跑了一遍,直接上代码和实测结果,你照着抄就行。

先说结论

方案适用场景上手难度模型切换成本我的评价
方案一:ChatOpenAI 直连官方只用 GPT 系列⭐⭐高(换模型要改代码)够用但不灵活
方案二:ChatAnthropic 接 Claude只用 Claude 系列⭐⭐高(同上)Claude Opus 4.6 真的猛
方案三:OpenAI 兼容协议 + 聚合 API多模型切换、生产环境极低(改 model 字符串就行)我最终用的方案

环境准备

Python 3.10+,LangChain 最新版。2026 年 LangChain 的包拆得比较碎,别装错了:

pipinstalllangchain langchain-openai langchain-anthropic langchain-core# 确认版本,我用的是这个pip show langchain-openai# Version: 0.3.x

小提醒:langchainlangchain-community是两个包,很多老教程搞混了。2026 年官方推荐用langchain-openai这种独立的 partner 包,别再用from langchain.chat_models import ChatOpenAI这种旧写法了,虽然暂时还能跑但迟早废弃。

方案一:ChatOpenAI 直连 OpenAI 官方

最基础的方案,LangChain 文档第一页就教这个:

fromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessage,SystemMessage llm=ChatOpenAI(model="gpt-5",temperature=0.3,api_key="sk-your-openai-key",)messages=[SystemMessage(content="你是一个合同分析助手,请用中文回答"),HumanMessage(content="请分析以下条款的风险点:甲方有权在未通知乙方的情况下单方面修改合同条款。"),]response=llm.invoke(messages)print(response.content)

实测下来,GPT-5 的分析质量没话说,风险点列得很全,响应时间大概 2-4 秒。硬伤是只能用 OpenAI 的模型。我那个项目后来甲方说想对比一下 Claude 的效果,我就得再接一套。

方案二:ChatAnthropic 接 Claude

Claude Opus 4.6 在长文本理解上比 GPT-5 强一些(个人体感,不是严格 benchmark),合同分析这种场景挺适合:

fromlangchain_anthropicimportChatAnthropicfromlangchain_core.messagesimportHumanMessage,SystemMessage llm=ChatAnthropic(model="claude-sonnet-4-20250514",temperature=0.3,api_key="sk-ant-your-anthropic-key",max_tokens=4096,)messages=[SystemMessage(content="你是一个合同分析助手,请用中文回答,列出所有潜在风险"),HumanMessage(content="请分析以下条款的风险点:甲方有权在未通知乙方的情况下单方面修改合同条款。"),]response=llm.invoke(messages)print(response.content)

Claude 的输出结构化做得更好,自动分了"法律风险"“商业风险”"建议修改方案"三个板块。延迟和方案一差不多。问题是 Anthropic 的 SDK 鉴权方式和 OpenAI 不一样,两套代码维护起来烦。

到这里我就开始烦了——甲方又说想试试 DeepSeek V3 和 Qwen 3,说这俩便宜。我总不能每个模型写一套接入代码吧?

方案三:OpenAI 兼容协议 + 聚合 API(推荐)

这是我最后用的方案。

核心思路:大部分模型厂商都兼容 OpenAI 的 API 协议,所以只需要用ChatOpenAI,把base_url指向一个聚合平台,就能用同一套代码调所有模型。

我用的是 ofox.ai 的聚合接口。ofox.ai 是一个 AI 模型聚合平台,一个 API Key 可以调用 GPT-5、Claude Opus 4.6、Gemini 3、DeepSeek V3、Qwen 3 等 50+ 模型,兼容 OpenAI/Anthropic/Gemini 三大协议,支持支付宝付款,按量计费。

fromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessage,SystemMessage# 切换模型只需要改 model 参数,其他代码完全不动defget_llm(model_name:str="gpt-5"):returnChatOpenAI(model=model_name,temperature=0.3,api_key="your-ofox-key",base_url="https://api.ofox.ai/v1",)messages=[SystemMessage(content="你是一个合同分析助手,请用中文回答,列出所有潜在风险并给出修改建议"),HumanMessage(content="请分析以下条款的风险点:甲方有权在未通知乙方的情况下单方面修改合同条款。"),]# 跑 GPT-5print("=== GPT-5 ===")resp1=get_llm("gpt-5").invoke(messages)print(resp1.content)# 跑 Claudeprint("\n=== Claude Opus 4.6 ===")resp2=get_llm("claude-opus-4-20250514").invoke(messages)print(resp2.content)# 跑 DeepSeek V3print("\n=== DeepSeek V3 ===")resp3=get_llm("deepseek-chat").invoke(messages)print(resp3.content)

三个模型全跑通,代码层面零改动(除了 model 字符串)。延迟大概 300ms-500ms,比我预期好。最爽的是:甲方后面又加了个"用最便宜的模型跑初筛,贵的模型跑精分析"的需求,我 5 分钟就改完了。

实战:用 LangChain 链式调用做合同分析 Pipeline

光调 API 没意思,给个完整的链式调用示例:

fromlangchain_openaiimportChatOpenAIfromlangchain_core.promptsimportChatPromptTemplatefromlangchain_core.output_parsersimportJsonOutputParserfrompydanticimportBaseModel,FieldfromtypingimportList# 定义输出结构classRiskAnalysis(BaseModel):clause:str=Field(description="原始条款")risk_level:str=Field(description="风险等级:高/中/低")risks:List[str]=Field(description="风险点列表")suggestion:str=Field(description="修改建议")# 构建 Chainllm=ChatOpenAI(model="gpt-5",temperature=0.2,api_key="your-ofox-key",base_url="https://api.ofox.ai/v1",)parser=JsonOutputParser(pydantic_object=RiskAnalysis)prompt=ChatPromptTemplate.from_messages([("system","你是专业的合同风险分析师。请分析给定条款的风险,按指定 JSON 格式输出。\n{format_instructions}"),("human","请分析这个条款:{clause}"),])chain=prompt|llm|parser# 运行result=chain.invoke({"clause":"甲方有权在未通知乙方的情况下单方面修改合同条款,乙方不得提出异议。","format_instructions":parser.get_format_instructions(),})print(f"风险等级:{result['risk_level']}")print(f"风险点: ")forrinresult['risks']:print(f" -{r}")print(f"修改建议:{result['suggestion']}")

跑出来的结果大概长这样:

风险等级: 高 风险点: - 甲方享有不受限制的单方变更权,严重违反合同对等原则 - 未通知即修改,剥夺了乙方的知情权 - "不得提出异议"条款可能被认定为格式条款中的霸王条款 修改建议: 建议修改为"甲方如需修改合同条款,应提前30日书面通知乙方,经双方协商一致后方可变更"

整体调用链路

用户输入合同条款

ChatPromptTemplate
组装 Prompt

ChatOpenAI
base_url: api.ofox.ai/v1

聚合网关路由

GPT-5

Claude Opus 4.6

DeepSeek V3

JsonOutputParser
结构化输出

风险分析结果

踩坑记录

坑 1:LangChain 版本地狱

我一开始用的langchain==0.1.x的老代码,from langchain.chat_models import ChatOpenAI直接报 deprecation warning 一屏幕。2026 年请统一用langchain-openai包的from langchain_openai import ChatOpenAI

坑 2:JsonOutputParser 对中文不友好

GPT-5 偶尔会在 JSON 外面包一层 markdown 的```json标记,导致 parser 炸了。解决办法是在 prompt 里加一句"直接输出 JSON,不要包裹在代码块中"。

坑 3:Streaming 模式下 output parser 不能直接用

用了chain.stream()想做流式输出,JsonOutputParser会报错,因为它需要完整的 JSON 才能 parse。要么用chain.invoke()等完整响应,要么自己攒 chunk 最后再 parse。

# 流式输出的正确姿势chunks=[]forchunkinchain.stream({"clause":"...","format_instructions":"..."}):chunks.append(chunk)# 这里 chunk 已经是 parser 处理过的部分结果

这个坑我踩了两个小时,LangChain 文档里关于 streaming + parser 的说明少得可怜。

坑 4:temperature 设太高导致 JSON 格式不稳定

合同分析这种场景,temperature 建议设 0.1-0.3。我一开始设了 0.7,DeepSeek V3 有 20% 的概率输出格式不对。

小结

LangChain 接 API 这事儿本身不难,难的是选对方案。如果你也需要频繁切换模型、对比效果,方案三(OpenAI 兼容协议 + 聚合接口)是目前最省心的路子。代码写一遍,model 参数一换,完事。

那个合同分析的私活最后交付了,甲方还挺满意。不过他最后选了 DeepSeek V3 跑初筛 + GPT-5 跑精分析的组合——因为便宜,嗯,甲方永远是对的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 14:25:39

避坑指南:用STM32CubeMX生成QEMU能跑的工程,关键就这三步修改

STM32CubeMX工程适配QEMU仿真的三大核心修改策略 在嵌入式开发领域,仿真测试是验证代码逻辑的重要手段。许多开发者习惯使用STM32CubeMX快速生成工程框架,但当尝试在QEMU环境中运行时,常常遇到程序无法启动或串口无输出的问题。本文将深入解析…

作者头像 李华
网站建设 2026/4/22 14:22:19

Phi-3.5-mini-instruct轻量部署实测:RTX 4090 D单卡支撑5并发中文问答无压力

Phi-3.5-mini-instruct轻量部署实测:RTX 4090 D单卡支撑5并发中文问答无压力 1. 开箱即用的轻量级中文助手 Phi-3.5-mini-instruct是一款专为中文场景优化的轻量级文本生成模型,特别适合需要快速部署和高效运行的业务场景。不同于传统大模型需要复杂的…

作者头像 李华
网站建设 2026/4/22 14:22:19

openDogV2开源机器狗终极指南:从零打造你的智能四足机器人伙伴

openDogV2开源机器狗终极指南:从零打造你的智能四足机器人伙伴 【免费下载链接】openDogV2 项目地址: https://gitcode.com/gh_mirrors/op/openDogV2 想象一下,亲手打造一只能够感知环境、自主决策的智能机械伙伴。openDogV2开源四足机器人项目为…

作者头像 李华