news 2026/9/25 16:41:44

Langchain 从部署到调用各大主流厂商大模型使用详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Langchain 从部署到调用各大主流厂商大模型使用详解

目录

一、前言

二、Langchain 介绍

2.1 Langchain 是什么

2.2 为什么要学习 LangChai

2.3 LangChain 的核心组件

2.4 LangChain 分层架构图

2.5 LangChain 使用场景

三、Langchain 安装与使用

3.1 环境准备

3.2 Langchain 安装过程

3.2.1 一键安装依赖包

3.3 对接三方厂商大模型

3.3.1 对接deepseek

3.3.2 对接智谱大模型

3.3.3 对接阿里云百炼平台

3.4 ChatOpenAI 兼容用法

3.4.1 使用ChatOpenAI

3.4.2 模型初始化 init_chat_model

3.5 调用中转平台大模型

3.5.1 OpenRouter

四、写在最后


一、前言

大型语言模型(LLM)的能力发展到今天已经非常完善,但是企业项目直接调用 API 构建实际应用时,开发者常面临数据孤岛、上下文缺失、任务编排复杂等挑战。于是LangChain 应运而生,这个开源框架通过标准化的组件和灵活的编排能力,让开发者能像搭积木一样,将 LLM 与外部数据源、工具和业务逻辑无缝连接,快速构建出 RAG 智能问答、自主决策 Agent 等强大应用。

本文将从实际使用角度出发,系统梳理 LangChain 的核心架构、关键组件及典型应用场景,帮助读者快速上手并落地于真实项目。

二、Langchain 介绍

2.1 Langchain 是什么

LangChain 是一个开源框架,专为简化基于大型语言模型(LLM) 的应用程序开发而设计-。它由哈佛大学的 Harrison Chase 于 2022 年 10 月发起,其核心目标是让开发者能够像“搭积木”一样,将各种模块快速组合,构建出功能强大的 AI 应用。

  • 可以把 LangChain 理解为大模型的工作流编排工具。大模型本身像一个强大的“大脑”,而 LangChain 则负责为这个“大脑”赋予“手脚”和“逻辑”,让它能够读取文件、调用 API、操作数据库,并分步骤执行复杂的任务。

官网:LangChain: the open agent platform to own your intelligence

官网文档:Home - Docs by LangChain

2.2 为什么要学习 LangChai

直接调用大模型 API 虽然简单,但在构建实际应用时会遇到诸多挑战,而 LangChain 正是为了解决这些痛点而生。

  • 解决大模型的局限:大模型存在信息滞后、无法执行具体操作、缺乏任务规划能力等局限。LangChain 通过连接外部数据源和工具,让模型能获取实时信息并执行操作。

  • 提供统一的开发接口:它为大模型、向量数据库等提供了标准接口,让你能轻松切换或组合不同的模型(如 OpenAI、Anthropic 等),无需为每个供应商编写适配代码。

  • 简化复杂应用的开发:通过内置的 RAG(检索增强生成)、Memory(记忆) 和 Agents(智能体) 等组件,LangChain 能大幅简化数据集成、上下文管理和复杂任务自动化的开发难度。

  • 提升开发效率:它提供了大量预制组件,让开发者能将更多精力放在业务逻辑上,快速验证想法,而无需从零编写大量胶水代码(glue code)。

2.3 LangChain 的核心组件

LangChain 的核心是其高度模块化的组件架构。以下是几个最主要的组件:

组件

核心作用

关键能力 / 用途

模型 I/O (Model I/O)

标准化与 LLM 的交互接口

统一调用多模型API、管理提示词(Prompt)模板、结构化解析模型输出

检索 (Retrieval)

让 LLM 能访问外部数据源,是 RAG 应用的基础。

包含文档加载器(Loaders)、文本分割器(Splitters)和向量存储(Vector Stores),用于处理并检索私有数据。

记忆 (Memory)

在多次对话或任务中维护上下文状态。

管理对话历史,实现短期会话记忆和长期知识存储,让应用具备“记忆力”。

链 (Chains)

将多个组件和步骤串联成一个可复用的工作流-。

