一、概述
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 安装模型集成包
只选几个常见的模型
| 模型 | 安装指令 | 环境变量 |
| OpenAI | pip install -U langchain-openai | OPENAI_API_KEY |
| DeepSeek | pip install -U langchain-deepseek | DEEPSEEK_API_KEY |
| Anthropic(Claude) | pip install -U langchain-anthropic | ANTHROPIC_API_KEY |
| Google Gemini | pip install -U langchain-google-genai | GOOGLE_API_KEY |
其中vLLM自部署的模型使用OpenAi的接口 ,但要在创建模型时设置
base_url参数,指向模型的地址。
国内供应商
| 模型 | 安装指令 | 环境变量 |
| Qwen | pip install -U langchain-qwq | DASHSCOPE_API_KEY |
| 智谱(ZhipuAI / GLM) | pip install -U langchain-community pyjwt | ZHIPUAI_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)