【Langchain学习笔记(一)】Langchain介绍

Langchain介绍

    • Langchain介绍
    • 前言
    • 1、Langchain 是什么
    • 2、为什么要用 Langchain
    • 3、Langchain 的核心
    • 4、Langchain 的底层原理
    • 5、Langchain 的应用场景

Langchain介绍

前言

想象一下,如果你能让聊天机器人不仅仅回答通用问题,还能从你自己的数据库或文件中提取信息,并根据这些信息执行具体操作,比如发邮件,那会是什么情况?Langchain 正是为了实现这一目标而诞生的。
备注:本系列文章基于B站课程: 马士兵-AI大模型全套教程(学习路线+LLM大语言模型+RAG实战+Langchain+ChatGLM-4+Transformer+DeepSeek) 学习整理得到。

1、Langchain 是什么

Langchain 是一个用于开发由大型语言模型 (LLM) 提供支持的应用程序的框架。
它允许开发人员像 GPT-4 这样的大型语言模型与外部的计算和数据源结合起来。

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

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

2、为什么要用 Langchain

理由:

  • 数据连接:Langchain 允许你将大型语言模式连接到你自己的数据源,比如数据库、PDF文件或其他文档。这意味着你可以使模型从你的私有数据中提取信息。
  • 行动执行:不仅可以提取信息,Langchain 还可以帮助你根据这些信息执行特定操作,比如发送邮件。

3、Langchain 的核心

  • 模型 Models:包装器允许你连接到大型语言模型,如 GPT-4 或 Hugging Face 也包括 GLM 提供的模型;
  • Prompt Templates:这些模版让你避免硬编码文本输入。你可以动态地将用户输入插入到模版中,并发送给语言模型;
  • Chains:链允许你将多个组价组合在一起,解决特定的任务,并构建完整的语言模型应用程序;
  • Agents:代理允许语言模型与外部 API 交互;
  • Embeddings 嵌入与向量存储 VectorStore 是数据表示和检索的手段,为模型提供必要的语言理解基础;
  • Indexes:索引帮助你从语言模型中提取相关信息。

4、Langchain 的底层原理

在这里插入图片描述

举例:如上图所示展示了一个智能问答系统的工作流程:

  1. 从用户提出的问题(Question)开始,然后通过相似性搜索(Similarity Search)在一个大型数据库或向量空间中找到与之相关的信息;
  2. 得到的信息与原始问题结合后,由一个处理模型分析,以产生一个答案(Anwser);
  3. 这个答案接着被用来指导一个代理采取行动(Action),这个代理可能会执行一个 API 调用或与外部系统交互以完成任务

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

5、Langchain 的应用场景

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

  • 个人助手:可以帮助预定航班、转账、减税等;
  • 学习辅助:可以参考整个课程大纲,帮助你更快地学习材料;
  • 数据分析和数据科学:连接到公司的客户数据或市场数据,极大地促进数据分析的进展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965732.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA2024版本创建Sping项目无法选择Java 8

