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

大模型WebUI:Gradio全解12——LangChain原理、架构和组件(2)

大模型WebUI:Gradio全解12——LangChain原理、架构和组件(2)

  • 前言
  • 12. LangChain原理及agents构建Gradio UI
    • 12.2 学习资料
      • 12.2.1 学习文档
      • 12.2.2 用途示例
      • 12.2.3 OpenAI和DeepSeek例程
        • 1. OpenAI示例
        • 2. DeepSeek例程
    • 参考文献

前言

本系列文章主要介绍WEB界面工具Gradio。Gradio是Hugging Face发布的简易WebUI开发框架,它基于FastAPI和svelte,可以使用机器学习模型、python函数或API开发多功能界面,并可部署人工智能模型,是当前热门的非常易于展示机器学习大语言模型LLM及扩散模型DM的WebUI框架。
本系列文章分为五部分:Gradio介绍、HuggingFace资源与工具库、Gradio基础功能实战、Gradio与大模型融合实战和Gradio高级功能实战。第一部分Gradio介绍,包括三章内容:第一章先介绍Gradio的概念,包括详细技术架构、历史、应用场景、与其他框架Gradio/NiceGui/StreamLit/Dash/PyWebIO的区别,然后详细介绍了Gradio的安装与运行,安装包括Linux/Win/Mac三类系统安装,运行包括普通方式和热重载方式;第二章介绍Gradio的4种部署方式,包括本地部署launch()、huggingface托管、FastAPI挂载和Gradio-Lite浏览器集成;第三章介绍Gradio的三种Client,包括python客户端、javascript客户端和curl客户端,方便读者对Gradio整体把握。第二部分介绍著名网站Hugging Face的各类资源和工具库,因为Gradio演示中经常用到Hugging Face的models及某些场景需要部署在spaces,包括两章内容:第四章详解三类资源models/datasets/spaces的使用,第五章实战六类工具库transformers/diffusers/datasets/PEFT/accelerate/optimum实战。第三部分是Gradio基础功能实战,进入本系列文章的核心,包括四章内容:第六章讲解Gradio库的模块架构和环境变量,第七章讲解Gradio高级抽象界面类Interface,第八章讲解Gradio底层区块类Blocks,第九章讲解补充特性Additional Features。第四部分是Gradio与大模型融合实战,包括二章内容:第十章讲解融合大模型的多模态聊天机器人组件Chatbot,第十一章讲述将LLM封装为工具的Gradio Tools。第五部分是使用Agent构建Gradio,包括三章内容:第十二章讲解使用使用transformers.agents构建Gradio,第十三章讲述LangChain原理、架构和组件,第十四章讲述使用langchain.agents和LangGraph构建Gradio。第六部分讲述Gradio其它高级功能,包括三章内容:第十五章讲述Discord Bot/Slack Bot/Website Widget部署,第十六章讲述数据科学与绘图Data Science And Plots,第十七章讲述数据流Streaming。
本系列文章讲解细致,涵盖Gradio及相关框架的大部分组件和功能,代码均可运行并附有大量运行截图,方便读者理解并应用到开发中,Gradio一定会成为每个技术人员实现各种奇思妙想的最称手工具。

本系列文章目录如下:

  1. 《Gradio全解13——LangChain原理、架构和组件(1)》
  2. 《Gradio全解13——LangChain原理、架构和组件(2)》

12. LangChain原理及agents构建Gradio UI

LangChain使用简单,并拥有庞大的用户和贡献者社区,由LangChain实现的agents也具有一定代表性。但LangChain本身集成了大量供应商和组件,资料庞杂,理解起来颇有难度,内容也非常多,所以拆分为两张。本章先介绍LangChain概念、学习资料、架构和组件,为后续使用Agent创建Gradio做铺垫。

12.2 学习资料

学习资料部分包含官方学习文档和用途示例,最后给出了两个例程供读者参考学习。

12.2.1 学习文档

LangChain的官方学习文档较为详细,但结构有些混乱,这里仔细梳理一下,以便读者尽快获取想要的学习资料(注意这里不包含LangGraph和LangSmith的资料,这两者会在后面介绍)。完整文档请参阅LangChain官网文档,下面逐一讲述:

  1. 简介(Introduction):包括框架概述、架构、指南、生态系统及附加资源等。其中LangChain架构见下一节,指南包括下面的教程、操作指南、概念指南、集成和API参考等,生态系统包括LangSmith和LangGraph,附加资源包括版本、安全及社区贡献等。简介地址:https://python.langchain.com/docs/introduction/。
  2. 教程(Tutorials):如果您想构建特定内容或更喜欢动手学习,请查看教程部分,这是入门的最佳途径。以下是几种最佳的入门教程,包括构建LLM应用程序、聊天机器人、Agent和LangGraph简介:
    Build a Simple LLM Application
    Build a Chatbot
    Build an Agent

相关文章:

大模型WebUI:Gradio全解12——LangChain原理、架构和组件(2)

大模型WebUI:Gradio全解12——LangChain原理、架构和组件(2) 前言12. LangChain原理及agents构建Gradio UI12.2 学习资料12.2.1 学习文档12.2.2 用途示例12.2.3 OpenAI和DeepSeek例程1. OpenAI示例2. DeepSeek例程参考文献前言 本系列文章主要介绍WEB界面工具Gradio。Gradi…...

1. 搭建前端+后端开发框架

1. 说明 本篇博客主要介绍网页开发中,搭建前端和后端开发框架的具体步骤,框架中所使用的技术栈如下: 前端:VUE Javascript 后端:Python Flask Mysql 其中MySQL主要用来存储需要的数据,在本文中搭建基本…...

初会学习记录

