ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

第一章 认识 LangChain

第一章 认识 LangChain

一、概述

Dify和LangChain是目前通用的基于大语言模型(LLM)的开源应用程序开发平台。

Dify主打开箱即用,低代码平台,直接在web界面上进行工作流编排,适合快速上线智能客服、知识问答、企业助手等场景;

LangChain是代码优先的开发框架,通过编写代码实现复杂的 Agent 核心逻辑;相对于Diyf的众多限制,LangChain有足够的灵活性,当然技术难度更高。

二、Agent

LangChain 对智能体的定义只有一句话:

Agent = Model + Harness。Harness 是模型循环之外的一切——提示词、工具,以及塑造模型行为的全部逻辑。

如果没有LangChain,要实现一个Agent,就要自己实现提示词、工具,以及塑造模型行为的全部逻辑。现在LangChain把他们封装成Harness运行框架,所以这个公式可以理解如下:

Agent = Model + Harness(智能体 = 模型 + 运行框架)

三、LangChain 生态

目前只需了解LangChain的如下三种产品;这三种是我们学习的主要对象。

产品描述
LangChain是一个创建智能体的框架
Deep Agents

这是基于LangChain框架的一个开箱即用的开源包。

相当于在LangChain的基础上封装好了一些工具,可以开箱即用

LangGraph当LangChain框架不能满足需求时,自己使用LangGraph进行更精细的控制。

三种开发方式,不是共用的关系;在开发中,只需三选一。

虽然LangChain和Deep Agents都是运行在LangGraph之上,但是使用LangChian或Deep Agents不必知道LangGraph的存在。

要了解Deep Chain的运行逻辑,需要先了解LangChain,若要进行更复杂、灵活的控 制,在LangChain框架满足不了的情况下,才需LangGraph。

四、LangChain的使用

4.1 安装LangChain

环境 ubuntu 24.04

需要python >= 3.10

强烈建议创建独立的虚拟环境,避免 LangChain 较深的依赖树与你系统中其他项目的库发生冲突

1、创建并激活python虚拟环境

python3 -m venv myenv source myenv/bin/active

注:以下的操作全在虚拟环境中运行

2、安装LangChain

pip install -U langchain

默认会自动安装核心依赖,包括 langchain-core、langgraph 和 pydantic

3、验证

(myenv) root@lc:~/LangChain-test/demo-1# python3 Python 3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import langchain >>> print(langchain.__version__) 1.4.7 >>>

能正常输出版本号说明成功

4.2 安装模型集成包

只选几个常见的模型

模型安装指令环境变量
OpenAIpip install -U langchain-openaiOPENAI_API_KEY
DeepSeekpip install -U langchain-deepseekDEEPSEEK_API_KEY
Anthropic(Claude)pip install -U langchain-anthropicANTHROPIC_API_KEY
Google Geminipip install -U langchain-google-genaiGOOGLE_API_KEY

其中vLLM自部署的模型使用OpenAi的接口 ,但要在创建模型时设置

base_url参数,指向模型的地址。

国内供应商

模型安装指令环境变量
Qwenpip install -U langchain-qwqDASHSCOPE_API_KEY
智谱(ZhipuAI / GLM)pip install -U langchain-community pyjwtZHIPUAI_API_KEY

这里我使用deepseek的大模型。

五、示例

5.1、设置KEY

选定模型,安装模型集成包之后,需要设置模型的Key。

有两种方法:直接设置环境变量;可以写.env配置文件。这里采用写配置文件。

1、创建项目目录,在项目目录下创建.env文件写入KEY

mkdir demo

cd demo

vi .env

//写入deepseek开放平台申请的key(需要先充值)

DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxx

2、编写代码,且运行成功

import os from dotenv import load_dotenv from langchain.chat_models import init_chat_model from langchain.agents import create_agent load_dotenv() # 加载 .env 文件里的 DEEPSEEK_API_KEY # 方式一:让 LangChain 自动识别供应商(推荐) model = init_chat_model(model="deepseek:deepseek-chat") # 方式二:手动指定(如果你的 Key 不是标准的环境变量名,可以用这种方式) # model = init_chat_model( # model="deepseek-chat", # base_url="https://api.deepseek.com", # api_key=os.getenv("DEEPSEEK_API_KEY") #) # 直接把上一步的 model 对象传进去 agent = create_agent( model=model, system_prompt="你是一个乐于助人的 AI 助手,回答要简洁。" ) # 调用 Agent:注意传入的是字典,且必须包含 "messages" 键 result = agent.invoke({ "messages": [{"role": "user", "content": "LangChain 是什么?"}] }) # 最后一条消息就是 Agent 的最终回答 print(result["messages"][-1].content)
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进