mememo
v0.1.0
一個將矢量搜索和抹布帶到瀏覽器的JavaScript庫!
| ? ML紙審稿人 | ?提示增強器 | ?負責的AI助手 |
Mememo是一個JavaScript庫,它將最新的近似鄰居搜索技術HNSW適應瀏覽器環境。我們的工具包採用現代和本地網絡技術(例如IndexEdDB和Web Workers)開發,利用客戶端硬件功能使研究人員和開發人員能夠通過瀏覽器中的數百萬高維矢量進行有效搜索。 Mememo可以使令人興奮的新設計和研究機會,例如私人和個性化的內容創建和交互式原型製作,如我們的示例應用程序抹布遊樂場所示。
Mememo支持瀏覽器和Node.js環境。要安裝Mememo,您可以使用npm :
npm install mememo然後,您可以創建一個向量索引,並通過兩個功能進行大約最近的鄰居搜索:
// Import the HNSW class from the MeMemo module
import { HNSW } from 'mememo' ;
// Creating a new index
const index = new HNSW ( { distanceFunction : 'cosine' } ) ;
// Inserting elements into our index in batches
let keys : string [ ] ;
let values : number [ ] [ ] ;
await index . bulkInsert ( keys , values ) ;
// Find k-nearest neighbors
let query : number [ ] ;
const { keys , distances } = await index . query ( query , k ) ; 克隆或下載此存儲庫:
git clone [email protected]:poloclub/mememo.git安裝依賴項:
npm install使用Vitest進行單元測試:
npm run test
克隆或下載此存儲庫:
git clone [email protected]:poloclub/mememo.git導航到示例文件夾:
cd ./examples/rag-playground安裝依賴項:
npm install然後運行貸款解釋器:
npm run dev
導航到Localhost:3000。您應該看到三個在瀏覽器中運行的解釋器:)
Mememo是由Jay Wang和Polo Chau創建的。
要了解有關Mememo的更多信息,請查看我們在Sigir'24上發表的研究論文。
@inproceedings { wangMeMemoOndeviceRetrieval2024 ,
title = { {{MeMemo}}: {{On-device Retrieval Augmentation}} for {{Private}} and {{Personalized Text Generation}} } ,
booktitle = { Proceedings of the 47th {{International ACM SIGIR Conference}} on {{Research}} and {{Development}} in {{Information Retrieval}} } ,
author = { Wang, Zijie J. and Chau, Duen Horng } ,
year = { 2024 } ,
urldate = { 2024-06-26 } ,
langid = { english }
}該軟件可根據MIT許可證獲得。
如果您有任何疑問,請隨時打開問題或聯繫Jay Wang。