首页/新闻资讯/正文详情

个人工作中对于LangChain的学习

发布时间:2026/11/4 19:34:51 来源:云帆数科 栏目:资讯中心
个人工作中对于LangChain的学习
​对于一个技术框架来说我们进行学习时的第一步是是什么?有什么作用怎么用接下来的内容将根据这三个问题展开来说一下我个人的一些看法。官方文档https://langchain-doc.cn/​LangChain的概念LangChain是一个基于大语言模型用于构建一个端到端语言模型应用的框架它提供了一系列工具、套件和接口、让开发者使用语言模型来实现各种复杂的任务如文本到图像的生成、文档问答、聊天机器人等。简单的来说就是一个开发由大型语言模型LLMs驱动的应用程序的框架。LangChain的作用LangChain对于一名AI应用工程师的作用体现在大幅减少重复造轮子原生调用大模型 API你要自己手写大量通用逻辑什么文档加载、文本切分、对话历史存储与拼接、向量检索逻辑、提示词管理、结果格式化、常捕获、多步骤任务调度。LangChain 是把这些通用组件全部封装好的。对于我来说LangChain的作用如下几点1.封装 RAG、对话记忆、任务编排、Agent 等通用能力避免重复开发2.提供统一接口抽象便捷切换各类公有、私有化大模型3.标准化实现知识库问答、智能工具代理等主流 AI 业务场景4.支持业务流程模块化编排便于调试、维护与团队协作帮助工程师快速把 LLM 落地为可 用的业务系统。我的学习也将围绕LangChain的核心组件展开模型Models提示模版Prompts数据检索Indexes记忆Memory链Chains代理Agents。LangChain的安装安装指定版本的LangChain(这里我使用的是condaPyCharm使用清华源下载)pip install langchain0.3.7-i https://pypi.tuna.tsinghua.edu.cn/simple pip install langchain-openai0.2.3-i//https:pypi.tuna.tsinghua.edu.cn/simple说明新版 LangChain 采用分包设计各大模型的对接包独立拆分出去langchain-openai是专门对接 OpenAI 兼容接口的包后续如果接入智谱、通义千问等模型还需要安装对应的langchain-xxx适配包。我的学习中使用的是智谱完成对LangChain的安装了我觉得对模型的使用我们可以概括为三个部分输出提示format、调用模型predict、输出解析parse。也是LingChain中的model I/O。补充说明langchain-openai 是独立的集成包在新版 LangChain 中各个大模型的对接包都做了拆分不再内置在 langchain 主包内。如果后续要接入智谱、通义千问等其他模型还需要安装对应的langchain-xxx适配包。Model I/O模型输入输出提示词 → 调用 → 解析Model I/O 是 LangChain 最基础、最底层的一条链路所有上层组件不管是 Chain 还是 Agent底层都离不开这套流程。它把和大模型交互这件事拆成三层职责清晰1.Prompt提示模板格式化提示词不能硬写在代码里。PromptTemplate可以定义模板字符串预留变量占位符运行时传入参数自动填充生成发给大模型的完整 prompt。好处是提示词统一管理、方便修改、支持多语言、支持动态传入上下文。fromlangchain_core.promptsimportPromptTemplate promptPromptTemplate(input_variables[question],template你是一名AI助手请简洁回答用户问题{question})formatted_promptprompt.format(questionLangChain是什么)print(formatted_prompt)2.Model调用大模型LangChain 把 LLM、ChatModel 做了抽象。在LangChain中LLM用于文本补全模型输入字符串返回字符串。ChatModel对话模型输入消息列表SystemMessage、HumanMessage、AIMessage返回对话消息更适合聊天场景。只需要更换模型实例上层提示词代码几乎不用改动这就是前面提到的统一抽象能力。fromlangchain_openaiimportChatOpenAI llmChatOpenAI(modelgpt-4o-mini,api_key你的key,base_url接口地址)responsellm.invoke(formatted_prompt)print(response.content)Output Parser输出解析器大模型返回的是自然文本不稳定。很多场景我们想要结构化结果JSON、列表、布尔值。输出解析器用来约束、提取、转换模型返回内容自动校验格式失败时还能让模型重试。常用StrOutputParser拿到纯文本、JsonOutputParser输出 JSON。fromlangchain_core.output_parsersimportStrOutputParser parserStrOutputParser()resultparser.parse(response)print(result)这三个组件还可以用|管道符串联起来也就是 LangChain 的LCELLangChain Expression Language这是新版推荐的写法替代老旧 Chainchainprompt|llm|parser reschain.invoke({question:LCEL是什么})print(res)一行链路清晰直观支持流式输出、异步、批处理是现在开发的主流方式。那么LangChain与其他技术的区别也就是它的特点我们就差不多学习完了。接下来来了解一下LangChain的四大核心组件核心组件一Indexes 数据检索RAG 基础单纯调用大模型有两个痛点知识滞后、不能读取私有文档。Indexes 模块就是为检索增强生成RAG服务的。整套流程文档加载 → 文档分割 → 向量化 → 存入向量库 → 检索。Document Loaders加载器读取 pdf、md、docx、网页等文件统一转成Document对象Text Splitters文本切分器按字符、递归字符、语义切割避免上下文超长Embeddings嵌入模型把文本转为向量VectorStore向量数据库持久化向量支持相似度检索Retriever检索器对外提供统一查询接口拿到相关片段塞到提示词里交给大模型。RAG 的核心思路先查相关资料再把资料 用户问题一起发给大模型让模型基于资料回答而不是靠模型自身的参数记忆。核心组件二Memory 对话记忆大模型本身是无状态的单次调用互不认识不知道上一轮聊了什么。Memory 组件负责保存对话历史。常见几种记忆ConversationBufferMemory完整保存全部对话ConversationSummaryMemory自动总结历史节省 tokenConversationBufferWindowMemory只保留最近 N 轮对话持久化记忆把对话存在数据库、Redis多轮会话、多用户隔离。记忆本质就是在每次调用模型前把历史对话拼接进 prompt让模型拥有上下文感知。在做聊天机器人时是必用组件。核心组件三Chains 链Chain 代表一串有序执行的任务把多个组件按顺序串起来输入传给第一个组件输出交给下一个。早期 LangChain 大量使用内置 ChainRetrievalQA、ConversationChain等。现在官方更推荐 LCEL 管道写法灵活度远高于固定 Chain。简单链单轮问答顺序链多个任务依次执行A 的输出是 B 的输入并行链多个分支同时执行结果合并Chain 解决的是把单一步骤组装成一条业务流水线。核心组件四Agents 代理Chain 是流程固定的代码写死执行顺序Agent 不一样让大模型自己思考下一步要做什么、调用哪个工具。Agent 包含大模型、工具列表、Agent 执行器。工具可以是搜索引擎、计算器、查询数据库、调用自定义接口。运行逻辑用户提问Agent 思考我能不能直接回答信息不足我需要调用哪个工具调用工具拿到结果把工具返回结果再交给模型整理答案返回用户Agent 适合开放式、不确定步骤的任务缺点是不可控容易无限循环、误调用工具生产环境要做好限制、校验、超时控制。

