宏虹分享 | 用Redis為LangChain定製AI代理 – OpenGPTs

OpenAI最近推出了OpenAI GPTs ——— 一個構建定製化AI代理的無代碼“應用商店”,隨後LangChain開發了類似的開源工具OpenGPTs。 OpenGPTs是一款低代碼的開源框架,專用於構建定製化的人工智慧代理。 因為Redis具有高速和穩定性的優點,所以LangChain選擇了Redis來作為OpenGPTs的預設向量資料庫。

通過幾個配置步驟,我們可以用OpenGPTs構建一個精通Redis的機器人,名為“RedisGuru”。

以下是我們選擇的LLM、系統消息和工具的示例,包括DuckDuckGo搜索、維基百科搜索,以及通過 Kay.ai 訪問的公共新聞稿。

配置並部署RedisGuru後,可以測試代理如何運行:

此外,我們還可以查詢有關Redis數據結構的問題。 可以看到,RedisGuru記住了我的名字:

我們構建的這個RedisGuru代理只是一個應用示例。 你也可以構建各類應用,比如電子郵件文案編輯器、智慧研究助理、代碼審查員等。

在這個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,你可以在專案的README檔中找到更詳細的指南。 以下是一個快速概述:

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

1. 安裝後端依賴:克隆專案倉庫,然後導航到後端目錄並安裝必要的Python依賴項。

CD 後端
pip 安裝 -r 要求.txt

2. 連接Redis和OpenAI:OpenGPTs使用Redis作為LLM的記憶庫,使用OpenAI進行LLM的生成和嵌入。 設置環境變數REDIS_URL和OPENAI_API_KEY,以連接到您的Redis實例和OpenAI帳戶。

export OPENAI_API_KEY=您的openai-api-key
導出 REDIS_URL=redis://your-redis-url

3. 啟動後端伺服器:在本地機器上運行LangChain伺服器,提供應用程式服務。

langchain serve –port=8100

4. 啟動前端:在前端目錄中,使用yarn啟動開發伺服器。

CD前端

紗線開發

5. 在瀏覽器中打開 http://localhost:5173/,與您的本地OpenGPTs部署進行交互。

如果希望在沒有本地設置的情況下使用OpenGPTs,可以嘗試在穀歌雲上部署。 另外,你還可以訪問由LangChain、LangServe和Redis支援的託管預覽部署。 這種部署展示了OpenGPTs的可定製性和易用性。

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