LangChain概述与环境准备

LangChain概述与环境准备
目录前言一、为什么我们需要LangChain1.原生LLM API 开发的现实痛点2.原生API与LangChain极简代码对比3.LangChain 核心价值总结二、LangChain 完整介绍1.定义与发展背景2.LangChain 主流落地场景3.LangChain 三层生态LangGraph / LangChain / Deep Agents4.LangChain三层核心架构5.模块协作实例企业文档问答机器人三、标准化环境准备1.工具选型说明venv /conda/uv2 LangChain 分包结构按需安装不冗余4.创建项目并安装LangChain依赖5.项目文件说明6.主流大模型平台选型指南7 .env 环境变量配置禁止硬编码密钥8 验证 LangChain 安装成功四、第一个 LangChain 运行 Demo五、总结前言随着大模型 API 普及很多开发者直接调用 OpenAI、DeepSeek 等厂商接口开发 AI 应用但落地过程中会大量重复编写对话管理、文档检索、工具调用、多步骤逻辑等胶水代码。LangChain 作为当前最主流的 LLM 应用开发开源框架提供标准化组件、统一模型调用接口、完整 RAG/Agent 能力大幅降低大模型工程化成本。本文基于官方最新 v1.x 版本结合 uv 现代化 Python 工具链完整讲解 LangChain 核心概念、生态分层、环境搭建流程并提供可直接运行的入门 Demo适合零基础开发者快速上手。一、为什么我们需要LangChain1.原生LLM API 开发的现实痛点仅直接调用厂商API各类业务需求都需要从零开发重复造轮子想要实现功能纯原生API需要手动开发多轮对话、长期上下文记忆手动维护消息列表、控制 Token 长度、处理会话状态企业私有文档问答RAG自行实现文档加载、文本分割、向量存储、相似度检索模型调用外部工具计算机/数据库/联网自定义函数 Schema、解析模型工具返回 JSON、异常捕获复杂多步骤自主任务手写循环、状态机、重试逻辑自研 Agent 调度架构强制模型输出标准JSON编写正则、自定义解析器兼容模型输出不规范场景切换底层大模型GPT - DeepSeek - Claude重构接口地址、参数、消息解析逻辑几乎重写代码单一功能开发难度不高但多需求叠加后80% 开发时间消耗在底层通用逻辑而非业务本身。2.原生API与LangChain极简代码对比方式1原生OpenAI API冗余繁琐import openai # 需自行处理消息、流式、工具、记忆等全部逻辑 response openai.chat.completions.create( modelgpt-4, messages[{role: user, content: 你好}] ) print(response.choices[0].message.content)方式 2LangChain 统一接口简洁通用from langchain_openai import ChatOpenAI # 统一接口支持流式、异步、批量换模型仅修改一行配置 llm ChatOpenAI(modelgpt-4) response llm.invoke(你好) print(response.content)简单问答差距不明显一旦叠加记忆、RAG、工具调用原生 API 代码量会指数级膨胀LangChain 始终保持简洁统一的开发范式。3.LangChain 核心价值总结核心优势详细说明避免重复造轮子对话管理、RAG全链路、工具调用、输出解析均提供开箱即用组件模型无感切换一套标准接口兼容 70 模型厂商切换模型仅修改配置聚焦业务开发底层消息拼接、参数兼容、异常容错全部由框架封装完善生态体系100 内置工具、50 向量数据库原生集成可视化调试排错配套 LangSmith 平台全链路追踪模型、工具、检索执行流程一句话总结LangChain 帮开发者从「对接 API 底层细节」转向「实现 AI 业务产品逻辑」。二、LangChain 完整介绍1.定义与发展背景LangChain 是 2022 年 10 月由 Harrison Chase 开源的 LLM 应用开发框架发布时间早于 ChatGPT2022 年 11 月提前布局大模型应用赛道如今已是行业标准开发工具。官方定位构建大语言模型驱动应用最简单的方式少量代码即可对接全球主流大模型内置成熟 Agent、RAG 架构快速落地 AI 程序。官方资源地址GitHubhttps://github.com/langchain-ai/langchain官网https://www.langchain.com/文档https://docs.langchain.com/2.LangChain 主流落地场景框架针对前文所有开发痛点提供标准化解决方案覆盖绝大多数企业 AI 需求应用场景框架能力支持典型落地产品Agent 智能代理内置 ReAct、Tool Calling 架构自主规划任务、调用工具自动化办公助手、多步骤任务机器人RAG 检索增强生成DocumentLoader→文本分割→向量库→检索器完整链路企业知识库问答、合同 / 文档解析工具工具调用tool 装饰器快速自定义工具模型自动识别调用天气查询、计算器、数据库查询、API访问智能问答系统检索 模型组合精准回答私有文档内容企业客服、内部知识问答平台多智能体协作多Agent分工配合拆解复杂长周期任务项目流程管理、多维度综合决策系统3.LangChain 三层生态LangGraph / LangChain / Deep AgentsLangChain并非独立库整套生态分为三层逐层依赖按需选用1.LangGraph运行时底层基于图结构精确管控工作流支持状态持久、人工审核、流程回滚控制力最强适合企业级复杂编排2.LangChain框架中层本课程核心标准化组件自由组装平衡灵活性与上手难度通用RAG、Agent 开发首选3.Deep Agents套件上层开箱即用封装最实践内置规划、对话压缩能力上手最简单适合快速搭建简易自主智能体。三者核心对比维度LangGraphLangChainDeep Agents定位Agent底层运行时通过LLM应用开发框架一站式Agent开发套件流程控制权完全自定义节点流转组建自由组合LLM自主决策流程上手难度高需掌握图、状态管理中等十行代码即可运行极低开箱即用适用场景强管控业务、人工审批、分支流程RAG、自定义工具链、通用Agent快速搭建简易自主智能体Token消耗可控中等偏高内置规划压缩选型指南快速搭建简易智能体不想关注底层架构 → Deep Agents自定义 RAG、工具链、灵活组合业务流程本文学习路线→ LangChain需要精确管控每一步流程、人工介入、流程回滚 → LangGraph4.LangChain三层核心架构整体分为基础层、能力层、应用层下层为上层提供能力支撑所有AI应用均由多层模块组合实现。1基础层模型通信底层地基负责框架与大模型交互统一消息、提示词、流式输出标准Messages标准化消息结构系统消息、用户消息、AI返回、工具消息Prompts可复用提示词模版支持动态变量填充Streaming逐Token流式输出实现打字机效果Middlewarev1.x新增统一处理重试、缓存、超时拦截2能力层通用核心功能组件独立可拆分模块按需组合使用Models统一模型调用接口兼容对话模型、嵌入模型支持 invoke / batch / stream 三种调用方式Tools自定义外部工具赋予模型访问外部资源能力Memory会话记忆管理分为短期会话记忆管理、长期持久记忆、摘要压缩记忆Structured Output基于 Pydantic 约束输出强制返回标准 JSON 格式3应用层面向业务场景顶层封装组合下层能力直接解决完整业务需求ChainsLCEL 管道语法串联多个组件构建流水线任务Retrieval (RAG)完整检索增强生成链路私有知识库核心Agents自主推理调度工具循环执行任务直至完成需求5.模块协作实例企业文档问答机器人完整链路模块协作流程用户提问传入 Prompt 模板标准化处理Retrieval 检索向量数据库中相关文档片段将问题 检索文档送入 Model 大模型推理Structured Output 约束模型返回规范 JSON 答案Memory 保存本轮问答支持用户后续追问若需要自主判断是否检索 / 调用工具交由 Agent 动态调度全流程三、标准化环境准备1.工具选型说明venv /conda/uvPython 开发环境需要解决环境隔离与第三方包安装两大需求主流工具对比venvpipPython 原生工具无需额外安装但速度慢、依赖管理简陋conda全能工具可管理 Python 版本与 C/C 底层库体积大、依赖解析速度慢uvRust 编写新一代工具速度比 pip 快 10~100 倍同时管理虚拟环境、Python 版本、依赖锁定完美适配 LangChain 纯 Python 生态。本教程统一使用 uv放弃 conda仅深度学习需要 CUDA 等底层库时才推荐 conda。2 LangChain 分包结构按需安装不冗余框架拆分多包按功能分类仅安装项目所需依赖分类包名作用核心基础包langchain框架顶层核心必装langchain-core底层抽象类、LCEL 语法随 langchain 自动安装模型集成包langchain-openaiOpenAI/GPT 系列适配langchain-deepseekDeepSeek 模型适配langchain-ollama本地开源模型 Ollama 适配langchain-anthropicClaude 系列适配langchain-community社区海量模型、工具、数据库集成扩展功能包langchain-chromaChroma 轻量向量库python-dotenv读取.env 密钥配置文件3.uv完整安装流程Windows PowerShellpowershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iexMac / Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh验证安装uv --version4.创建项目并安装LangChain依赖# 1. 创建项目文件夹并进入 mkdir langchain-course cd langchain-course # 2. uv初始化项目自动生成虚拟环境 uv init # 3. 锁定Python版本推荐3.12最低3.10 uv python pin 3.12 # 4. 安装核心LangChain包 uv add langchain python-dotenv # 5. 按需安装模型适配包示例DeepSeek OpenAI uv add langchain-deepseek langchain-openai # 6. 如需向量库额外执行 uv add langchain-chroma注意使用uv add会自动写入 pyproject.toml 并生成 uv.lock 锁文件保证环境可复现uv pip install仅临时安装不记录依赖。5.项目文件说明执行初始化后目录结构langchain-course/ ├── pyproject.toml # 项目配置、依赖清单 ├── uv.lock # 精确依赖锁文件团队同步环境使用 ├── .venv/ # uv自动生成的虚拟环境 └── main.py # 代码入口pyproject.toml手动管理记录项目需要哪些依赖提交 Gituv.lockuv 自动生成锁定每个包精确版本同事执行uv sync一键还原完全一致环境.venv虚拟环境文件夹加入.gitignore 禁止提交。6.主流大模型平台选型指南LangChain 模型无关特性切换模型仅修改配置提前准备对应 API Key1、海外官方平台需科学上网 境外支付OpenAI、Anthropic、Google Gemini延迟低、稳定性强2、国内中转平台国内直连支付宝付费CloseAI兼容 OpenAI 接口无需改代码适合国内学习3、国产大模型国内直连免费额度充足DeepSeek、阿里云百炼通义千问、智谱 GLM、硅基流动开源模型推理。7 .env 环境变量配置禁止硬编码密钥1.项目根目录新建.env文件# OpenAI代理配置 OPENAI_API_KEYsk-xxx OPENAI_BASE_URLhttps://api.closeai-asia.com/v1 # DeepSeek国产模型配置 DEEPSEEK_API_KEYsk-xxx # LangSmith调试可选 LANGSMITH_TRACINGtrue LANGSMITH_API_KEYls-xxx2.代码读取环境变量from dotenv import load_dotenv import os # 加载.env配置 load_dotenv() api_key os.getenv(DEEPSEEK_API_KEY)3.安全规范将.env写入.gitignore避免密钥泄露。8 验证 LangChain 安装成功uv run python -c import langchain; print(langchain.__version__)正常输出版本号即代表环境搭建完成。四、第一个 LangChain 运行 Demo新建 main.py实现基础模型调用验证整套环境可用性import os from dotenv import load_dotenv from langchain_deepseek import ChatDeepSeek # 加载本地密钥配置 load_dotenv() # 初始化大模型 llm ChatDeepSeek( api_keyos.getenv(DEEPSEEK_API_KEY), modeldeepseek-chat, temperature0.1 ) # 执行调用 res llm.invoke(用简单几句话介绍LangChain的作用) print(模型返回结果) print(res.content)运行代码uv run python main.py成功输出模型回答即代表整套环境、依赖、密钥配置全部正常。五、总结LangChain 解决原生 LLM API 重复开发痛点提供标准化组件统一多模型调用接口生态分为 LangGraph、LangChain、Deep Agents 三层根据项目复杂度灵活选择采用 uv 现代化工具链搭建环境依赖可锁定、安装速度远超传统 pip/conda项目规范使用.env 管理 API 密钥搭配 LangSmith 实现全链路可视化调试