[学习笔记] LangChain框架

LangChain学习笔记

​ LangChain是一个开源的Python AI应用开发框架,提供了构建基于大模型的AI应用所需的模块和工具。通过LangChain,开发者可以更轻松地实现LLM集成,完成文本生成、问答、翻译、对话等任务

LangChain特性

  • LLM和Prompt:LangChain对所有LLM大模型进行了API抽象,统一了大模型访问API,同时提供了Prompt提示模板管理机制
  • Chain:LangChain对一些常见的场景封装了一些现成的模块,例如基于上下文信息的问答系统、自然语言生成SQL查询等。因为实现这些任务的过程就像工作流一样,一步步执行,所以叫链Chain
  • LCEL:LangChain Expression Language,LangChain新版本的核心特性,用于解决工作流编排问题。通过LCEL表达式,我们可以灵活自定义AI任务处理流程,即自定义链Chain
  • RAG:数据增强生成。因为大模型不了解新的信息,无法回答新的问题,所以可以将新的信息导入到大模型中,用于增强大模型生成内容的质量。这种模式叫做RAG模式(Retrieval Augmented Generation)
  • Agents:一种基于大模型的应用设计模式,利用大模型的自然语言理解和推理能力,根据用户需求,自动调用外部系统、设备共同去完成任务
  • Memory:让大模型记住之前的对话内容,成为模型记忆

LangChain框架组成

​ 新架构图:

LangChain新架构

​ 老架构图:

LangChain老架构

LangSmith

​ LangSmith是一个用于调试和优化语言模型驱动应用的工具集,提供深入分析和调试功能,比如:日志记录Logging、性能分析Performance Profiling、错误检测Error Detection

LangServer

​ LangServer是LangChain的服务层组件,负责将语言模型和处理流程部署为可通过API访问的服务

  • API Gateway:管理和路由API请求到相应的处理服务
  • Service Management:提供服务的启动、停止、监控和管理功能
  • Load Balancing:确保高并发请求下的服务稳定和高响应速度

LangChain

​ LangChain是整个框架的主项目,主要包含链Chain、代理Agent和检索策略,有核心库和所有相关组件,是用户进行开发和部署的主要入口

LangChain-Community

​ LangChain-Community是LangChain的社区贡献部分,包含来自社区开发者的插件、扩展和示例代码。这个模块旨在鼓励社区参与和共享,提升LangChain的功能性和可用性

LangChain-Core

​ LangChain-Core是LangChain框架的核心部分,负责提供基础功能和核心逻辑,包含基础抽象和LangChain表达语言

  • Model Interfaces:定义与各种LLM交互的标准接口
  • Data Processing:提供预处理和后处理数据的工具和函数,如文本清理、分词等
  • Pipeline:允许将多个模型和数据处理步骤串联起来,形成一个完整的处理流程
  • Tool Integrations:支持与外部工具和库的集成,如数据库、文件系统等

LangChain任务处理流程

image-20260605112855450

​ LangChain提供一套提示词模板(Prompt Template)管理工具,负责处理提示词,然后传递给大模型处理,最后处理大模型返回的结果

​ LangChain对大模型的封装主要包括LLM和Chat Model两种类型

LangChain核心概念

  • LLM:问答模型,模型接收一个文本输入,然后返回一个文本结果
  • Chat Model:对话模型,接收一组对话消息,然后返回对话消息,类似聊天信息
  • Message:指Chat Model的消息内容,消息类型包括HumanMessage、AIMessage、SystemMessage、FunctionMessage和ToolMessage等多种类型的消息
  • Prompt:LangChain封装了一组专门用于提示词管理的工具类,方便格式化提示词内容
  • Output Parsers:输出解析器。LangChain接受大模型返回的文本内容后,就可以使用专门的输出解析器对文本内容进行格式化,例如解析JSON或者转成python对象
  • Retrievers:为方便将私有数据导入LLM,提高模型回答问题的质量,LangChain封装了检索框架Retrievers,用于加载、切割、存储和检索文档数据
  • Vector stores:为支持私有数据的语义相似搜索,LangChain支持多种向量数据库
  • Agents:智能体Agents,通常指的是以LLM作为决策引擎,根据用户输入的任务,自动调用外部系统、硬件设备共同完成用户的任务,是一种以LLM为核心的应用设计模式
posted @ 2026-06-05 11:49  SchwarzShu  阅读(23)  评论(0)    收藏  举报