LangChain 从入门到实战系列一:框架了解与开发初体验

📅 2026/8/26 15:17:15
LangChain 从入门到实战系列一:框架了解与开发初体验
一、前言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 模型 HarnessHarness 是围绕观察-思考-行动循环的一切提示词、工具以及任何塑造模型行为的中间件。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 python3.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 langchain1.3.11 langchain-deepseek1.10 dotenv0.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_KEYsk-xxxx DEEPSEEK_BASE_URLhttps://api.deepseek.com OPENAI_BASE_URL https://api.openai-proxy.org/v1 OPENAI_API_KEY sk-Ity......zTI3wIkkSls7KnK2L520In2配置env_utils.py”文件在项目根目录下创建文件env_utils.py该文件中作用是通过dotenv加载并获取.env文件中配置的环境变量后续开发过程中能方便获取到.env文件大模型的key和urlimport os from dotenv import load_dotenv #加载环境变量 load_dotenv(verboseTrue) #获取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_keyDEEPSEEK_API_KEY, api_baseDEEPSEEK_BASE_URL, modeldeepseek-v4-pro, ) #openai LLM gpt ChatOpenAI( api_keyOPENAI_API_KEY, base_urlOPENAI_BASE_URL, modelgpt-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博客