ブラウザにベクトル検索とラグをもたらすJavaScriptライブラリ!
| ? MLペーパーレビュアー | ?プロンプトエンハンサー | ?責任あるAIアシスタント |
MEMEMOは、最先端の最近近隣検索技術HNSWをブラウザ環境に適応させるJavaScriptライブラリです。 IndexEdDBやWeb Workersなどの最新およびネイティブWebテクノロジーで開発されたToolkitは、クライアント側のハードウェア機能を活用して、研究者と開発者がブラウザーの何百万もの高次元ベクトルを効率的に検索できるようにします。 MEMEMOは、プライベートおよびパーソナライズされたコンテンツの作成やインタラクティブなプロトタイピングなどのエキサイティングな新しいデザインと研究の機会を可能にします。
MEMEMOは、ブラウザとnode.js環境の両方をサポートしています。 MEMEMOをインストールするには、 npmを使用できます。
npm install mememo次に、ベクトルインデックスを作成し、2つの関数を介して近隣の近隣検索を行うことができます。
// 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に移動します。あなたはあなたのブラウザで実行されている3つの説明者を見る必要があります:)
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に連絡してください。