¡Una biblioteca JavaScript que trae búsqueda vectorial y trapo a su navegador!
| ? Revisor en papel de ML | ? Potenciador rápido | ? Asistente de IA responsable |
Mememo es una biblioteca de JavaScript que adapta la técnica de búsqueda de vecinos más cercano de última generación HNSW a entornos de navegador. Desarrollado con tecnologías web modernas y nativas, como indexedDB y trabajadores web, nuestro kit de herramientas aprovecha las capacidades de hardware del lado del cliente para permitir a los investigadores y desarrolladores buscar eficientemente a través de millones de vectores de alta dimensión en los navegadores. Mememo permite nuevas y emocionantes oportunidades de diseño e investigación, como la creación de contenido privado y personalizado y la creación de prototipos interactivos, como se demuestra en nuestro ejemplo de Playground Rag Playground.
Mememo admite entornos de navegador y nodo.js. Para instalar Mememo, puede usar npm :
npm install mememoLuego, puede crear un índice vectorial y hacer una búsqueda aproximada del vecino más cercano a través de dos funciones:
// 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 ) ; Clon o descargar este repositorio:
git clone [email protected]:poloclub/mememo.gitInstale las dependencias:
npm installUse Vitest para las pruebas unitarias:
npm run test
Clon o descargar este repositorio:
git clone [email protected]:poloclub/mememo.gitNavegue a la carpeta de ejemplo:
cd ./examples/rag-playgroundInstale las dependencias:
npm installLuego ejecute el explicador de préstamos:
npm run dev
Navegue a Localhost: 3000. Deberías ver tres explicadores ejecutándose en tu navegador :)
Mememo es creado por Jay Wang y Polo Chau.
Para obtener más información sobre Mememo, consulte nuestro trabajo de investigación publicado en 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 }
}El software está disponible bajo la licencia MIT.
Si tiene alguna pregunta, no dude en abrir un problema o comunicarse con Jay Wang.