Hongke Articles
Customizing AI Agents for LangChain with Redis - OpenGPTs
OpenAI最近推出了OpenAI GPTs——一個構建定制化AI代理的無代碼“應用商店”,隨後LangChain開發了類似的開源工具OpenGPTs。
OpenGPTs是一款低代碼的開源框架,專用於構建定制化的人工智能代理。因為Redis具有高速和穩定性的優點,所以LangChain選擇了Redis來作為OpenGPTs的默認向量數據庫。
如何利用OpenGPTs和Redis構建一個智能AI代理?
LangChain founder Harrison Chase said, "We use Redis in OpenGPTs to store all of our long-term content, including vector storage for its use in retrieval and a database for storing message and agent configurations.The fact that Redis integrates all of this functionality into a single database is very appealing! Redis integrates all of these capabilities in one database, which is very attractive."
一、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領域的重要工具。