通过 LangChain 表达式语言(LCEL),可以用|管道操作符简洁地构建链。

智能体 (Agents)

让 LLM 能动态决策,并自主调用外部工具(Tools)来完成任

这是 LangChain 最强大的能力之一,使 LLM 从“问答机”升级为“决策中枢”

回调 (Callbacks)

实现全链路的日志记录、监控和调试

与 LangSmith 等平台集成,用于追踪和性能分析

2.4 LangChain 分层架构图

下图是结合LangChain 核心组件的一个完整的分层调用架构图

┌─────────────────────────────────────────────────────────────────────────────┐ │ 第5层:部署 & 可观测性层 │ │ ┌──────────────────────────┐ ┌──────────────────────────────────────┐ │ │ │ LangServe │ │ LangSmith │ │ │ │ (一键部署为REST API) │ │ (调试、监控、评估、追踪) │ │ │ └──────────────────────────┘ └──────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ▲ │ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 第4层:应用 & 编排层 │ │ ┌──────────────────────────┐ ┌──────────────────────────────────────┐ │ │ │ Chains (链) │ │ Agents (智能体) │ │ │ │ 预定义的工作流编排 │ │ LLM自主决策,动态调用工具 │ │ │ │ 例:RAG链、对话链 │ │ 例:旅行规划Agent、数据分析Agent │ │ │ └──────────────────────────┘ └──────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ▲ │ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 第3层:核心抽象层 │ │ ┌─────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ │ │ │ Model I/O │ │Retrieval │ │ Memory │ │ Tools │ │ │ │ 模型交互 │ │ 检索增强 │ │ 记忆管理 │ │ 外部工具/API │ │ │ │ 提示词模板 │ │ 文档加载 │ │ 对话状态 │ │ 搜索/计算/数据库 │ │ │ │ 输出解析 │ │ 向量存储 │ │ 上下文缓存│ │ 自定义函数 │ │ │ └─────────────┘ └──────────┘ └──────────┘ └──────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ▲ │ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 第2层:协议 & 集成层 │ │ ┌──────────────────────────┐ ┌──────────────────────────────────────┐ │ │ │ LangChain-Core │ │ LangChain-Community │ │ │ │ 基础抽象接口定义 │ │ 第三方组件集成实现 │ │ │ │ LCEL表达式语言 │ │ OpenAI/Anthropic/Chroma/Pinecone │ │ │ └──────────────────────────┘ └──────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ▲ │ ┌─────────────────────────────────────────────────────────────────────────────┐ │ 第1层:基础 LLM 提供商 │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ OpenAI │ │Anthropic│ │ Google │ │ Cohere │ │ 开源 │ ... │ │ │ GPT-4 │ │ Claude │ │ Gemini │ │Command │ │Llama/Qwen│ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘

2.5 LangChain 使用场景

基于上述组件,LangChain 的应用场景非常广泛,主要包括:

  • 检索增强生成(RAG):这是 LangChain 最核心的应用场景之一。通过连接企业内部的 PDF、数据库、网页等私有数据,让 LLM 能够基于这些信息生成更准确、更相关的回答,有效减少模型“幻觉”。

  • 智能客服与聊天机器人:构建能访问公司知识库、查询订单状态或处理售后问题的智能客服系统-。

  • 自主智能体(Agent):开发能自主规划并执行复杂任务的 AI 助手-。例如,一个旅行代理智能体可以处理旅客的查询和订票-;一个数据分析智能体可以自动“查询数据库 → 分析数据 → 生成报告并发送邮件”。

  • 企业内部流程自动化:将 LLM 集成到企业工作流中,例如自动处理员工入职数据-、进行多语言文档翻译并推送到通信工具等。

  • 内容生成与摘要:自动对长篇文档、网页内容进行摘要总结,或根据要求生成特定风格的报告、营销文案等。

三、Langchain 安装与使用

3.1 环境准备

在开始使用之前,先在本地准备好下面的环境:

  • 安装python, 版本>= 3.10

  • 安装python集成开发环境,比如:pycharm,虚拟环境conda 或 venv,或uv

  • 在阿里云百炼,deepseek等大模型官网注册账号并获取到apikey

3.2 Langchain 安装过程

