虹科分享 | 用Redis为LangChain定制AI代理——OpenGPTs

文章速览:

  1. OpenGPTs简介
  2. Redis在OpenGPTs中的作用
  3. 在本地使用OpenGPTs
  4. 在云端使用OpenGPTs
  5. Redis与LangChain赋能创新

OpenAI最近推出了OpenAI GPTs——一个构建定制化AI代理的无代码“应用商店”,随后LangChain开发了类似的开源工具OpenGPTs。OpenGPTs是一款低代码的开源框架,专用于构建定制化的人工智能代理。因为Redis具有高速和稳定性的优点,所以LangChain选择了Redis来作为OpenGPTs的默认向量数据库。

如何利用OpenGPTs和Redis构建一个智能AI代理?

LangChain创始人Harrison Chase表示:“我们在OpenGPTs中使用Redis存储所有长期内容,包括将其用作用于检索的向量存储和用于存储消息与代理配置的数据库。Redis将所有这些功能集成在一个数据库中,这非常有吸引力。”

一、OpenGPTs简介

通过几个配置步骤,我们可以用OpenGPTs构建一个精通Redis的机器人,名为“RedisGuru”。

以下是我们选择的LLM、系统消息和工具的示例,包括DuckDuckGo搜索、维基百科搜索,以及通过Kay.ai访问的公共新闻稿。

配置并部署RedisGuru后,可以测试代理如何运行:

此外,我们还可以查询有关Redis数据结构的问题。可以看到,RedisGuru记住了我的名字:

我们构建的这个RedisGuru代理只是一个应用示例。你也可以构建各类应用,比如电子邮件文案编辑器、智能研究助理、代码审查员等。

二、Redis在OpenGPTs中的作用

在这个OpenGPTs演示的背后,Redis提供了一个强大且高性能的数据层,是 OpenGPTs 技术栈不可或缺的一部分。

Redis可以持久化用户聊天会话(线程)、代理配置和嵌入式文档块,并用于向量数据库检索。

  • 用户聊天会话:为了在对话中维持“状态”,Redis为OpenGPTs提供了用户与AI代理间的持久聊天线程。这些聊天会话也被输入到LLM中,以提供当前对话状态的上下文信息。
  • 代理配置:为了支持多租户代理架构,Redis为OpenGPTs提供了一个远程的、低延迟的存储层。当应用程序启动时,它从Redis读取指定的代理设置,然后开始处理请求。
  • 向量数据库用于RAG:为了让对话基于实际情况,OpenGPTs允许我们上传“知识”源,以便LLM将其与生成的答案结合。通过一种称为检索增强生成(RAG)的过程,OpenGPTs将上传的文档存储在Redis中,并提供实时向量搜索,以检索与LLM相关的上下文。

这些功能是Redis平台的一部分,通过我们的LangChain + Redis集成融入到应用程序中。

Redis与LangChain的OpenGPTs集成带来了更高的灵活性、可扩展性以及实时处理和搜索能力。处理多样化数据结构的能力是Redis成为OpenGPTs记忆功能的首选解决方案。

三、在本地使用OpenGPTs

如果想亲自体验OpenGPTs,你可以在项目的README文件中找到更详细的指南。以下是一个快速概述:

1、安装后端依赖:克隆项目仓库,然后导航到后端目录并安装必要的Python依赖项。

cd backend

pip install -r requirements.txt

2、连接Redis和OpenAI:OpenGPTs使用Redis作为LLM的记忆库,使用OpenAI进行LLM的生成和嵌入。设置环境变量REDIS_URL和OPENAI_API_KEY,以连接到您的Redis实例和OpenAI账户。

export OPENAI_API_KEY=your-openai-api-key

export REDIS_URL=redis://your-redis-url

3、启动后端服务器:在本地机器上运行LangChain服务器,提供应用程序服务。

langchain serve --port=8100

4、启动前端:在前端目录中,使用yarn启动开发服务器。

cd frontend

yarn

yarn dev

5、在浏览器中打开http://localhost:5173/,与您的本地OpenGPTs部署进行交互。

四、在云端使用OpenGPTs

如果希望在没有本地设置的情况下使用OpenGPTs,可以尝试在谷歌云上部署。另外,你还可以访问由LangChain、LangServe和Redis支持的托管预览部署。这种部署展示了OpenGPTs的可定制性和易用性。

五、RedisLangChain赋能创新

Redis企业版作为一款企业级的低延迟向量数据库,在支持生成性AI项目方面具有独特优势。其不仅提供向量搜索,还提供多功能数据结构,能有效满足LLMs的应用状态需求。这个强大的平台提供了优异的可扩展性和性能,Redis借此成为生成式AI领域的重要工具。

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

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

相关文章

Qt/C++音视频开发63-设置视频旋转角度/支持0-90-180-270度旋转/自定义旋转角度

一、前言 设置旋转角度,相对来说是一个比较小众的需求,如果视频本身带了旋转角度,则解码播放的时候本身就会旋转到对应的角度显示,比如手机上拍摄的视频一般是旋转了90度的,如果该视频文件放到电脑上打开,一些早期的播放器可能播放的时候是躺着的,因为早期播放器设计的…

