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

news2025/2/11 15:57:58

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 的应用场景非常广泛,包括但不限于:

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode中出现“#include错误,请更新includePath“问题,解决方法

1、出现的问题 在编写C程序时,想引用头文件但是出现如下提示: (1)首先检查要引用的头文件是否存在,位于哪里。 (2)如果头文件存在,在编译时提醒VSCode终端中"#include错误&am…

【HeadFirst系列之HeadFirstJava】第2天之类与对象-拜访对象村

前言 从今日起,陆续分享《HeadFirstJava》的读书笔记,希望能够帮助大家更好的理解Java,提高自己的基础编码能力。 Java是一门面向对象的高级编程语言,常年霸占编程语言排行榜前三。 Java是目前国内的主流开发语言,基本…

MoMask:可将文本描述作为输入并生成相应的高质量人体运动动作

该图展示了 MoMask (一种最先进的人体运动生成模型)生成的运动示例。MoMask 使用文本到运动范式进行操作,其中它将文本描述作为输入并生成相应的高质量人体运动。这种方法确保生成的动作准确反映给定的文本条件,展示了 MoMask 生成…

【Python】元组

个人主页:GUIQU. 归属专栏:Python 文章目录 1. 元组的本质与基础概念1.1 不可变序列的意义1.2 元组与数学概念的联系 2. 元组的创建方式详解2.1 标准创建形式2.2 单元素元组的特殊处理2.3 使用 tuple() 函数进行转换 3. 元组的基本操作深入剖析3.1 索引操…

[RabbitMQ] RabbitMQ常见面试题

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

计算机组成原理 | (四)存储器

🌮🌮🌮宝子们好呀,今天继续更新我的学习笔记,教我计算机组成原理的老师是SDUCS的zrh老师,感谢z老师的教导,接下来我就放上我的手写笔记,供大家学习参考,适合大家预习和复…

基于 GEE 利用 SDWI 指数进行逐月水域面积提取

目录 1 SDWI指数 2 完整代码 3 运行结果 微波遥感具有全天候、全天时工作能力,能穿透云层,不受气象条件和光照水平影响,因此近年来利用微波遥感提取水体信息也备受关注。本文分享使用 Sentinel-1遥感影像通过SDWI指数来进行逐月水域面积计…

[EAI-034] 通过在线强化学习改进VLA模型

Paper Card 论文标题:Improving Vision-Language-Action Model with Online Reinforcement Learning 论文作者:Yanjiang Guo, Jianke Zhang, Xiaoyu Chen, Xiang Ji, Yen-Jen Wang, Yucheng Hu, Jianyu Chen 论文链接:https://arxiv.org/abs/…

每日学习 设计模式 五种不同的单例模式

狮子大佬原文 https://blog.csdn.net/weixin_40461281/article/details/135050977 第一种 饿汉式 为什么叫饿汉,指的是"饿" 也就是说对象实例在程序启动时就已经被创建好,不管你是否需要,它都会在类加载时立即实例化,也就是说 实例化是在类加载时候完成的,早早的吃…

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之上传头像和新增收货地址

🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🚀1.上传头像 -持久…

SSM仓库物品管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.用户登录代码:2.保存物品信息代码:3.删除仓库信息代码: 一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SSM框架开发的仓库…

模型压缩 --学习记录2

模型压缩 --学习记录2 如何找到更好的权衡方式(模型量化)方法一:寻找更好的 range方法二:寻找更好的 X-fp32(浮点数)方法三:寻找更好的 scale 和 zp方法四:寻找更好的 roundPTQ 后训练量化(离线量化)QAT 量化感知训练(在线量化)量化为什么会带来加速?三、模型稀疏技…

车载诊断工具技巧 --- CAPL Debug 功能使用介绍

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

<论文>DeepSeek-R1:通过强化学习激励大语言模型的推理能力(深度思考)

一、摘要 本文跟大家来一起阅读DeepSeek团队发表于2025年1月的一篇论文《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning | Papers With Code》,新鲜的DeepSeek-R1推理模型,作者规模属实庞大。如果你正在使用Deep…

萌新学 Python 之字符串及字符串相关函数

字符串:单引号、双引号、三个单引号、三个双引号 字符串属于不可变的数据类型,一旦被定义,内存地址不变 name 张三 # 字符串赋值给name后,内存地址存储张三,地址不变 username 张三 # 张三去内存中找…

系统思考—自我超越

“人们往往认为是个人的能力限制了他们,但事实上,是组织的结构和惯性思维限制了他们的潜力。”—彼得圣吉 最近和一家行业隐形冠军交流,他们已经是领域第一,老板却依然要求:核心团队都要自我超越,攻坚克难…

redis高级数据结构Stream

文章目录 背景stream概述消息 ID消息内容常见操作独立消费创建消费组消费 Stream弊端Stream 消息太多怎么办?消息如果忘记 ACK 会怎样?PEL 如何避免消息丢失?分区 Partition Stream 的高可用总结 背景 为了解决list作为消息队列是无法支持消息多播问题,Redis5.0…

day44 QT核心机制

头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QLabel> //标签类头文件 #include<QPushButton> //按钮类头文件 #include<QLineEdit> //行编辑器类头文件QT_BEGIN_NAMESPACE namespace Ui { class Widget; } …

打家劫舍3

今天和打家讲一下打家劫舍3 题目&#xff1a; 题目链接&#xff1a;337. 打家劫舍 III - 力扣&#xff08;LeetCode&#xff09; 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为root。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“…

2024中国行政区划多边形矢量数据(含有十段线)仅供学习

中国标准行政区划数据GS&#xff08;2024&#xff09;0650号&#xff0c;包括&#xff1a; 分省市县 省内分市 省内分县 南海十段线与岛屿区域 全国市级行政区划 通过网盘分享的文件&#xff1a;中国标准行政区划数据GS&#xff08;2024&#xff09;0650号.rar等4个文件 链接…