当前位置: 首页 > news >正文

LangChain大模型应用开发介绍

LangChain大模型应用开发介绍

    LangChain是一个开源的Python Al应用开发框架,它提供了构建基于大模型的AI应用所需的模块和工具。通过LangChain, 开发者可以轻松地与大模型(LLM)集成,完成文本生成、问答、翻译、对话等任务。LangChain降低了AI应用开发的门槛,让任何人都可以基于LLM构建属于自己的创意应用。

LangChain特性

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

LangChain架构组成

image

LangChain框架由几个部分组成,包括:

LangChain库:Python和JavaScript库。包含接口和集成多种组件的运行时基础,以及现成的链和代理的实现。
LangChain模板:Langchain官方提供的一些 AI 任务模板。
LangServe:基于FastAPI可以将Langchain定义的链(Chain),发布成为REST API。
LangSmith:开发平台,是个云服务,支持Langchain debug、任务监控。


LangChain库(Libraries)

LangChain框架由多个开源库组成。

langchain-core:聊天模型及其他组件的基础抽象概念。
集成包(例如langchain-openai、langchain-anthropic等):重要的集成功能已被拆分到轻量级的软件包中,这些软件包由LangChain团队和负责集成的开发人员共同维护。
langchain:由链、智能体以及检索策略组成,它们构成了应用程序的认知架构。
langchain-community:由社区维护的第三方集成功能。
langgraph:编排框架,用于将LangChain的各个组件组合成具备持久性、流式传输及其他关键特性的、可投入生产环境的应用程序。


LangChain任务处理流程

image

如上图展示了LangChain的Model I/O流程。先通过提示词模板(如 “Does {x} like {y}, and why?” 这种形式)对输入(x = "foo", y = "bar" )进行格式化处理形成具体提示词 “Does foo like bar, and why?” ,接着传递给大模型(LLM 或 Chat Model),最后将大模型返回的文本结果解析成结构化数据(如 {"likes": True, "reason": "Because ..."} )。

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

LLM-问答模型:模型接收一个文本输入,然后返回一个文本结果。
Chat Model-对话模型:接收一组对话消息,然后返回对话消息,类似聊天消息一样。


LangChain核心概念

1. LLMs
Large Language Models即大语言模型,LangChain封装的基础模型,模型接收一个文本输入,然后返回一个文本结果。
2. Chat Models
聊天模型(或者称为对话模型),与 LLMs不同,这些模型专为对话场景而设计。模型可以接收一组对话消息,然后返回对话消息,类似聊天消息一样。
3. Message
消息。指的是聊天模型(Chat Models)的消息内容,消息类型包括HumanMessage、 AlMessage、SystemMessage、FunctionMessage和ToolMessage等多种类型的消息。
4. Prompts
提示词。LangChain封装了一组专门用于提示词(Prompts)管理的工具类,方便我们格式化提示词 (Prompts)的内容。
5. Output Parsers
输出解析器。如上图介绍,Langchain接受大模型(LLM)返回的文本内容之后,可以使用专门的输出解析器对文本内容进行格式化。例如解析JSON、或者将LLM输出的内容转成Python对象。
6. Retrievers
检索器。为方便我们将私有数据导入到大模型(LLM),提高模型回答问题的质量,LangChain封装了检索器(Retrievers),方便我们加载文档数据、切割文档数据、存储和检索文档数据。
7. Vector stores
向量存储。为支持私有数据的语义相似搜索,LangChain支持多种向量数据库。向量存储是一种专门用于存储和检索向量数据的数据存储系统,在人工智能和机器学习领域,尤其是自然语言处理(NLP)中有着重要应用。
8. Agents
智能体。通常指的是以大模型(LLM)作为决策引擎,根据用户输入的任务,自动调用外部系统、硬件设备共同完成用户的任务,是一种以大模型(LLM)为核心的应用设计模式。


LangChain应用场景

LangChain是一个强大的框架,能够简化基于大语言模型(LLMs)的应用开发过程,其应用场景广泛,涵盖了多个领域:

智能问答系统:利用LangChain可以快速搭建智能问答系统。它能够连接大语言模型,并通过检索器(Retrievers)从各种数据源(如文档、数据库)中提取相关信息,辅助大语言模型生成更准确、更有依据的答案。例如企业内部的知识库问答系统,员工可以输入问题,系统借助LangChain调用相关知识文档并结合大语言模型给出解答;还有在线客服问答系统,为用户提供常见问题的准确回复。
聊天机器人:适用于开发各种聊天机器人,无论是面向客户服务的客服机器人,还是用于娱乐的闲聊机器人。LangChain的聊天模型(Chat Models)和消息管理功能(Message)可以处理对话逻辑,并且可以集成外部工具和知识源,使聊天机器人能够理解上下文并提供更智能、个性化的回复。比如智能客服机器人,能够根据用户的咨询,调用相关业务知识和对话策略进行准确回复。
内容创作与生成:在内容创作领域,如文章写作、故事生成、诗歌创作等方面有广泛应用。通过LangChain对提示词(Prompts)的管理和优化,可以引导大语言模型生成符合特定要求和风格的内容。例如,营销人员可以使用它来生成产品描述、广告文案;创作者可以借助其生成小说情节、剧本大纲等。
文档分析与处理:可以对各类文档(如学术论文、法律文件、商业报告等)进行分析和处理。通过Retrievers加载和处理文档数据,结合大语言模型对文档内容进行总结、提取关键信息、进行情感分析等。比如律师可以利用LangChain对法律文档进行分析,快速提取关键条款和案例要点;研究人员可以使用它对学术文献进行总结和分类。
知识图谱应用:与知识图谱相结合,LangChain能够增强知识图谱的查询和推理能力。它可以将用户的查询转化为大语言模型能够理解的形式,并从知识图谱中检索相关信息,然后通过大语言模型进行进一步的推理和解释,为用户提供更深入、更全面的知识服务。
教育领域应用:在教育领域,可用于开发智能辅导系统。根据学生的问题和学习情况,LangChain调用相关的学习资料和教学策略,结合大语言模型为学生提供个性化的辅导和解答;还可以用于生成练习题、评估学生作业等。
代码生成与辅助编程:可以辅助开发人员进行代码生成和编程。通过输入自然语言描述的编程需求,LangChain借助大语言模型生成相应的代码片段,并可以根据开发人员的反馈进行调整和优化。例如,快速生成特定功能的代码框架,或者为代码添加注释和文档说明。
多模态应用:随着多模态技术的发展,LangChain可以与图像、音频等其他模态的数据处理技术相结合。例如,在智能交互系统中,用户可以通过语音输入问题,系统利用LangChain处理语音转文字后的文本,并结合图像识别等技术提供更丰富的回答和交互体验。


原文链接:https://blog.csdn.net/chengyidechengxu/article/details/145655198

http://www.hskmm.com/?act=detail&tid=2836

相关文章:

  • [豪の学习笔记] 软考中级备考 基础复习#8
  • lc1025-除数博弈
  • 漏洞解析--文件包含漏洞究竟怎么用?
  • 办公室装修 暂存
  • 博客更新公告
  • 爆:GitHub Copilot支持包括Anthropic、Azure、Google Gemini、Groq、OpenAI 和 OpenRouter等供应商API
  • JavaWeb05 - 详解
  • CF182C
  • CF185D
  • Python计算文件md5
  • CF201C
  • CF1774D
  • CF23C
  • CF37C
  • CF33D
  • 支持类 Unix 语法 ``:Windows 下用 PowerShell 7 优化 npm 和 VS Code
  • 初赛程序阅读做题要点
  • 模拟堆(手写堆 的五大操作)
  • 【A】杂题悬桨
  • 使用Osquery进行远程取证:NTFS取证扩展实战指南
  • 完整教程:简单介绍一下Clickhouse及其引擎
  • 矩阵分解
  • 基于 Gitlab 实现 Go 的 CI/CD
  • 2025.9.11
  • 容斥原理
  • 【B】世良真纯
  • 如何使用jobleap.cn避免简历中的严重错误
  • 在 Zustand 中创建通用 Action 的优雅实践
  • 如何用产品思维优化简历的“用户体验”?
  • 简历如何优化,简历如何投递,面试如何准备?