相关推荐

gitleaks-action v2到v3迁移指南:密钥检测工具 Node 24 升级只需2个步骤
gitleaks-action v2到v3迁移指南:密钥检测工具 Node 24 升级只需2个步骤

【免费下载链接】gitleaks-action Protect your secrets using Gitleaks-Action 项目地址: https://gitcode.com/gh_mirrors/gi/gitleaks-action 点击查看 免费下载 gitleaks-action 是一款基于 GitHub Actions 的密钥检测工具(SAST)&#x… · 2026/11/4 19:33:48

Hermes Agent架构解密:可扩展AI代理系统的设计模式与实现原理
Hermes Agent架构解密:可扩展AI代理系统的设计模式与实现原理

Hermes Agent架构解密:可扩展AI代理系统的设计模式与实现原理 Hermes Agent是一款面向开发者和架构师设计的可扩展AI代理框架,它通过模块化架构实现了多平台集成、工具调用管理和上下文压缩等核心功能。该项目采用Python技术栈,支持OpenAI工… · 2026/11/4 19:24:44

Hermes Agent与自动驾驶仿真平台集成:CARLA与LGSVL Simulator完整指南
Hermes Agent与自动驾驶仿真平台集成:CARLA与LGSVL Simulator完整指南

Hermes Agent与自动驾驶仿真平台集成:CARLA与LGSVL Simulator完整指南 Hermes Agent是一款功能强大的开源AI代理工具,能够自主执行各类任务并不断学习成长。本文将详细介绍如何将Hermes Agent与主流自动驾驶仿真平台CARLA和LGSVL Simulator进行集成&… · 2026/11/4 19:19:41