3.2.1 一键安装依赖包

为了减少后续的安装步骤,可以一次性安装下面的几个依赖包

pip install langchain langchain-openai python-dotenv pip install -qU langchain-deepseek pip install langchain_deepseek

在实际开发中,可能会对接不同的模型供应商,或者通过一些中转模型代理平台使用,下表列举了一些主流的模型供应商,如果需要安装依赖包的时候可以快速获取

平台

网址

备注

OpenRouter

https://openrouter.ai/

全球主流,含国外模型

CloseAI

https://platform.closeai-asia.com/

亚洲最大,含国外模型

阿里云百炼

https://bailian.console.aliyun.com/

企业端友好

硅基流动

https://www.siliconflow.cn/

性价比高,适合个

人

百度千帆

https://console.bce.baidu.com/qianfan/overview

主打百度生态

火山引擎

https://console.volcengine.com/ark/

主打字节多模态生态

注意:

每个平台配置时,都需要几个要素:模型名、api-key、base-url

python-dotenv 用于从 .env 文件加载 API Key,这是管理敏感信息的最佳实践,可以避免将 Key 硬编码在代码中。

3.3 对接三方厂商大模型

接下来分别介绍下如何在langchain 中对接一些主流的厂商大模型进行对话,文档:

chat-models | langchain_community | LangChain Reference

在LangChain中初始化模型,主要可以通过直接使用特定的Model class和使用统一的

init_chat_model函数这两种方式来实现。

这里先讲方式1,这种方式最直接。LangChain为一些大模型供应商提供了专门的Model类,导入对应的具体类(如ChatOpenAl、ChatAnthropic、ChatDeepSeek、Chatollama、ChatHunyuan、ChatTongyi、ChatZhipuAl)并进行实例化。

在文档中可以看到:

3.3.1 对接deepseek

首先需要到deepseek网站上创建并获取到apikey

创建一个.env 文件,接下来对接的各个模型厂商的apikey等信息均放在里面

先安装依赖包

pip install langchain_deepseek

完整的对接deepseek的示例代码如下

from langchain_deepseek import ChatDeepSeek from dotenv import load_dotenv import os #1、读取.env配置文件中的信息。相关的环境变量以.env文件中的优先 load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv ("DEEPSEEK_API_KEY") DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") # 2、模型初始化 llm_deepseek = ChatDeepSeek( model="deepseek-v4-flash", api_key=DEEPSEEK_API_KEY, api_base=DEEPSEEK_BASE_URL, ) # 3、模型调用 response = llm_deepseek.invoke("请用一句话介绍自己") print(response)

运行一下,看到下面的效果说明通过对接deepseek大模型调用成功

在deepseek的官方api接口文档中,关于调用的参数有更详细的说明

3.3.2 对接智谱大模型

官网:智谱丨BigModel 平台

为了程序中调用,先安装相关依赖包

# 安装 Langchain 社区依赖包,[包含ChatHunyuan、ChatTongyi、ChatZhipuAI pip install langchain-community 或者(最新推荐这个) pip install langchain_zhipu # ChatZhipuAI/智谱 AI 认证相关依赖 pip install pyjwt

在.env文件中中补充下面的关键信息

ZHIPUAI_API_KEY=你的apikey ZHIPUAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4/

完整调用代码如下

from langchain_community.chat_models import ChatZhipuAI from dotenv import load_dotenv import os #1、读取.env配置文件中的信息。相关的环境变量以.env文件中的优先 load_dotenv(override=True) ZHIPUAI_API_KEY = os.getenv ("ZHIPUAI_API_KEY") ZHIPUAI_BASE_URL = os.getenv("ZHIPUAI_BASE_URL") # 2、模型初始化 llm_zhipu = ChatZhipuAI( model="glm-5.1", api_key=ZHIPUAI_API_KEY, api_base=ZHIPUAI_BASE_URL, ) # 3、模型调用 response = llm_zhipu.invoke("请用一句话介绍自己") print(response)

运行一下看到下面的结果

3.3.3 对接阿里云百炼平台

阿里云百炼地址:大模型服务平台百炼控制台

