第一章 认识 LangChain
一、概述Dify和LangChain是目前通用的基于大语言模型LLM的开源应用程序开发平台。Dify主打开箱即用低代码平台直接在web界面上进行工作流编排适合快速上线智能客服、知识问答、企业助手等场景LangChain是代码优先的开发框架通过编写代码实现复杂的 Agent 核心逻辑相对于Diyf的众多限制LangChain有足够的灵活性当然技术难度更高。二、AgentLangChain 对智能体的定义只有一句话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、安装LangChainpip install -U langchain默认会自动安装核心依赖包括 langchain-core、langgraph 和 pydantic3、验证(myenv) rootlc:~/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_KEYDeepSeekpip install -U langchain-deepseekDEEPSEEK_API_KEYAnthropic(Claude)pip install -U langchain-anthropicANTHROPIC_API_KEYGoogle Geminipip install -U langchain-google-genaiGOOGLE_API_KEY其中vLLM自部署的模型使用OpenAi的接口 但要在创建模型时设置base_url参数指向模型的地址。国内供应商模型安装指令环境变量Qwenpip install -U langchain-qwqDASHSCOPE_API_KEY智谱ZhipuAI / GLMpip install -U langchain-community pyjwtZHIPUAI_API_KEY这里我使用deepseek的大模型。五、示例5.1、设置KEY选定模型安装模型集成包之后需要设置模型的Key。有两种方法直接设置环境变量可以写.env配置文件。这里采用写配置文件。1、创建项目目录,在项目目录下创建.env文件写入KEYmkdir democd demovi .env//写入deepseek开放平台申请的key(需要先充值)DEEPSEEK_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxx2、编写代码且运行成功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(modeldeepseek:deepseek-chat) # 方式二手动指定如果你的 Key 不是标准的环境变量名可以用这种方式 # model init_chat_model( # modeldeepseek-chat, # base_urlhttps://api.deepseek.com, # api_keyos.getenv(DEEPSEEK_API_KEY) #) # 直接把上一步的 model 对象传进去 agent create_agent( modelmodel, system_prompt你是一个乐于助人的 AI 助手回答要简洁。 ) # 调用 Agent注意传入的是字典且必须包含 messages 键 result agent.invoke({ messages: [{role: user, content: LangChain 是什么}] }) # 最后一条消息就是 Agent 的最终回答 print(result[messages][-1].content)