目录 一、背景二、解决方式(替换创建项目的源地址) 一、背景 IDEA2024创建一个springboot的项目,本地安装的是1.8,但是在使用Spring Initializr创建项目时,发现版本只有17、21、23。 二、解决方式(替换创…

C++11(四)

目录 包装器 function包装器 bind绑定 更改实参传递的顺序和实参传递的个数 线程库 本期我们将继续进行C11新特性的学习。 包装器 function包装器 function包装器,我们也称之为适配器,本质上就是一个类模板,为什么要引入function包…

MySQL 数据库编程-C++

目录 1 数据库基本知识 1.1 MYSQL常见命令 1.2 SQL注入 1.3 ORM框架 1 数据库基本知识 MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成&#xff1a…

【算法篇】贪心算法

目录 贪心算法 贪心算法实际应用 一,零钱找回问题 二,活动选择问题 三,分数背包问题 将数组和减半的最小操作次数 最大数 贪心算法 贪心算法,是一种在每一步选择中都采取当前状态下的最优策略,期望得到全局最优…

5 计算机网络

5 计算机网络 5.1 OSI/RM七层模型 5.2 TCP/IP协议簇 5.2.1:常见协议基础 一、 TCP是可靠的,效率低的; 1.HTTP协议端口默认80,HTTPSSL之后成为HTTPS协议默认端口443。 2.对于0~1023一般是默认的公共端口不需要注册,1024以后的则需…

动态规划LeetCode-1035.不相交的线

在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。 现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足: nums1[i] nums2[j]且绘制的直线不与任何其他连线(非水平线)相…

禅道社区版项目管理软件部署(记录篇)

系统要求(这里推荐使用docker容器化方式)安装前的准备Docker快速安装最后通过查看地址验证是否部署成功开始界面化安装配置 禅道(ZenTao)是一款国产开源的项目管理软件,专注于敏捷开发流程,支持 Scrum 和 K…

数据结构-基础

1、概念: 程序 数据结构 算法 2、程序的好坏 可读性,稳定性,扩展性,时间复杂度,空间复杂度。 3、数据结构 是指存储、组织数据的方式,以便高效地进行访问和修改。通过选择适当的数据结构, 能…

从零开始:OpenCV 图像处理快速入门教程

文章大纲 第1章 OpenCV 概述 1.1 OpenCV的模块与功能  1.2 OpenCV的发展 1.3 OpenCV的应用 第2章 基本数据类型 2.1 cv::Vec类 2.2 cv::Point类 2.3 cv::Rng类 2.4 cv::Size类 2.5 cv:&…

1-kafka服务端之延时操作前传--时间轮

文章目录 背景时间轮层级时间轮时间轮降级kafka中的时间轮kafka如何进行时间轮运行 背景 Kafka中存在大量的延时操作,比如延时生产、延时拉取和延时删除等。Kafka并没有使用JDK自带的Timer或DelayQueue来实现延时的功能,而是基于时间轮的概念自定义实现…

Java 注解使用教程

简介 Java 1.5 引入了注解,现在它在 Java EE 框架(如 Hibernate、Jersey 和 Spring )中被大量使用。Java 注释是该语言的一个强大特性,用于向 Java 代码中添加元数据。它们不直接影响程序逻辑,但可以由工具、库或框架…

第17章 读写锁分离设计模式(Java高并发编程详解:多线程与系统设计)

1.场景描述 对资源的访问一般包括两种类型的动作——读和写(更新、删除、增加等资源会发生变化的动作),如果多个线程在某个时刻都在进行资源的读操作,虽然有资源的竞争,但是这种竞争不足以引起数据不一致的情况发生,那么这个时候…

强化学习 DAY1:什么是 RL、马尔科夫决策、贝尔曼方程

第一部分 RL基础:什么是RL与MRP、MDP 1.1 入门强化学习所需掌握的基本概念 1.1.1 什么是强化学习:依据策略执行动作-感知状态-得到奖励 强化学习里面的概念、公式,相比ML/DL特别多,初学者刚学RL时,很容易被接连不断…

【STM32系列】利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计IIR数字滤波器可以看这里:利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程) 前言 本篇文章将介绍如何利用MATLAB与STM32的ARM-DSP库相结合,简明易懂地实现FIR低通滤波器的设计与应用。文章重点不在…

DeepSeek-R1 本地电脑部署 Windows系统 【轻松简易】

本文分享在自己的本地电脑部署 DeepSeek,而且轻松简易,快速上手。 这里借助Ollama工具,在Windows系统中进行大模型部署~ 1、安装Ollama 来到官网地址:Download Ollama on macOS 点击“Download for Windows”下载安装包&#x…

Llama最新开源大模型Llama3.1

Meta公司于2024年7月23日发布了最新的开源大模型Llama 3.1,这是其在大语言模型领域的重要进展。以下是关于Llama 3.1的详细介绍: 参数规模与训练数据 Llama 3.1拥有4050亿(405B)参数,是目前开源领域中参数规模最大的…

Linux之安装docker

一、检查版本和内核是否合格 Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。 检查版本 cat /etc/redhat-release检查内核 uname -r二、Docker的安装 1、自动安装 Docker官方和国内daocloud都提供了一键安装的脚本&#x…

2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题3)-网络部分解析-附详细代码

目录 附录1:拓扑图 附录2:地址规划表 1.SW1 2.SW2 3.SW3 4.SW4 5.SW5 6.SW6 7.SW7 8.R1 9.R2 10.R3 11.AC1 12.AC2 13.AP2 14.AP3 15.EG1 16.EG2 附录1:拓扑图 附录2:地址规划表 设备

Vim跳转文件及文件行结束符EOL

跳转文件 gf 从当前窗口打开那个文件的内容,操作方式:让光标停在文件名上,输入gf。 Ctrlo 从打开的文件返回之前的窗口 Ctrlwf 可以在分割的窗口打开跳转的文件,不过在我的实验不是次次都成功。 统一行尾格式 文本文件里存放的…

《Angular之image loading 404》

前言: 千锤万凿出深山,烈火焚烧若等闲。 正文: 一。问题描述 页面加载图片,报错404 二。问题定位 页面需要加载图片,本地开发写成硬编码的形式请求图片资源: 然而部署到服务器上报错404 三。解决方案 正确…