目录 务实: 第一章 (1)会计概念,职能和目标: (2)会计假设: (3)会计核算基础: (4)会计信息质量要求: (5)会计人员职业道德规范 (6)会计准则制度体系概述: (7)会计要素与会计等式&#x…...

DeepSeek 使用窍门与提示词写法指南

一、通用提示词技巧 窍门分类技巧说明示例提示词明确需求用“角色任务要求”明确目标作为健身教练,为30岁上班族设计一周减脂计划,需包含饮食和15分钟居家训练结构化提问分步骤、分模块提问第一步:列出Python爬虫必备的5个库;第二…...

【大模型】DeepSeek核心技术之MLA (Multi-head Latent Attention)

文章目录 1. Multi-Head Attention (MHA)2. Multi-head Latent Attention (MLA)2.1 低秩压缩2.2 应用RoPE2.3 矩阵融合 参考资料 在讲解MLA之前,需要大家对几个基础的概念(KV Cache, Grouped-Query Attention (GQA), Multi-Query Attention (…...

七、JOIN 语法详解与实战示例

一、JOIN 的作用与分类 JOIN 操作用于合并两个或多个表的行,基于表之间的关联字段。以下是常见的 JOIN 类型: JOIN 类型描述INNER JOIN返回两个表匹配的记录LEFT JOIN返回左表所有记录 右表匹配记录(右表无匹配则为NULL)RIGHT …...

Skynet入门(一)

概念 skynet 是一个为网络游戏服务器设计的轻量框架。但它本身并没有任何为网络游戏业务而特别设计的部分,所以尽可以把它用于其它领域。 设计初衷 如何充分利用它们并行运作数千个相互独立的业务。 模块设计建议 在 skynet 中,用服务 (service) 这…...

单片机栈和堆、FALSH、区别

1. Flash(闪存)(程序存储器) 用途 存储程序代码:编译后的机器指令(如 .text 段)、常量数据(如 .rodata 段)等。 掉电不丢失:程序固化在 Flash 中&#xff0…...

【FL0090】基于SSM和微信小程序的球馆预约系统

🧑‍💻博主介绍🧑‍💻 全网粉丝10W,CSDN全栈领域优质创作者,博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战,以及程序定制化开发…...

如何把word文档整个文档插入到excel表格里?

现象: 当我们双击此文档时可以快速打开对应的word文档 实现步骤: 1、点击一下要插入的excel表格里的单元格 2、选择上方的的【插入】【附件】的下拉框下的【对象】 3、选择【由文件创建】-【浏览】 再在弹出的框中选择【桌面】,选择要插…...

PDF文档中表格以及形状解析

我们在做PDF文档解析时有时需要解析PDF文档中的表格、形状等数据。跟解析文本类似的常见的解决方案也是两种。文档解析跟ocr技术处理。下面我们来看看使用文档解析的方案来做PDF文档中的表格、图形解析(使用pdfium库)。 表格解析: 在pdfium库…...

C++20 Lambda表达式新特性:包扩展与初始化捕获的强强联合

文章目录 一、Lambda表达式的历史回顾二、C20 Lambda表达式的两大新特性(一)初始化捕获(Init-Capture)(二)包扩展(Pack Expansion) 三、结合使用初始化捕获与包扩展(一&a…...

51c自动驾驶~合集52

我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型(DWM),专注于预测驾驶过程中的场景演变,已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…...

go设计模式

刘:https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 单例模式 2. 简单工厂模式 代码逻辑: 原始:业务逻辑层 —> 基础类模块工厂:业务逻辑层 —> 工厂模块 —> 基础类模块…...

FREERTOS的三种调度方式

一、调度器的调度方式 调度器的调度方式解释针对的对象抢占式调度1.高优先级的抢占低优先级的任务 2.高优先级的任务不停止,低优先级的任务不能执行 3.被强占的任务会进入就绪态优先级不同的任务时间片调度1.同等优先级任务轮流享用CPU时间 2.没有用完的时间片&…...

前端依赖nrm镜像管理工具

npm 默认镜像 :https://registry.npmjs.org/ 1、安装 nrm npm install nrm --global2、查看镜像源列表 nrm ls3、测试当前环境下,哪个镜像源速度最快。 nrm test4、 切换镜像源 npm config get registry # 查看当前镜像源 nrm use taobao # 等价于 npm…...

redis repl_backlog_first_byte_offset 这个字段的作用

repl_backlog_first_byte_offset 是 Redis 复制积压缓冲区(Replication Backlog)中的一个关键字段,其作用是 标识积压缓冲区中第一个字节对应的全局复制偏移量。 通俗解释 当主从节点断开重连时,Redis 需要通过复制积压缓冲区&am…...

JavaScript基础(BOM对象、DOM节点、表单)

BOM对象 浏览器介绍 BOM:浏览器对象模型 IEChromeSafariFireFox 三方 QQ浏览器360浏览器 window对象 window代表浏览器窗口 window.innerHeight 734 window.innerWidth 71 window.outerHeight 823 window.outerWidth 782 Navigator对象(不常用&am…...

Java Junit框架

JUnit 是一个广泛使用的 Java 单元测试框架,用于编写和运行可重复的测试。它是 xUnit 家族的一部分,专门为 Java 语言设计。JUnit 的主要目标是帮助开发者编写可维护的测试代码,确保代码的正确性和稳定性。 JUnit 的主要特点 注解驱动&…...

23种设计模式之《备忘录模式(Memento)》在c#中的应用及理解

程序设计中的主要设计模式通常分为三大类,共23种: 1. 创建型模式(Creational Patterns) 单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点。 工厂方法模式&#xff0…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求&#xff…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...