虹科文章

用Redis為LangChain定制AI代理——OpenGPTs

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

 

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的可定制性和易用性。

五、Redis與LangChain賦能創新

Redis企業版作為一款企業級的低延遲向量數據庫,在支持生成性AI項目方面具有獨特優勢。其不僅提供向量搜索,還提供多功能數據結構,能有效滿足LLMs的應用狀態需求。這個強大的平台提供了優異的可擴展性和性能,Redis借此成為生成式AI領域的重要工具。

聯係虹科幫您解決難題

Let's have a chat