LangChain框架介绍

LangChain 的核心组件

  1. 模型 I/O 封装
    • LLMs:大语言模型
    • Chat Models:一般基于 LLMs,但按对话结构重新封装
    • PromptTemple:提示词模板
    • OutputParser:解析输出
  2. 数据连接封装
    • Document Loaders:各种格式文件的加载器
    • Document Transformers:对文档的常用操作,如:split, filter, translate, extract metadata, etc
    • Text Embedding Models:文本向量化表示,用于检索等操作(啥意思?别急,后面详细讲)
    • Verctorstores: (面向检索的)向量的存储
    • Retrievers: 向量的检索
  3. 记忆封装
    • Memory:这里不是物理内存,从文本的角度,可以理解为“上文”、“历史记录”或者说“记忆力”的管理
  4. 架构封装
    • Chain:实现一个功能或者一系列顺序功能组合
    • Agent:根据用户输入,自动规划执行步骤,自动选择每步需要的工具,最终完成用户指定的功能
      • Tools:调用外部功能的函数,例如:调 google 搜索、文件 I/O、Linux Shell 等等
      • Toolkits:操作某软件的一组工具集,例如:操作 DB、操作 Gmail 等等
  5. Callbacks

image-20240604153847313

  • 功能模块:https://python.langchain.com/docs/get_started/introduction
  • API 文档:https://api.python.langchain.com/en/latest/langchain_api_reference.html
  • 三方组件集成:https://python.langchain.com/docs/integrations/platforms/
  • 官方应用案例:https://python.langchain.com/docs/use_cases
  • 调试部署等指导:https://python.langchain.com/docs/guides/debugging

LangChain 与 Semantic Kernel 对比

功能/工具LangChainSemantic Kernel
版本号0.1.19python-0.9.7b1
适配的 LLM少 + 外部生态
Prompt 工具支持支持
Prompt 函数嵌套需要通过 LCEL支持
Prompt 模板嵌套支持不支持
输出解析工具支持不支持
上下文管理工具支持C#版支持,Python 版尚未支持
内置工具多,但良莠不齐少 + 外部生态
三方向量数据库适配少 + 外部生态
服务部署LangServe与 Azure 衔接更丝滑
管理工具LangSmith/LangFusePrompt Flow (*)
  1. LangChain 随着版本迭代可用性有明显提升
  2. 使用 LangChain 要注意维护自己的 Prompt,尽量 Prompt 与代码逻辑解依赖
  3. 它的内置基础工具,建议充分测试效果后再决定是否使用

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

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

相关文章

软件测试——白盒测试

目录 学习视频来源:1.01什么是白盒测试(Av809778070,P1)_哔哩哔哩_bilibili 1.语句覆盖 2.判定覆盖 3.条件覆盖 4.判定条件覆盖 5.条件组合覆盖 6.路径覆盖 7.基本路径覆盖 学习视频来源:1.01什么是白盒测试(Av809778070,P1)_哔哩哔哩_bilibili …

Linux C语言:控制语句(if switch)

一、控制语句(if) 1、if-单分支 一个if语句由一个布尔表达式后跟一个或多个语句组成。 语法: if (boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } 如果布尔表达式为 true,则 if 语句内的代码块将被执行。 如…

小猪APP分发:让APP封装变得如此简单

你是否曾经在开发完一款APP后,为了封装、分发而头疼不已?别担心,小猪APP分发来拯救你了!这款神器不仅能让你的工作变得更加高效,还能让你的APP在各大平台上顺利分发。 小猪APP封装www.ppzhu.net APP封装的挑战 开发一…

数据误删?别怕!COS防误删和误删恢复攻略请查收

在云存储领域,数据的安全性始终是悬在头顶的达摩克利斯之剑。长期以来,腾讯云对象存储服务(COS)一直致力于数据安全的探索和实践,以保障数据的安全性和完整性。对象存储COS准备了一份“防误删”和“误删恢复”攻略给大…

【遂愿赠书 - 2期】:618火热来袭,网络安全书单推荐

文章目录 一、网络安全书单背景二、网络安全与编程实践书单2.1 🏰《内网渗透实战攻略》2.2 🛡️《Kali Linux高级渗透测试(原书第4版)》2.3 🎖️《CTF那些事儿》2.4 🚀《权限提升技术:攻防实战与…

基于开源大模型的AI助理开发概述

一、引言 在数字化快速发展的今天,人工智能(AI)技术已经成为推动社会进步的重要力量。AI助理,作为AI技术的一种重要应用形式,已经深入到人们的日常生活中,为人们提供了便捷、智能的服务。本文旨在概述一个…

MySQL是怎么保证持久性的(redo log日志相关)

Mysql中 事务的很多实现,都是因为有日志的支撑,比如binlog、undo log、redo log等 MySQL是怎么保证持久性的 持久性是指,事务一旦提交,它对数据库的改变就应该是永久性的,接下来的其他操作或故障不能对其有影响。In…

