What is YAMS?
YAMS (Yet Another Memory System) 是一個高效能的持久記憶體系統,專為開發大型語言模型(LLMs)及其他資料密集型應用程式的開發者設計。它透過為您的專案提供高效、耐用且高度可搜尋的儲存基礎,解決了長期記憶與上下文的關鍵挑戰。
主要特色
🗄️ 智慧型重複資料刪除儲存 YAMS 採用內容定址儲存(CAS)結合 SHA-256 雜湊技術,確保每筆資料皆以不可變且可驗證的方式儲存。更進一步,它運用區塊層級的重複資料刪除(Rabin fingerprinting)及高效壓縮(zstd/LZMA)技術,透過僅儲存獨特的資料區塊,大幅降低儲存空間消耗。這表示您可以儲存大量的資訊,例如程式碼修訂或對話日誌,且僅需極少的儲存開銷。
🔍 進階混合搜尋 精確地找到您所需,並以您期望的方式進行檢索。YAMS 整合了全文檢索(利用 SQLite FTS5)以實現精確的關鍵字比對,以及語義向量搜尋以尋找概念上相似的資訊。這種雙重搜尋能力使您能夠根據特定術語或抽象概念檢索文件,對於建立知識庫或回溯上下文而言,其功能極為強大。
🛡️ 內建版本控制與資料持久性 由於每份文件都是透過其獨特的內容雜湊值儲存,YAMS 提供了一套自動且全面的版本控制系統。您可以輕鬆追蹤變更、將版本整理成集合,並透過快照捕捉特定時間點的狀態。此外,它運用預寫式日誌(WAL)技術,確保即使系統崩潰,您的資料也能安全無虞並可恢復。
⚙️ 無縫的開發者整合 YAMS 旨在直接融入您的工作流程。它提供快速且可攜式的命令列介面(CLI),非常適合指令碼編寫和自動化;一個簡單的 MCP 伺服器,可直接與 Claude Desktop 等工具整合;以及 C++/Python API,以便進行更深層次的程式化控制。
使用案例
1. 賦予您的 LLM 持久記憶能力 將對話歷史、研究資料和使用者上下文儲存在 YAMS 中。當 LLM 需要回溯過往互動或某段資訊時,您可以執行快速語義搜尋,檢索相關上下文並將其回饋至提示詞中。這使您的 AI 代理能夠在不同會話之間保持連貫性和知識。
2. 打造更智慧的開發者工作流程 將 YAMS 作為您開發專案的本地知識庫。儲存程式碼片段、API 文件、架構決策和錯誤日誌。數週後當您遇到類似問題時,可以在 YAMS 儲存中搜尋原始解決方案或上下文,從而節省大量時間和精力。
3. 建立個人可搜尋知識庫 將文章、筆記和重要文件歸檔到 YAMS 中。透過支援 PDF 文字擷取和強大的搜尋功能,您可以即時在整個數位圖書館中找到資訊。使用 TUI 瀏覽器(yams browse)互動式探索您儲存的內容。
獨特優勢
YAMS 的獨特之處在於它將通常分散於多個專業工具的功能,整合到一個具備高度整合性且高效能的系統中。
不同於大多數僅專注於語義搜尋的向量資料庫,YAMS 結合了向量搜尋、強大的 FTS5 驅動全文檢索以及豐富的後設資料過濾功能。這讓您能夠靈活地依據概念、關鍵字或標籤進行查詢。
儘管傳統檔案儲存系統缺乏效率,YAMS 採用了精密的區塊層級重複資料刪除技術。這表示如果您儲存數千個僅有些微差異的版本檔案,您只需儲存獨特的變更區塊,而非數千個完整副本。
唯一一款將內容定址儲存(用於資料完整性)、進階重複資料刪除(用於效率)和混合搜尋(用於強大檢索)整合於單一、易於部署的二進位檔案中的解決方案。
總結
對於任何希望克服無狀態應用程式限制的開發者而言,YAMS 都是一個功能強大且實用的工具,尤其是在大型語言模型(LLMs)的應用情境中。透過提供一個耐用、空間效率高且高度可搜尋的記憶層,它使您能夠建構出更智慧、更具情境感知能力和更強大的系統。
歡迎查閱官方文件,立即開始將 YAMS 整合到您的下一個專案中!





