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文件中找到更详细的指南。以下是一个快速概述:

(https://github.com/langchain-ai/opengpts/blob/main/README.md)

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

cd backend

pip install -r requirements.txt

  1. 连接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

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

langchain serve –port=8100

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

cd frontend

yarn

yarn dev

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

四、在云端使用OpenGPTs

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

五、RedisLangChain赋能创新

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