跳到主要內容
Open on GitHub

鍵值儲存

總覽

LangChain 提供用於儲存和檢索資料的鍵值儲存介面。

LangChain 包含 BaseStore 介面,允許儲存任意資料。但是,需要 KV 儲存的 LangChain 組件接受更特定的 BaseStore[str, bytes] 實例,該實例儲存二進位資料(稱為 ByteStore),並在內部處理資料的編碼和解碼以滿足其特定需求。

這表示作為使用者,您只需要考慮一種儲存類型,而不是針對不同資料類型的不同儲存類型。

使用方式

LangChain 中的鍵值儲存介面主要用於

  1. 透過 CachedBackedEmbeddings 快取 嵌入,以避免針對重複查詢或重新索引內容重新計算嵌入。

  2. 作為某些檢索器中的簡單 Document 持久層。

請參閱這些操作指南以取得更多資訊

介面

所有 BaseStore 都支援以下介面。請注意,該介面允許一次修改多個鍵值對

  • mget(key: Sequence[str]) -> List[Optional[bytes]]:取得多個鍵的內容,如果鍵不存在則傳回 None
  • mset(key_value_pairs: Sequence[Tuple[str, bytes]]) -> None:設定多個鍵的內容
  • mdelete(key: Sequence[str]) -> None:刪除多個鍵
  • yield_keys(prefix: Optional[str] = None) -> Iterator[str]:產生儲存中的所有鍵,可選擇依前綴篩選

整合

請參考儲存整合頁面以取得可用鍵值儲存整合的清單。


此頁面是否對您有幫助?