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