先安装几个依赖文件

#切换python环境 conda activate langchainl.2 # ChatTongyi/阿里通义千问依赖包 pip install dashscope

在.env文件中增加下面的配置

# 阿里云百炼平台 DASHSC0PE_API_KEY=你的apikey

完整代码如下

from langchain_community.chat_models import ChatTongyi from dotenv import load_dotenv import os #1、读取.env配置文件中的信息。相关的环境变量以.env文件中的优先 load_dotenv(override=True) DASHSC0PE_API_KEY = os.getenv ("DASHSC0PE_API_KEY") # 2、模型初始化 llm_tongyi = ChatTongyi( model="qwen3-max", api_key = DASHSC0PE_API_KEY ) # 3、模型调用 response = llm_tongyi.invoke("请用一句话介绍自己") print(response)

运行一下,看到下面的效果说明调用成功

3.4 ChatOpenAI 兼容用法

3.4.1 使用ChatOpenAI

一方面,LangChain没有为所有大模型厂商提供专用接口,见Langchain大模型集成列表。如果选用的平台没有专用接口,可以通过兼容接口调用。

另一方面,专用接口的对接方式五花八门,如腾讯混元的ChatHunyuan需要单独的APP_ID + SecretId+ Secretkey,配置繁琐,用户不友好。

大多数API平台都支持OpenAI API接口规范,所以基本都可以通过 ChatOpenAI

集成。

在官方文档:Chat model integrations - Docs by LangChain 中可以看到LangChain展示了部分支持的大模型列表,假如某个大模型不在这个里面,通过上面的方式就不好调用了

以deepseek为例,langchain 提供了对其大模型调用的支持,只需要在初始化大模型编码的部分将原本的ChatDeepSeek 调整为 ChatOpenAI 即可,其他的代码几乎不用动,如下:

from langchain_openai import ChatOpenAI from dotenv import load_dotenv import os #加载配置文件 load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv ("DEEPSEEK_API_KEY") DEEPSEEK_BASE_URL = os.getenv ("DEEPSEEK_BASE_URL") # 2、模型初始化 llm_chatopen = ChatOpenAI( model="deepseek-v4-flash", api_key=DEEPSEEK_API_KEY, base_url=DEEPSEEK_BASE_URL, ) # 3、模型调用 response = llm_chatopen.invoke("请用一句话介绍自己") print(response)

如果在一开始没有安装相关依赖包,还需要手动安装一下

pip install langchain_openai

运行上面的代码,仍然可以得到相同的结果

3.4.2 模型初始化 init_chat_model

init_chat_model是LangChain1.x中推出的用于初始化聊天模型的统一接口。只要是LangChain支持的模型都可以处理,它会根据模型名称自动选择对应的模型类初始化实例。

init_chat_model和直接使用 ChatTongyi、ChatopenAI、ChatDeepSeek有什么区别呢?init_chat_model是LangChain 1.0的统一接口,优势包括:

  • 统一接口:无需记住每个提供商的不同初始化方式(以一致的方式初始化)

  • 易于切换:简化了智能体系统中模型切换策略(只需修改模型字符串)

  • 简洁明了:更简洁的语法,减少样板代码

  • 自动适配:内部根据模型标识自动选择对应的驱动类(ChatOpenAI、ChatDeepSeek)

如下完整示例代码

from langchain.chat_models import init_chat_model from dotenv import load_dotenv import os #1、读取.env配置文件中的信息。相关的环境变量以.env文件中的优先 load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv ("DEEPSEEK_API_KEY") DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") # 2、模型初始化 llm_deepseek = init_chat_model( model="deepseek-v4-flash", api_key=DEEPSEEK_API_KEY, base_url=DEEPSEEK_BASE_URL, ) # 3、模型调用 response = llm_deepseek.invoke("请用一句话介绍自己") print(response)

3.5 调用中转平台大模型

受政策影响,国内无法直接调用国外顶尖的闭源模型,某些复杂任务需要用这些模型实现,此时可以通过中转平台达到目的。

3.5.1 OpenRouter

官网:OpenRouter,登录进去之后可以看到里面有很多国外的大模型

