宏虹分享 | Redis Copilot:提升開發者效率的智能助手

我們最近發佈了 Redis Copilot,旨在幫助開發者更加高效地使用 Redis 構建應用。提升應用性能,簡化構建過程是我們不懈的追求。Redis Copilot 正是為此而生的人工智慧助手,協助開發者迅速掌握 Redis 的使用技巧。現在您可以在 Redis Insight 中開始體驗它的強大功能。

 

Redis Copilot 能夠幫助您:

  • 根據最新的Redis文檔,為您提供專業解答;
  • 生成實用代碼片段,加速 Redis 應用開發;
  • 透過在 Redis 中生成並執行查詢來回答關於數據的問題

圖一、Redis Copilot 功能

Redis Copilot 的人工智慧特性

致力於提升應用程式的速度。

首先,在開發 Redis Copilot 的過程中,我們深知其需要提供迅速且準確的回答,並具備全球範圍內的可用性。因此,我們利用 Redis 的強大功能打造了 Redis Copilot,以提供卓越的用戶體驗,滿足開發者對於 Redis 驅動應用的期待。同時我也們提供了多種專門用於構建人工智慧應用的元件,同時也分享了許多客戶如何在其人工智慧應用中高效使用 Redis 的經驗。以下我們將詳細介紹如何借助 Redis 加速您的應用。

利用最快的向量數據庫驅動 RAG 方法以獲得更優答案

此外,Meta 在 2020 年提出了 RAG 方法,該方法允許大型語言模型(LLM)透過檢索機制整合外部知識源,從而利用最新資訊擴展其能力。這使得語言模型能夠即時提供更精確的答案。

實踐證明,RAG 效果顯著,但它需要精細的提示工程、全新的知識管理和協調不同組件的能力。作為一款即時向量數據庫,Redis 能夠即時搜索數百萬個嵌入向量,確保根據使用者的提示提供相關上下文資訊。

利用 RAG 方法和我們的向量數據庫,從文檔中檢索相關資訊,以説明回答問題在我們的基準測試中,Redis Copilot 展現出了最快的速度。由於採用了 RAG 方法,Redis Copilot 能夠始終提供最新的 Redis 相關答案。

使用 LLM 記憶體增強回答的相關性

另外,透過使用合適的數據類型來保存整個對話歷史(記憶)。無論是在 Redis Copilot 中使用簡單的清單來保持交互順序,還是將交互記錄為向量嵌入,我們都希望可以提高對話的品質和個性化水準。 Redis Copilot 調用 LLM 時,會增加對話中的相關記憶,從而提供更優質的回應,確保對話過程自然流暢,減少誤解。

語義緩存降低開支並加快回應速度

接著,從 LLM 生成回應會帶來較高的計算成本。Redis 透過將輸入提示及其回應存儲在緩存中,並透過向量搜索進行檢索,有效降低了機器學習驅動應用的整體開銷。

以下圖表概括了使用者與 Redis Copilot 互動的過程:

圖2

圖二、與 Redis Copilot 互動過程

Redis 的更多可能性

儘管 GenAI 模型是激動人心的技術創新,但將 GenAI 應用從實驗室推進至生產環境卻需要可靠且快速的數據支援。因此,Redis 是一個經過驗證的平臺,為當今各種應用場景提供了眾多核心功能。

將回應存儲在索引中以便快速檢索及進一步處理

從請求到最終回應,LLM 可能需要幾秒鐘才能將結果逐字發送給用戶。為了提升回應速度並縮短等待時間,我們選擇將回復逐步發送給用戶,而非等到完整回復生成後一次性返回。此外,我們在對話氣泡中嵌入了從 Redis 數據庫中檢索到的附加上下文資訊。

圖3

圖三、從 Redis 數據庫檢索到的資訊

可以觀察到,我們選用了 OpenAI GPT-4 作為 LLM,因其穩定且快速。儘管 OpenAI 提供了優秀的 AI 即服務功能,但我們還是使用本地嵌入模型來計算向量嵌入。具體而言,我們使用 HuggingFace 嵌入模型對語義緩存中的現有答案進行檢索。

全文與分面搜索協助精准定位文檔資訊

儘管語義搜索是當前的趨勢,傳統的搜索方式也可以透過新的人工智慧/移動語言功能得到增強,但全文檢索搜尋在透過匹配關鍵字或短語來檢索資訊方面依然是不可或缺的工具。Redis Copilot 整合了 Redis 的即時全文檢索功能,增強了對話體驗。Redis 的高亮和摘要功能同樣滿足了用戶對快速、易讀結果的需求。

圖4

圖四、Redis 全文檢索功能

除此之外,聚合功能對於幫助用戶瞭解檢索結果的數量及特定搜索的流行度至關重要。

Redis作為微服務間的訊息中介軟體

透過將讀取文檔的任務委託給獨立的服務,Redis Copilot 可以利用 Redis 與 RAG 獲取上下文資訊。

所以說,這種微服務架構有效地將大型單體系統的職責分解為較小的、鬆散耦合的服務。Redis 流是一種持久化的按時間排序的日誌數據結構,支援向消費者發送非同步、可訂閱的訊息,從而使數據庫與最新資訊保持同步。相應服務透過存儲在流中的訊息觸發操作,而流則充當訊息代理。

速率限制保障應用穩定可靠

總而言之,Redis Copilot 是搜索文檔、知識庫及 Redis 門戶上所有培訓資源的主要入口。然而,保護關鍵端點免受超載是所有公共服務的基本要求,因為所有互聯網服務都可能遭受濫用和攻擊,如 DDoS 攻擊。Redis 一直以來都是應用程式伺服器、API 閘道等的速率限制工具。我們利用 Redis 作為速率限制器,確保 Redis Copilot 的穩定性,並在不同會話和 IP 位址之間均衡使用。當使用量超出預設閾值時,Redis 會介入,防止濫用。

圖五、Redis 介入防止濫用

產品推薦

  • 全球領先的即時資料庫
  • 高性能、低延遲,適用於各種應用
  • 支援多種資料類型和模型
  • 靈活部署,雲端、本地和混合環境均可