VR 软件对工业设计有哪些好处

虚拟现实(VR)技术自其诞生以来,确实为多个行业带来了革命性的变革,特别是在工业设计、教育培训和制造业等领域。以下是对VR技术在这些领域中应用的进一步分析: 1. 增强设计过程 VR技术的引入使得工业设计过程变得更加直…

电子凭证3.0,助力企业实现报销自动化

在数字化浪潮汹涌澎湃的今天,企业对于高效、便捷、安全的财务管理需求日益凸显。传统的报销流程繁琐、耗时,不仅增加了企业的运营成本,还影响了员工的工作效率和满意度。用友BIP电子凭证3.0的发布,无疑为企业实现报销自动化提供了…

【网络安全技术】——期末复习(冲刺篇)

📖 前言:快考试了,做篇期末总结,都是重点与必考点。 题型:材料分析题、简答题、看图分析题 课本: 目录 🕒 1. 计算机网络安全概述🕘 1.1 安全目标🕘 1.2 常见的网络安全…

OS复习笔记ch7-2

页式管理 学过计组的同学都了解一点页式管理,就是将内存划分成较小的、大小固定的、等大的块。现在OS引入了进程的概念,那么为了匹配内存的分块,同样把进程也划分成同样大小的块。 这里区分两个概念 The chunks of a process are called p…

MFC 教程-回车时窗口退出问题

【问题描述】 MFC窗口默认时,按回车窗口会退出 【原因分析】 默认调用OnOK() 【解决办法】 重写虚函PreTranslateMessage BOOL CTESTMFCDlg::PreTranslateMessage(MSG* pMsg) {// TODO: 在此添加专用代码和/或调用基类// 修改回车键的操作反应 if (pMsg->…

Coolmuster iOS 数据擦除:隐私保护的终极方案

手机和平板电脑是我们不可或缺的伙伴,它们存储着我们的照片、联系人、私人消息以及工作文件。然而,当这些设备需要更换或者出售时,如何确保存储在其中的数据不被他人恢复和滥用,成为了一个严峻的问题。Coolmuster iOS 数据擦除&am…

MP-SPDZ的学习与运用

目录 MP-SPDZ 的介绍主要功能典型应用场景 MP-SPDZ 的安装实验环境准备环境安装MP-SPDZ 下载和编译 MP-SPDZ 的使用测试程序第三方求和三方计算测试冒泡排序比较运算函数语法详解——Sint语法详解——Array基于AES电路实现OPRFORAM隐私集合求交实现两台虚拟机之间进行MPC简单实…

(一文读懂)大模型到底是怎么生成文字的?

前言 在人工智能的领域,大模型在去年已经成为了一个热门的话题。 各大厂商如谷歌、微软、OpenAI等,都在积极研发和应用大模型技术。 这些模型在语言理解、图像识别、推荐系统等方面都表现出了惊人的能力,甚至在某些任务上,已经…

响应式网站设计:为何成为首选及其优点

随着近 35 亿万人使用不同的设备访问互联网,响应性网站的设计变得越来越重要。大多数网站的宽度 720 到 1,000 像素间。假如网站访问者的显示器设置为 800 像素或更大且页面宽度超过 720 像素,那么必须向右滚动屏幕来显示所有的信息。目前的问题是不清楚…

Java(十)——内部类

文章目录 内部类静态内部类实例内部类匿名内部类局部内部类 内部类 Java内部类是一种特殊的类定义方式,它允许在一个类的内部定义另一个类。 内部类可以访问其所在外部类的成员变量和成员方法,这使得它非常适用于封装与外部类紧密相关的私有逻辑。 内…

深入理解API:数据的桥梁与门户

API(应用程序编程接口)在现代软件开发和数据处理中扮演着至关重要的角色。它不仅是数据交换的桥梁,更是不同系统、平台和应用程序之间的门户。深入理解API的功能、原理和应用,对于开发者、企业和数据科学家来说都是至关重要的。 A…

【python深度学习】——torch.einsum|torch.bmm

【python深度学习】——torch.einsum|torch.bmm 1. 基本用法与示例2. torch.bmm 1. 基本用法与示例 基本用法: torch.einsum(equation, *operands)equation: 一个字符串,定义了张量操作的模式。 使用逗号来分隔输入张量的索引,然后是一个箭头&#xff…

8259A芯片

目录 硬件结构 引脚图 引脚功能 内部结构 连接微处理器 芯片编程 相关硬件 工作流程 初始化命令字编程 操作命令字编程 相关硬件 工作方式 硬件结构 引脚图 多个芯片可通过接入IR7引脚实现级联。 引脚功能 INT引脚会接入CPU的INTR引脚(可屏蔽引脚) 1.处于非缓冲方式…