边缘计算与LoRA技术结合的高效多租户LLM服务系统
边缘计算与LoRA技术结合的高效多租户LLM服务系统

1. 项目概述:边缘设备上的高效多租户LLM服务系统在咖啡厅等位时用手机和AI聊天机器人对话,回家路上让车载语音助手生成明日会议提纲,这些场景背后都依赖着部署在边缘设备的大型语言模型(LLM)服务。传统云计算架构下&am… · 2026/11/4 20:10:51

SAP Fiori Launchpad键盘导航全解析与效率提升实践
SAP Fiori Launchpad键盘导航全解析与效率提升实践

1. 项目概述 作为一名长期奋战在SAP项目实施一线的顾问,我发现一个有趣的现象:大多数项目团队会投入大量精力优化后端性能,却常常忽视终端用户的操作体验。特别是在SAP Fiori Launchpad的使用场景中,很多高频用户(如财… · 2026/11/4 20:10:51

Web端离线手写输入法的技术实现与优化
Web端离线手写输入法的技术实现与优化

1. 项目概述:当纸笔遇见数字世界在咖啡馆见过这样的场景吗?一位设计师在餐巾纸上快速勾勒创意草图,随后掏出手机拍照上传。这个动作背后藏着两个世界的割裂——纸笔的随性自由与数字世界的精确高效。我们团队开发的"离线手写输入法纯web… · 2026/11/4 20:10:51

出版社资源管理系统:微服务架构与MinIO存储实践
出版社资源管理系统:微服务架构与MinIO存储实践

1. 出版社资源管理系统概述在出版行业摸爬滚打十几年,我深刻体会到资源管理是出版社运营中最令人头疼的环节。传统出版社每天要处理海量的书稿、作者信息、版权合同、排版文件、印刷资料等数字资产,这些资源分散在各个编辑的电脑、部门服务器和云盘里&am… · 2026/11/4 20:10:51

商用车自动驾驶L2技术落地与商业化路径分析
商用车自动驾驶L2技术落地与商业化路径分析

1. 商用车自动驾驶赛道迎来关键拐点最近商用车自动驾驶领域出现了一个标志性事件——某头部卡车新势力企业获得11.77亿元战略融资,创下行业单笔融资新高。作为长期关注汽车产业变革的从业者,我认为这笔融资传递出几个重要信号:首先&#xff0… · 2026/11/4 20:10:51

VTK可视化核心概念与工程实践全解析
VTK可视化核心概念与工程实践全解析

1. VTK可视化核心概念全景解析作为一款强大的科学可视化工具包,VTK(Visualization Toolkit)在医学影像、工程仿真、地理信息系统等领域有着广泛应用。理解其核心概念体系,就像掌握一套电影拍摄的完整流程——从原始素材处理到最终… · 2026/11/4 20:09:50

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码