基于VSG控制的MMC并网逆变器MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 根据传统同步发电机的运行特性设计了MMC-VSG功频控制器和励磁控制器, 实现了MMC-VSG逆变器对高压电网电压和频率的支撑。该模型包含MMC变流器模块,环流抑制模块,…

【算法】增减序列(贪心,差分)

题目 给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。 求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种…

21道Java Spring MVC综合面试题详解含答案(值得珍藏)

1.概述 1.1 什么是Spring MVC?简单介绍下你对Spring MVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成…

推荐熊猫电竞赏金电竞系统源码

熊猫电竞赏金电竞系统源码,包含APP、H5和搭建视频教程,支持运营级搭建,这套源码是基于ThinkPHPUniaapp框架开发的。 系统是一套完整的电竞平台开发源码,包括赛事管理、用户系统、竞猜系统、支付系统等模块。源码结构清晰&#xff…

如何从多个文件夹里各提取相应数量的文件放一起到新文件夹中形成多文件夹组合

首先,需要用到的这个工具: 百度 密码:qwu2蓝奏云 密码:2r1z 说明一下情况 文件夹:1、2、3里面分别放置了各100张动物的图片,模拟实际情况的各种文件 操作:这里演示的是从3个文件夹里各取2张图…

Open3D (C++) 计算条件数

目录 一、算法原理1、条件数2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、条件数 条件数法是目前应用最为广泛的一种病态诊断方法。条件数的定义为:

Alphalens因子分析(4) - Information Coefficient方法

在前面的笔记中,无论是回报分析,还是因子Alpha,它们都受到交易成本的影响。信息分析 (Information Analysis)则是一种不受这种影响的评估方法,主要研究方法就是信息系数(Information Coefficient)。 信息系数的范围为-1到1&#x…

K8S集群重新初始化--详细过程

K8S集群重新初始化 0、当前环境1、master节点1.1、在master节点执行下面reset命令:1.2、手动清除配置信息,这一步很关键:1.3、重新引导集群1.4、创建配置目录,并复制权限配置文件到用户目录下:1.5 查看集群状态1.6 安装…

【Redis】Redis面试热点

Redis 集群有哪些方案? 主从复制:解决了高并发问题 哨兵模式:解决了高并发,高可用问题 分片集群:解决了海量数据存储,高并发写的问题 主从复制 图示: 主从复制:单节点 Redis 并发…

1、理解Transformer:革新自然语言处理的模型

目录 一、论文题目 二、背景与动机 三、卖点与创新 四、解决的问题 五、具体实现细节 0. Transformer 架构的主要组件 1. 注意力、自注意力(Self-Attention)到多头注意力(Multi-Head Attention) 注意力到底是做什么的&…

【一、测试基础】Java基础语法

Java 的用法及注意事项有很多,今天的目标是了解Java基础语法,且能够输出"hello world" 几个基础的概念 对象:对象是类的一个实例,有状态和行为。一只猫是一个对象,猫的状态有:颜色、名字、品种&…

绝地求生:【违规处罚工作公示】1月1日-1月7日

1月1日至1月7日期间,共计对113,490个违规账号进行了封禁,其中103,133个账号因使用外挂被永久封禁。 若您游戏中遇到违规行为,建议您优先在游戏内进行举报; 另外您也可以在官方微信公众号【PUBG国际版】中点击“ 服务中心 - 举报…

可运营的SSL证书在线生成系统源码,附带图文搭建教程

安装教程 运行环境 PHP8.0.2-8.2最好选用8.0 Nginx1.22.1版本 Mysql5.7 伪静态设置为Thinkphp 后台账号admin 密码123456 系统使用API申请地址:https://www.sslprogen.com/

SQL-分组查询

目录 DQL-分组查询 分组查询注意事项: DQL- 排序查询 🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL &…

OSG加载STL模型

下载了2个简单stl模型,用基本的加载代码;直接可以加载; 查一点资料; 怎样在OSG中添加支持STL格式的模型文件? 使用OSG时,如果需要导入STL格式的模型文件,需要添加STL插件。 可以通过在代码中调…

uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法

目录 #平台差异说明 #基本使用 #配置顶部的提示信息和底部取消按钮 #如何知道点了第几项 #API #Props #Event 本组件用于从底部弹出一个操作菜单,供用户选择并返回结果。 本组件功能类似于uni的uni.showActionSheetAPI,配置更加灵活,所…

PDF-XChange Editor v10.2.0.384

软件介绍 PDF-XChange Editor,号称打开速度最快最强大的PDF编辑器/PDF阅读器,PDF-XChange专注于PDF文档的编辑,打开PDF文件速度快,软件小功能强大,可以自定义制作PDF电子文档,具有创建,查看&am…

用通俗易懂的方式讲解大模型分布式训练并行技术:自动并行

之前的文章已经对多种并行技术进行了讲解,如:数据并行、张量并行、流水线并行以及多种并行方式组合使用的多维混合并行。 然而大模型的分布式训练是一个非常复杂的问题,目前的绝大多数的分布式训练系统,都依赖用户人工反复尝试以…

JavaScript基础02

1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。 JavaScript中常用的运算符有: 算数运算符 递增和递减运算符 比较运算符 逻…