首页 / 资讯中心 / 文章详情

一文入门LangChain:从框架认知到构建你的第一个AI Agent

一文入门LangChain:从框架认知到构建你的第一个AI Agent ★ FEATURED ARTICLE
个人主页夏天拐跑了西瓜专栏传送门《Redis入门到精通》、《Spring 生态全家桶体系化实战》、《Python AI Agent开发实战》学习方向Java 后端AI‑Agent 大模型应用开发爱好者⭐人生格言路虽远行则将至【Python AI Agent实战01】LangChain入门核心概念天气查询Agent完整实现 本文是《Python AI Agent开发实战》系列教程的第一篇带你全面了解LangChain框架的前世今生、核心能力和适用场景并通过一个完整的Agent实战案例快速上手。一、LangChain是什么LangChain是一个用于开发由大语言模型LLM驱动的应用程序的开源框架。它并非仅是对模型API的简单封装而是提供了一套完整的智能体Agent架构和丰富的工具集成使开发者无需从零搭建复杂架构就能快速构建基于LLM的高级AI应用。1.1 诞生背景LangChain诞生于2022年10月由哈佛大学的Harrison Chase哈里森·蔡斯创建。其名称来源于“Language”语言模型 “Chain”链式连接的组合体现了核心设计理念——将大语言模型与外部计算资源和数据源以链式方式连接构建功能更强大的AI应用。1.2 为什么需要LangChain单一的大语言模型虽然能力强大但在实际应用中存在明显局限局限性说明知识时效性LLM的知识受限于训练数据无法获取训练时点之后的信息无法交互外部系统模型无法直接与数据库、API等外部系统交互无状态模型本身不具备状态保持能力难以进行连贯的多轮对话因此要构建真正实用的AI应用必须将大语言模型与外部工具、数据源和记忆机制有机结合——这正是LangChain框架诞生的原因。1.3 发展历程2022年10月Harrison Chase 创建 LangChain 开源项目2024年推出 LangGraph 作为底层智能体编排框架原有链和智能体标记为弃用2025年10月20日正式发布LangChain v1.0.0与LangGraph v1.0.0标志着框架成熟和标准化官方文档地址英文文档https://docs.langchain.com/oss/python/langchain/overview中文文档https://docs.langchain.org.cn/oss/python/langchain/overview二、LangChain核心特点2.1 统一的模型接口各大模型提供商OpenAI、Anthropic、DeepSeek、Google等都有各自独特的API接口和参数规范。LangChain通过统一的API抽象层解决了这个问题开发者可以无缝切换不同模型而无需重写大量代码降低技术锁定风险轻松利用最新最先进的模型加速实验和创新2.2 模块化架构LangChain采用高度模块化架构核心组件包括开发者可以像搭积木一样组合各种功能快速构建AI应用。组件的可组合性体现在LCELLangChain表达式语言中允许通过管道操作符|将多个组件连接成复杂工作流# LCEL 示例检索增强生成流程chainretriever|prompt_template|llm这种方式代码简洁且天然支持流式输出、异步调用和并行执行。2.3 智能体与工具调用智能体Agent是LangChain最强大的特性之一它将LLM从被动的文本生成器转变为能够主动决策和执行任务的智能系统。核心机制智能体支持集成丰富的外部工具搜索引擎、数据库、API接口等。工具是标准的函数接口包含名称、描述和执行函数三个基本要素。2.4 记忆管理机制LangChain的记忆系统解决了纯LLM应用的无状态性问题短期记忆维护当前会话上下文长期记忆记住用户偏好和历史交互多种存储后端内存、文件、数据库开发者可以根据应用需求灵活选择记忆类型和检索策略。三、LangChain使用场景3.1 检索增强生成RAGLangChain最经典的应用场景解决了大模型知识滞后和幻觉问题。原理将外部知识源文档、数据库等向量化存储在生成答案前先检索相关信息使模型基于最新、最相关的数据生成回答。3.2 Agent智能体构建将LLM作为推理引擎自主规划并执行复杂任务。典型应用 智能旅行规划依次调用航班查询、酒店预订、景点推荐等工具 市场调研自动搜索行业报告、分析数据并生成简报️ 数据分析连接数据库根据自然语言生成SQL并执行分析3.3 对话系统与聊天机器人通过记忆管理系统构建上下文感知的对话应用电商客服连接订单数据库提供个性化推荐和售后支持教育助手结合教材内容解答学生学习问题3.4 数据连接与处理使LLM能够与各种数据源交互从PDF合同中自动提取关键信息各方、金额、条款将自然语言转换为SQL查询数据库基于Excel数据生成趋势分析和报告3.5 内容生成与自动化写作通过提示模板和输出解析器确保生成内容符合特定格式周报生成从业务系统提取数据按固定格式生成报告法律文书基于模板和用户输入产出符合规范的法律文件3.6 多模态应用开发处理图像、音频、视频等非文本数据图像分析上传图片 → 图像识别API → LLM基于描述回答问题语音交互语音转文本 → LLM处理 → 文本转语音输出四、快速上手实战4.1 Python环境准备LangChain 1.2版本要求Python 3.10。这里使用 Anaconda 来创建和管理Python环境。# 创建名为 langchain_v1.2 的环境指定Python版本3.13conda create--namelangchain_v1.2python3.13.11# 查看已安装的Python环境condaenvlist# 切换到目标环境conda activate langchain_v1.2# 验证Python版本python-V# 输出: Python 3.13.11# 退出当前环境conda deactivate# 删除环境如需要conda remove--namelangchain_v1.2--all4.2 创建项目及配置Step 1安装必要依赖# 确保已切换到目标环境conda activate langchain_v1.2# 安装核心依赖pipinstalllangchain1.2.0 langchain-deepseek1.0.1dotenv0.9.9-ihttps://pypi.tuna.tsinghua.edu.cn/simple依赖说明langchainLangChain核心框架langchain-deepseekDeepSeek大模型集成包dotenv从项目根目录.env文件加载环境变量Step 2创建.env配置文件在项目根目录下创建.env文件配置大模型的API密钥DEEPSEEK_API_KEYsk-xxxx DEEPSEEK_BASE_URLhttps://api.deepseek.comStep 3创建env_utils.py环境变量加载工具importosfromdotenvimportload_dotenv# overrideTrue 确保.env文件中的值优先load_dotenv(overrideTrue)# 从环境变量读取配置DEEPSEEK_API_KEYos.getenv(DEEPSEEK_API_KEY)DEEPSEEK_BASE_URLos.getenv(DEEPSEEK_BASE_URL)Step 4创建my_llm.py模型初始化fromlangchain_deepseekimportChatDeepSeekfromenv_utilsimportDEEPSEEK_API_KEY,DEEPSEEK_BASE_URL# 创建DeepSeek LLM实例deepseek_llmChatDeepSeek(api_keyDEEPSEEK_API_KEY,api_baseDEEPSEEK_BASE_URL,modeldeepseek-chat,)4.3 实战案例Agent查询天气下面通过一个完整的案例使用LangChain创建一个能查询天气的Agent。fromlangchain.agentsimportcreate_agentfrommy_llmimportdeepseek_llmdefget_weather(city:str)-str:获取给定城市的天气。# 模拟天气查询实际项目中可接入真实天气APIreturnf{city}天气晴朗# 创建Agentagentcreate_agent(modeldeepseek_llm,tools[get_weather],system_prompt你是一个助手你可以查询城市的天气。,)# 调用Agentrespagent.invoke({messages:[{role:user,content:查询北京的天气}]})print(resp)运行结果解读Agent执行完成后返回的messages列表记录了完整的交互过程# 1️⃣ 用户消息 - 用户的原始查询HumanMessage(content查询北京的天气)# 2️⃣ AI决策 - LLM分析后决定调用天气工具AIMessage(content我来帮您查询北京的天气。,tool_calls[{name:get_weather,args:{city:北京}}])# 3️⃣ 工具执行结果 - get_weather函数的返回值ToolMessage(content北京 天气晴朗,nameget_weather)# 4️⃣ AI最终回复 - 基于工具结果生成自然语言回答AIMessage(content根据查询结果北京今天的天气是晴朗的)关键观察Agent自动完成了理解意图 → 选择工具 → 执行调用 → 生成回答的完整流程开发者只需定义工具和提示词即可。五、项目结构总览完成以上步骤后项目结构如下LangchainProject/ ├── .env # 环境变量配置API密钥等 ├── env_utils.py # 环境变量加载工具 ├── my_llm.py # LLM模型初始化 └── quick_start.py # Agent实战案例六、总结本文介绍了LangChain框架的核心知识模块要点框架定位用于开发LLM驱动应用的开源框架核心理念Language Chain链式连接LLM与外部资源四大特点统一模型接口、模块化架构、智能体工具调用、记忆管理适用场景RAG、Agent、对话系统、数据处理、内容生成、多模态快速上手环境配置 → 依赖安装 → 模型初始化 → Agent创建下一篇预告我们将深入LangChain的模型调用机制学习如何使用统一接口对接多种大模型。参考资料LangChain官方文档LangChain中文文档DeepSeek开放平台Anaconda环境管理作者注本系列基于 LangChain v1.2 Python 3.13 编写所有代码均已验证可运行。如果对你有帮助欢迎点赞收藏关注有问题评论区交流
阅读完成 · 觉得有帮助?
咨询建站