OpenRouter是一个多模型API聚合平台,提供统一的OpenAI兼容接口,可以通过一个

API Key调用OpenAl、Claude、Gemini、DeepSeek、Qwen等不同厂商的大模型。它适

合用于模型对比、模型路由、Agent应用开发和课程实验。

是目前知名度最高的中转平台。但是使用的话,需要tizi(即魔法,大家都懂的)

LangChain当前版本为OpenRouter提供了专用集成:ChatOpenRouter。

使用之前先安装一下依赖

pip install langchain-openrouter

再在.env文件中添加下面的信息

OPENROUTER_API_KEY=<YOUR_API_KEY> OPENROUTER_API_BASE=https://openrouter.ai/api/v1

如何获取apikey?进入OpenRouter网站,进入到某个具体的模型下面,点击右上方的尝试该模型

进去之后点击创建一个apikey即可获取到

完整的代码如下:

from dotenv import load_dotenv import os from langchain_openrouter import ChatOpenRouter #加载配置文件 load_dotenv(override=True) OPENROUTER_API_KEY = os.getenv ("OPENROUTER_API_KEY") OPENROUTER_API_BASE = os.getenv ("OPENROUTER_API_BASE") # 2、模型初始化 model = ChatOpenRouter( model="deepseek/deepseek-v3.2", api_key=OPENROUTER_API_KEY, base_url=OPENROUTER_API_BASE, ) # 3、模型调用 response = model.invoke("请用一句话介绍自己") print(response)

运行一下效果如下

四、写在最后

本文详细介绍了Langchain 的安装过程,以及使用Langchain 调用主流的大模型的实际案例展示,本篇到此结束,感谢观看。

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

OpenCode+Harness实战:终端智能体与LangChain编排数据分析全流程

最近这半年&#xff0c;圈子里聊得最多的已经不是"哪个模型更强"&#xff0c;而是"智能体能不能真的替人把活干完"。OpenCode 是我在这个方向上试用下来最顺手的一个终端智能体工具&#xff1a;它不像网页版 Copilot 那样只会窝在编辑器里补代码&#xff0…

作者头像 李华
网站建设 2026/9/25 16:33:24

Proxmox VE共享存储协议选型与高可用配置指南

1. 为什么共享存储在 Proxmox VE 里不是“配个地址就能用”的事&#xff1f;Proxmox VE 的共享存储&#xff0c;从来就不是把 NFS 地址填进 Web 界面、点一下“扫描”、等它自动列出几个卷就完事的简单操作。我第一次在生产环境部署时&#xff0c;就是照着某篇博客把/etc/fstab…

作者头像 李华
网站建设 2026/9/25 16:32:24

2025半导体并购终止潮:从估值分歧到技术尽调的关键风险

1. 2025年终止并购的整体态势&#xff1a;数量变多&#xff0c;理由变复杂过去几年国内半导体行业的并购一直不太平&#xff0c;但2025年的感觉特别明显&#xff1a;公开披露的终止案例数量肉眼可见地增多&#xff0c;而且终止理由变得五花八门。前几年大家说“并购终止”基本绕…

作者头像 李华
网站建设 2026/9/25 16:32:18

从聊天玩具到能干活同事:构建AI Agent技能库的实战指南

agent-skills&#xff1a;我是怎么把AI智能体从“聊天玩具”调教成“能干活同事”的先说清楚这文章写的是什么&#xff1a;过去几个月&#xff0c;我一直在搞一个叫 agent-skills 的技能库项目。它不是某个大厂发布的框架&#xff0c;也不是什么开箱即用的产品&#xff0c;而是…

作者头像 李华
网站建设 2026/9/25 16:31:59

铝扣板吊顶生产商综合实力推荐:靠谱商家测评排名

开篇&#xff1a;铝扣板吊顶采购的4大常见踩坑痛点作为家装、工装顶墙装饰的核心材料之一&#xff0c;铝扣板吊顶的选购直接影响整体装修效果与长期使用体验&#xff0c;但不少采购方在实际操作中都会遇到不少糟心问题&#xff0c;总结下来最常见的4类痛点集中在&#xff1a; 品…

作者头像 李华