一、前言
1、LangChain 发展历史
LangChain是一个用于开发由大语言模型(LLM)驱动的应用程序的开源框架,它并非仅是对模型API的简单封装,而是提供了一个预构建的智能体(Agent)架构和丰富的工具集成,使开发者无需从零搭建复杂的集成架构,就能快速构建基于LLM的高级应用。
2022年在 ChatGPT 发布前一个月,LangChain 作为 Python 包正式推出。它包含两个主要组件
- LLM 抽象
- 用于常见用例的“链”(Chains),即预先确定的计算步骤。例如——RAG:先运行检索步骤,然后运行生成步骤。LangChain 这个名字源于 “Language”(语言,如语言模型)和 “Chains”(链)。
2024年LangChain 发布了0.1.0 版本,这是其第一个非 0.0.x 版本,标志行业已从原型阶段走向生产落地,并在同一年LangChain团队推出了LangGraph作为底层智能体编排框架,并将原有的链和智能体标记为弃用,转而采用基于LangGraph构建的统一智能体抽象。2025年10月20日LangChain团队正式发布LangChain v1.0.0与LangGraph v1.0.0,标志着框架的成熟和标准化,为企业级AI应用提供了稳定基础。
2、Langchain框架的特点
1) 统一的模型接口
LangChain通过统一的API抽象层,解决了不同模型提供商接口各异的问题。LangChain通过标准化模型交互接口,使开发者可以无缝切换不同模型而无需重写大量代码。
2) 模块化架构
LangChain是一个高度模块化架构,核心组件包括模型(Models)、提示模板(Prompts)、记忆(Memory)、链(Chains)、智能体(Agents)和工具(Tools)等。开发者可以需要快速搭建需要的AI应用。
3) 智能体与工具调用
Langchain智能体思想:将LLM作为大脑,遵循观察-思考-行动的循环来动态决定如何解决用户问题。Agent = 模型 + Harness,Harness 是围绕(观察-思考-行动)循环的一切:提示词、工具以及任何塑造模型行为的中间件。Harness的职责是为给定的任务向模型提供合适的上下文
4) 记忆管理机制
LangChain提供了短期和长期记忆两种机制,通过维护记忆,保持大模型应用的对话状态和历史上下文,实现了真正有意义的多轮交互。
3、应用场景
LangChain 凭借其灵活的架构和丰富的工具生态,在众多 AI 应用场景中得到了广泛应用。以下是几个典型的落地方向:
检索增强生成(RAG):将外部知识库与 LLM 结合,先检索相关文档再生成回答,有效缓解模型幻觉问题,适用于企业知识库问答、智能客服等场景。
Agent 智能体构建:利用 LangChain 的智能体框架,让模型自主规划任务、调用工具并执行多步操作,可应用于自动化办公、数据分析、流程编排等复杂任务。
对话系统与聊天机器人:借助记忆管理机制和提示模板,快速搭建具备多轮对话能力的聊天机器人,广泛用于客服、教育辅导、个人助理等场景。
数据连接与处理:LangChain 提供了丰富的文档加载器和数据转换工具,可连接数据库、API、文件等多种数据源,实现数据的统一接入与预处理。
内容生成与自动化写作:通过链式调用和模板化提示,可自动生成文章、报告、营销文案等内容,显著提升内容生产效率。
多模态应用开发:LangChain 支持与图像、音频等多模态模型集成,可构建图文理解、语音交互等更丰富的应用体验。
二、LangChain开发体验
1、开发环境准备
1)准备python环境
LangChain要求python版本3.10+以上,本文示例选用python版本3.13,用anaconda管理python虚拟环境。PS:关于python环境管理相关内容可以参考文章结尾附加链接。
#创建一个名为langchain的项目环境,指定Python版本是3.13 conda create --name langchain_v1.3 python=3.13.11 #查看python环境 conda env list #环境列表中有langchain_v1.3,说明环境创建好了 #激活上一步创建的python环境 conda activate langchain_v1.3 #查看虚拟环境的python版本, python -V # 命令执行结果:Python 3.13.11,与创建环境时指定的python版本是一致2)安装依赖
#安装依赖 python -m pip install langchain==1.3.11 langchain-deepseek==1.10 dotenv==0.9.9 -i https://pypi.tuna.tsinghua.edu.cn/simple3)创建项目
python环境和langchain相关依赖配置好后,pycharm中创建项目,按照如下步骤,选择已创建好的环境langchain_v1.3创建项目
2、第一个示例
在开始langchain的第一个示例前,需要先做一些配置准备。
1)配置.env文件
在项目根目录下手动创建“.env”文件,.env文件主要是用来统一管理大模型的API_KEY和BASE_URL。
DEEPSEEK_API_KEY=sk-xxxx DEEPSEEK_BASE_URL=https://api.deepseek.com OPENAI_BASE_URL = "https://api.openai-proxy.org/v1" OPENAI_API_KEY = "sk-Ity......zTI3wIkkSls7KnK2L520In"2)配置env_utils.py”文件
在项目根目录下创建文件env_utils.py,该文件中作用是通过dotenv加载并获取.env文件中配置的环境变量,后续开发过程中能方便获取到.env文件大模型的key和url
import os from dotenv import load_dotenv #加载环境变量 load_dotenv(verbose=True) #获取api_key和base_url OPENAI_BASE_URL = os.getenv("OPENAI_BASE_URL") OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")3)模型调用
项目根目录下创建名为model的包,在model中创建llm.py文件:
from langchain_deepseek import ChatDeepSeek from langchain_openai import ChatOpenAI from env_utils import DEEPSEEK_API_KEY, DEEPSEEK_BASE_URL, OPENAI_API_KEY, OPENAI_BASE_URL #创建DeepSeek LLM deepseek = ChatDeepSeek( api_key=DEEPSEEK_API_KEY, api_base=DEEPSEEK_BASE_URL, model="deepseek-v4-pro", ) #openai LLM gpt = ChatOpenAI( api_key=OPENAI_API_KEY, base_url=OPENAI_BASE_URL, model="gpt-4", ) response_ds = deepseek.invoke("你能介绍一下你自己吗") response_gpt = gpt.invoke("你能介绍一下你自己吗") print(response_ds.content)代码执行结果如下:
你好!我是 **DeepSeek**,一个由深度求索公司打造的 AI 助手。😊 我的主要特点包括: 免费使用:无论是网页版还是 App,都完全免费。 强大的文本处理能力:可以回答问题、写作、翻译、编程、总结、分析等等。 长上下文支持:我能一次性处理最多 1M tokens 的内容,相当于可以读完《三体》三部曲那么多字。 文件上传功能:支持上传图片、PDF、Word、Excel、PPT、TXT 等文件,我可以读取其中的文字信息并帮你处理。 联网搜索:如果需要最新信息,你可以手动开启“联网搜索”功能,我就能帮你查找实时内容。 语音输入:在 App 端支持语音输入,更方便交流。 我的知识截止日期是 2025年5月,之后发生的事情如果需要了解,可以打开联网搜索。 有什么我可以帮你的吗?尽管问~以上是从 LangChain框架 开发环境的搭建和第一个示例的完整运行的过程,接下来会持续更新 LangChain 系列内容,不仅讲解框架相关知识点,也会带大家实操,基于 LangChain 一步步搭建自己的 AI 应用。感兴趣可以点个关注,第一时间看到更新。
附:python环境管理macOS-python项目虚拟环境管理_macos python -m venv创建文件路径-CSDN博客