Une bibliothèque JavaScript qui apporte la recherche et le chiffon de vecteur à votre navigateur!
| ? ML Paper Reviewer | ? Amplificateur rapide | ? Assistant d'IA responsable |
LeMemo est une bibliothèque JavaScript qui adapte la technique de recherche de voisin la plus proche approximative la technique de recherche la plus proche HNSW aux environnements de navigateur. Développé avec des technologies Web modernes et natives, telles que les travailleurs indexés et les travailleurs du Web, notre boîte à outils exploite les capacités matérielles côté client pour permettre aux chercheurs et aux développeurs de rechercher efficacement des millions de vecteurs de grande dimension dans les navigateurs. Le MEMEMO permet de nouvelles possibilités de conception et de recherche passionnantes, telles que la création de contenu privée et personnalisée et le prototypage interactif, comme démontré dans notre exemple d'application RAG Playground.
Mememo prend en charge les environnements Browser et Node.js. Pour installer le mememo, vous pouvez utiliser npm :
npm install mememoEnsuite, vous pouvez créer un index vectoriel et effectuer une recherche approximative de voisin le plus proche via deux fonctions:
// 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 ) ; Cloner ou télécharger ce référentiel:
git clone [email protected]:poloclub/mememo.gitInstallez les dépendances:
npm installUtilisez le plus vitre pour les tests unitaires:
npm run test
Cloner ou télécharger ce référentiel:
git clone [email protected]:poloclub/mememo.gitAccédez à l'exemple de dossier:
cd ./examples/rag-playgroundInstallez les dépendances:
npm installEnsuite, exécutez des prêts:
npm run dev
Accédez à LocalHost: 3000. Vous devriez voir trois explicateurs courir dans votre navigateur :)
Le mememo est créé par Jay Wang et Polo Chau.
Pour en savoir plus sur le mememo, consultez notre document de recherche publié sur 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 }
}Le logiciel est disponible sous la licence MIT.
Si vous avez des questions, n'hésitez pas à ouvrir un problème ou à contacter Jay Wang.