簡介:文章介紹了LangChain的OpenGPTs項(xiàng)目如何利用Redis來作為其可擴(kuò)展的實(shí)時數(shù)據(jù)平臺。這個項(xiàng)目允許用戶選擇模型、控制數(shù)據(jù)檢索,并管理數(shù)據(jù)存儲的位置。Redis在OpenGPTs項(xiàng)目中用作存儲層的實(shí)現(xiàn),提供多種持久存儲需求,同時還支持作為用于檢索向量存儲、用于存儲信息和代理配置的數(shù)據(jù)庫存儲。Redis的多模型數(shù)據(jù)結(jié)構(gòu)支持和高效處理能力為OpenGPTs項(xiàng)目帶來了多方面的優(yōu)勢,顯著提高了可擴(kuò)展性、速度、定制性和控制能力。
引導(dǎo)語:OpenAI最近推出了OpenAI GPTs——一個構(gòu)建定制化AI代理的無代碼“應(yīng)用商店”,隨后LangChain開發(fā)了類似的開源工具OpenGPTs。OpenGPTs是一款低代碼的開源框架,專用于構(gòu)建定制化的人工智能代理。因?yàn)镽edis具有高速和穩(wěn)定性的優(yōu)點(diǎn),所以LangChain選擇了Redis來作為OpenGPTs的默認(rèn)向量數(shù)據(jù)庫。
如何利用OpenGPTs和Redis構(gòu)建一個智能AI代理?
LangChain創(chuàng)始人Harrison Chase表示:“我們在OpenGPTs中使用Redis存儲所有長期內(nèi)容,包括將其用作用于檢索的向量存儲和用于存儲消息與代理配置的數(shù)據(jù)庫。Redis將所有這些功能集成在一個數(shù)據(jù)庫中,這非常有吸引力?!?/p>
一、OpenGPTs簡介
通過幾個配置步驟,我們可以用OpenGPTs構(gòu)建一個精通Redis的機(jī)器人,名為“RedisGuru”。
以下是我們選擇的LLM、系統(tǒng)消息和工具的示例,包括DuckDuckGo搜索、維基百科搜索,以及通過Kay.ai訪問的公共新聞稿。
配置并部署RedisGuru后,可以測試代理如何運(yùn)行:
此外,我們還可以查詢有關(guān)Redis數(shù)據(jù)結(jié)構(gòu)的問題??梢钥吹?,RedisGuru記住了我的名字:
我們構(gòu)建的這個RedisGuru代理只是一個應(yīng)用示例。你也可以構(gòu)建各類應(yīng)用,比如電子郵件文案編輯器、智能研究助理、代碼審查員等。
二、Redis在OpenGPTs中的作用
在這個OpenGPTs演示的背后,Redis提供了一個強(qiáng)大且高性能的數(shù)據(jù)層,是 OpenGPTs 技術(shù)棧不可或缺的一部分。
Redis可以持久化用戶聊天會話(線程)、代理配置和嵌入式文檔塊,并用于向量數(shù)據(jù)庫檢索。
- 用戶聊天會話:為了在對話中維持“狀態(tài)”,Redis為OpenGPTs提供了用戶與AI代理間的持久聊天線程。這些聊天會話也被輸入到LLM中,以提供當(dāng)前對話狀態(tài)的上下文信息。
- 代理配置:為了支持多租戶代理架構(gòu),Redis為OpenGPTs提供了一個遠(yuǎn)程的、低延遲的存儲層。當(dāng)應(yīng)用程序啟動時,它從Redis讀取指定的代理設(shè)置,然后開始處理請求。
- 向量數(shù)據(jù)庫用于RAG:為了讓對話基于實(shí)際情況,OpenGPTs允許我們上傳“知識”源,以便LLM將其與生成的答案結(jié)合。通過一種稱為檢索增強(qiáng)生成(RAG)的過程,OpenGPTs將上傳的文檔存儲在Redis中,并提供實(shí)時向量搜索,以檢索與LLM相關(guān)的上下文。
這些功能是Redis平臺的一部分,通過我們的LangChain + Redis集成融入到應(yīng)用程序中。
Redis與LangChain的OpenGPTs集成帶來了更高的靈活性、可擴(kuò)展性以及實(shí)時處理和搜索能力。處理多樣化數(shù)據(jù)結(jié)構(gòu)的能力是Redis成為OpenGPTs記憶功能的首選解決方案。
三、在本地使用OpenGPTs
如果想親自體驗(yàn)OpenGPTs,你可以在項(xiàng)目的README文件中找到更詳細(xì)的指南。以下是一個快速概述:
(https://github.com/langchain-ai/opengpts/blob/main/README.md)
1.安裝后端依賴:克隆項(xiàng)目倉庫,然后導(dǎo)航到后端目錄并安裝必要的Python依賴項(xiàng)。
cd backend
pip install -r requirements.txt
2.連接Redis和OpenAI:OpenGPTs使用Redis作為LLM的記憶庫,使用OpenAI進(jìn)行LLM的生成和嵌入。設(shè)置環(huán)境變量REDIS_URL和OPENAI_API_KEY,以連接到您的Redis實(shí)例和OpenAI賬戶。
export OPENAI_API_KEY=your-openai-api-key
export REDIS_URL=redis://your-redis-url
3.啟動后端服務(wù)器:在本地機(jī)器上運(yùn)行LangChain服務(wù)器,提供應(yīng)用程序服務(wù)。
langchain serve --port=8100
4.啟動前端:在前端目錄中,使用yarn啟動開發(fā)服務(wù)器。
cd frontend
yarn
yarn dev
5.在瀏覽器中打開http://localhost:5173/,與您的本地OpenGPTs部署進(jìn)行交互。
四、在云端使用OpenGPTs
如果希望在沒有本地設(shè)置的情況下使用OpenGPTs,可以嘗試在谷歌云上部署。另外,你還可以訪問由LangChain、LangServe和Redis支持的托管預(yù)覽部署。這種部署展示了OpenGPTs的可定制性和易用性。
五、Redis與LangChain賦能創(chuàng)新
Redis企業(yè)版作為一款企業(yè)級的低延遲向量數(shù)據(jù)庫,在支持生成性AI項(xiàng)目方面具有獨(dú)特優(yōu)勢。其不僅提供向量搜索,還提供多功能數(shù)據(jù)結(jié)構(gòu),能有效滿足LLMs的應(yīng)用狀態(tài)需求。這個強(qiáng)大的平臺提供了優(yōu)異的可擴(kuò)展性和性能,Redis借此成為生成式AI領(lǐng)域的重要工具。
了解虹科Redis企業(yè)版更多信息,歡迎前往【艾特?!抗俜骄W(wǎng)站 :https://haocst.com/
聯(lián)系虹科工程師:TEL:15528663362