Perpustakaan JavaScript yang membawa pencarian vektor dan kain ke browser Anda!
| ? Peninjau Kertas ML | ? Penambah cepat | ? Asisten AI yang bertanggung jawab |
Mememo adalah perpustakaan JavaScript yang mengadaptasi perkiraan canggih teknik pencarian tetangga terdekat dengan lingkungan browser. Dikembangkan dengan teknologi web modern dan asli, seperti indexedDB dan pekerja web, toolkit kami memanfaatkan kemampuan perangkat keras sisi klien untuk memungkinkan para peneliti dan pengembang untuk mencari secara efisien melalui jutaan vektor dimensi tinggi di browser. Mememo memungkinkan peluang desain dan penelitian baru yang menarik, seperti pembuatan konten pribadi dan personal dan prototipe interaktif, seperti yang ditunjukkan dalam contoh aplikasi Rag Playground kami.
MEMEMO mendukung lingkungan browser dan node.js. Untuk menginstal Mememo, Anda dapat menggunakan npm :
npm install mememoKemudian, Anda dapat membuat indeks vektor dan melakukan perkiraan pencarian tetangga terdekat melalui dua fungsi:
// 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 ) ; Klon atau unduh repositori ini:
git clone [email protected]:poloclub/mememo.gitInstal dependensi:
npm installGunakan Vitest untuk pengujian unit:
npm run test
Klon atau unduh repositori ini:
git clone [email protected]:poloclub/mememo.gitArahkan ke folder contoh:
cd ./examples/rag-playgroundInstal dependensi:
npm installKemudian jalankan penjelasan pinjaman:
npm run dev
Arahkan ke Localhost: 3000. Anda akan melihat tiga penjelasan berjalan di browser Anda :)
Mememo dibuat oleh Jay Wang dan Polo Chau.
Untuk mempelajari lebih lanjut tentang Mememo, lihat makalah penelitian kami yang diterbitkan di 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 }
}Perangkat lunak ini tersedia di bawah lisensi MIT.
Jika Anda memiliki pertanyaan, jangan ragu untuk membuka masalah atau hubungi Jay Wang.