首页 > 其他分享 >【大白话讲清楚:什么是 Langchain 及其核心概念】

【大白话讲清楚:什么是 Langchain 及其核心概念】

时间:2024-07-13 09:28:04浏览次数:14  
标签:讲清楚 语言 大白话 AI 模型 Langchain 学习 LLM

文末有福利!

在AI和机器学习领域,每天都有新技术和框架涌现。今天,我们来聊聊最近引起广泛关注的一个框架 —— Langchain。

https://python.langchain.com/docs/get_started/introduction

那么,Langchain到底是什么,它为什么这么受欢迎,以及它是如何工作的呢?

别担心,我会用大白话帮你一步步弄明白!

1、Langchain 简介

想象一下,如果你能让聊天机器人不仅仅回答通用问题,还能从你自己的数据库或文件中提取信息,并根据这些信息执行具体操作,比如发邮件,那会是什么情况?Langchain 正是为了实现这一目标而诞生的。

Langchain 是一个开源框架,它允许开发人员将像 GPT-4 这样的大型语言模型与外部的计算和数据源结合起来。目前,它提供了 Python 和 JavaScript(确切地说是 TypeScript)的软件包。

上图展示了Langchain的工作原理,这是一个用于提升大型语言模型(LLMs)功能的框架。

它通过三个核心组件实现增强:

  • 首先是 Compents“组件”,为LLMs提供接口封装、模板提示和信息检索索引;
  • 其次是 Chains“链”,它将不同的组件组合起来解决特定的任务,比如在大量文本中查找信息;
  • 最后是 Agents“代理”,它们使得LLMs能够与外部环境进行交互,例如通过API请求执行操作。

Langchain 的这种结构设计使LLMs不仅能够处理文本,还能够在更广泛的应用环境中进行操作和响应,大大扩展了它们的应用范围和有效性。

如果上面还不够大白话,我的理解 LangChain 就等价于数据库领域的 JDBC

LangChain 和 JDBC 确实有一些相似之处,特别是它们都作为连接和集成不同系统的桥梁。

它们都扮演了一种中介的角色,允许开发者利用特定技术(AI 或数据库)与其他系统或应用进行交互。

2、为什么要用 Langchain?

数据连接:Langchain 允许你将大型语言模型连接到你自己的数据源,比如数据库、PDF文件或其他文档。这意味着你可以使模型从你的私有数据中提取信息。

行动执行:不仅可以提取信息,Langchain 还可以帮助你根据这些信息执行特定操作,如发送邮件。无需硬编码:它提供了灵活的方式来动态生成查询,避免了硬编码的需求。

3、Langchain 核心概念

Langchain 由几个核心概念组成:

LLM Wrappers:这些包装器允许你连接到大型语言模型,如 GPT-4 或 Hugging Face 提供的模型。Prompt Templates:这些模板让你避免硬编码文本输入。你可以动态地将用户输入插入到模板中,并发送给语言模型。Indexes:索引帮助你从语言模型中提取相关信息。Chains:链允许你将多个组件组合在一起,解决特定的任务,并构建完整的语言模型应用程序。Agents:代理允许语言模型与外部API交互。

上图展示了一个复杂的语言处理系统,其中包含模型、提示、链、代理和嵌入与向量存储。

  • 模型 Models 负责理解和生成语言,提示用于引导模型输出;
  • 链条 Chains 代表将多个步骤串联起来完成复杂任务的过程;
  • 代理 Agents 则用于让模型与外部环境互动,比如执行API调用。
  • Embedding 嵌入与向量存储 VectorStore 是数据表示和检索的手段,为模型提供必要的语言理解基础。

图中的鹦鹉是一个比喻或者象征,表示这个系统的自然语言处理能力,或者可能暗示系统的输出可以像鹦鹉一样“复述”或者是“回应”用户的输入。如此,这整个系统构成了一个高度集成的框架,能够处理高级语言任务并在多种环境下进行动态交互。

4、Langchain 如何工作?

Langchain 的工作流程可以概括为以下几个步骤:

提问:用户提出问题。向语言模型查询:问题被转换成向量表示,用于在向量数据库中进行相似性搜索。获取相关信息:从向量数据库中提取相关信息块,并将其输入给语言模型。生成答案或执行操作:语言模型现在拥有了初始问题和相关信息,能够提供答案或执行操作。

举例:如上图所示展示了一个智能问答系统的工作流程,它从用户提出的问题(Question)开始,然后通过相似性搜索(Similarity Search)在一个大型数据库或向量空间中找到与之相关的信息。

得到的信息与原始问题结合后,由一个处理模型分析,以产生一个答案(Answer)。

这个答案接着被用来指导一个代理采取行动(Action),这个代理可能会执行一个API调用或与外部系统交互以完成任务。

整个流程反映了数据驱动的决策过程,其中包含了从信息检索到处理,再到最终行动的自动化步骤。

5、Langchain 应用场景

Langchain 的应用场景非常广泛,包括但不限于:

个人助手:可以帮助预订航班、转账、缴税等。

学习辅助:可以参考整个课程大纲,帮助你更快地学习材料。

数据分析和数据科学:连接到公司的客户数据或市场数据,极大地促进数据分析的进展。

总之,Langchain 打开了一个充满可能性的新世界,让AI技术更加贴近我们的实际需求和数据,使得机器学习应用的发展更加多样化和个性化。

希望这篇文章能帮你对 Langchain 有了更清晰的认识!

那么,如何系统的去学习大模型LLM?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~ , 【保证100%免费

在这里插入图片描述

篇幅有限,部分资料如下:

标签:讲清楚,语言,大白话,AI,模型,Langchain,学习,LLM
From: https://blog.csdn.net/mama19971023/article/details/140384974

相关文章

  • 【LangChain v0.2:向稳定性迈进的一大步】
    文末有福利!LangChainv0.2:向稳定性迈进的一大步❝本文经翻译并二次整理自LangChainv0.2:ALeapTowardsStability一文。LangChain官方正式对外宣布了LangChainv0.2的预发布版本,这个版本在提升LangChain的稳定性和安全性方面迈出了重要一步。langchainv0.2的预发......
  • 放弃LangChain?建议可以读一读这本书
    5月20日,LangChain发布了全新的v0.2版本,这一版本是在首个稳定版本v0.1的基础上,结合社区开发者们的反馈而作出的改进。新版本带来了诸如架构分离、LangGraph代理框架等新特性,LangChain团队同时鼓励用户就新版本的所有细节进行讨论,力图建立一个开放、包容、参与度高......
  • 大白话Python——上
    文章目录1、关于本文1.1文章适用人群1.2文章目的2、对python的个人看法以及后续3、python解释器3.1解释器的作用(了解就好)3.2解释器的安装(实操必装)4、pycharm安装4.1pycharm介绍4.2pycharm安装5、正片开始5.1变量5.1.1变量的作用5.1.2认识标识符(了解就好)5.2......
  • 基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网
    1、什么是以太网?        还记得初学以太网的时候,我就被一大堆专业名词给整懵了:什么以太网,互联网,MAC,IP,局域网,万维网,网络分层模型····等等等等。慢着!我学的不是以太网吗?怎么出来这么一大堆东西?        啊!以太网究竟是什么?别急,我接下来就尽量用通俗的大白话......
  • 从零学习大模型——使用GLM-4-9B-Chat + BGE-M3 + langchain + chroma建立的本地RAG应
    BGE-M3是第一个具有多功能、多语言和多粒度特性的文本检索模型。多功能:可以同时执行三种检索功能:单向量检索、多向量检索和稀疏检索。多语言:支持100多种工作语言。多粒度:它能够处理不同粒度的输入,从短句子到长达8192个词汇的长文档。为了构建RAG应用,我们需要用到向量数......
  • 从零学习大模型——使用GLM-4-9B-Chat + BGE-M3 + langchain + chroma建立的本地RAG应
    第一篇介绍了如何配置最基本的环境并下载了GLM-4-9B-Chat到本地,接下来我们试着将GLM-4-9B-Chat接入LangChain。LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架。LangChain简化了LLM应用程序生命周期的每个阶段:开发:使用LangChain的开源构建模块和组件构建应用程序......
  • 从零学习大模型——使用GLM-4-9B + BGE-M3 + langchain + chroma建立的本地RAG应用(一)
    本项目基于DataWhaleChina的self-llm教程与llm-universe及Langchain官方文档等资料开发,旨在实现全部本地化的RAG应用。本项目使用AutoDL的云服务器进行开发。在 AutoDL 平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu22.04)-->12.......
  • 一个项目代码讲清楚DO/PO/BO/AO/E/DTO/DAO/ POJO/VO
    在现代软件架构中,不同类型的类扮演着不同的角色,共同构成了一个清晰、模块化和可维护的系统。以下是对实体类(Entity)、数据传输对象(DTO)、领域对象(DomainObject)、持久化对象(PersistentObject)、业务对象(BusinessObject)、应用对象(ApplicationObject)、数据访问对象(DataAcces......
  • 使用langchain与你自己的数据对话(三):检索(Retrieval)_langchain 数据收集
    今天我们来继续讲解deepleaning.AI的在线课程“LangChain:ChatwithYourData”的第四门课:检索(Retrieval)。Langchain在实现与外部数据对话的功能时需要经历下面的5个阶段,它们分别是:DocumentLoading->Splitting->Storage->Retrieval->Output,如下图所示:在上一篇博客......
  • 拆解LangChain的大模型记忆方案
    之前我们聊过如何使用LangChain给LLM(大模型)装上记忆,里面提到对话链ConversationChain和MessagesPlaceholder,可以简化安装记忆的流程。下文来拆解基于LangChain的大模型记忆方案。1.安装记忆的原理1.1.核心步骤给LLM安装记忆的核心步骤就3个:在对话之前调取之前的历史消息。......