Zep
回顧、理解和提取聊天記錄中的資料。為個人化 AI 體驗提供動力。
Zep 是一種適用於 AI 助理應用程式的長期記憶服務。透過 Zep,您可以讓 AI 助理能夠回憶起過去的對話,無論多麼久遠,同時減少幻覺、延遲和成本。
Zep 的運作方式
Zep 持續保存和回憶聊天記錄,並從這些聊天記錄中自動產生摘要和其他人工產物。它還嵌入訊息和摘要,讓您可以搜尋 Zep 以取得過去對話的相關背景資訊。Zep 以非同步方式完成所有這些操作,確保這些操作不會影響使用者的聊天體驗。資料會持久儲存到資料庫中,讓您可以在成長需求時擴展規模。
Zep 還為文件向量搜尋提供了一個簡單易用的抽象概念,稱為「文件集合」。它的設計目的是補充 Zep 的核心記憶功能,但並非設計為通用向量資料庫。
Zep 讓您可以更有意識地建構提示
- 自動新增一些最近的訊息,數量可根據您的應用程式自訂;
- 上述訊息之前最近對話的摘要;
- 和/或從整個聊天會話中浮現的與上下文相關的摘要或訊息。
- 和/或來自 Zep 文件集合的相關業務資料。
什麼是 Zep Cloud?
Zep Cloud 是一項託管服務,以 Zep 開源為核心。除了 Zep 開源的記憶體管理功能外,Zep Cloud 還提供
- 事實提取:從對話中自動建立事實表,無需預先定義資料架構。
- 對話分類:即時且準確地分類聊天對話。了解使用者意圖和情緒、區隔使用者等等。根據語意上下文路由鏈,並觸發事件。
- 結構化資料提取:使用您定義的架構,從聊天對話中快速提取業務資料。了解您的助理接下來應該要求什麼,才能完成其任務。
Zep 開源
Zep 提供具有自我託管選項的開源版本。請參閱 Zep 開源 儲存庫以取得更多資訊。您也可以找到與 Zep 開源相容的 檢索器、向量儲存庫 和 記憶體 範例
Zep Cloud 安裝與設定
- 安裝 Zep Cloud SDK
pip install zep_cloud
或
poetry add zep_cloud
記憶體
Zep 的記憶體 API 將使用者的聊天記錄和元資料持久保存到 工作階段,豐富記憶體,並在歷史聊天訊息和對話摘要上啟用向量相似性搜尋。
Zep 提供多種方法,可使用歷史對話的背景資訊來填入提示。
永久記憶體
這是預設的記憶體類型。對話中顯著的事實會被提取並儲存在事實表中。當新訊息新增至工作階段時,此表會即時更新。每次您呼叫記憶體 API 以取得記憶體時,Zep 都會傳回事實表、最新的訊息(根據您的訊息視窗設定),以及訊息視窗之前最新訊息的摘要。事實表、摘要和提示中最新訊息的組合,為 LLM 提供了事實背景資訊和細微差別。
摘要檢索器記憶體
傳回最新的訊息和與目前對話相關的過去訊息摘要,讓您可以為助理提供來自過去對話的實用背景資訊
訊息視窗緩衝區記憶體
從目前對話中傳回最新的 N 則訊息。
此外,Zep 支援對其系統中儲存的訊息或摘要進行向量相似性搜尋。
此功能可讓您使用與特定查詢在語意上相似的過去對話來填入提示,並按相似度分數組織結果。
可以匯入 ZepCloudChatMessageHistory
和 ZepCloudMemory
類別,以與 Zep Cloud API 互動。
ZepCloudChatMessageHistory
與 RunnableWithMessageHistory
相容。
from langchain_community.chat_message_histories import ZepCloudChatMessageHistory
請參閱此處的永久記憶體範例。
您可以將 ZepCloudMemory
與支援記憶體的代理程式一起使用。
from langchain_community.memory import ZepCloudMemory
請參閱此處的記憶體 RAG 範例。
檢索器
Zep 的記憶體檢索器是一種 LangChain 檢索器,可讓您從 Zep 工作階段檢索訊息,並使用它們來建構提示。
檢索器支援搜尋個別訊息和對話摘要。後者適用於為 LLM 提供豐富但簡潔的背景資訊,以了解相關的過去對話。
Zep 的記憶體檢索器同時支援相似性搜尋和 最大邊際相關性 (MMR) 重新排序。MMR 搜尋適用於確保檢索到的訊息是多樣化的,且彼此之間不會過於相似
請參閱使用範例。
from langchain_community.retrievers import ZepCloudRetriever
向量儲存庫
Zep 的 文件 VectorStore API 可讓您使用向量相似性搜尋來儲存和檢索文件。Zep 不需要您了解距離函數、嵌入類型或索引最佳實務。您只需傳入分塊的文件,Zep 就會處理剩下的工作。
Zep 同時支援相似性搜尋和 最大邊際相關性 (MMR) 重新排序。MMR 搜尋適用於確保檢索到的文件是多樣化的,且彼此之間不會過於相似。
from langchain_community.vectorstores import ZepCloudVectorStore
請參閱使用範例。