Uma biblioteca JavaScript que traz pesquisa vetorial e pano para o seu navegador!
| ? Revisor de papel ML | ? Primeiro intensificador | ? Assistente de IA responsável |
O Mememo é uma biblioteca JavaScript que adapta a técnica de busca vizinha aproximada mais próxima da ponta mais próxima da Técnica de Pesquisa HNSW aos ambientes do navegador. Desenvolvido com tecnologias da Web modernas e nativas, como IndexedDB e Web Workers, nosso kit de ferramentas aproveita os recursos de hardware do lado do cliente para permitir que pesquisadores e desenvolvedores pesquisem com eficiência através de milhões de vetores de alta dimensão em navegadores. O Mememo permite novas oportunidades de design e pesquisa interessantes, como criação de conteúdo privada e personalizada e prototipagem interativa, como demonstrado em nosso exemplo de recreação de rag de aplicativos.
O Mememo suporta ambientes de navegador e node.js. Para instalar o mememmo, você pode usar npm :
npm install mememoEm seguida, você pode criar um índice vetorial e fazer uma pesquisa aproximada mais próxima do vizinho através de duas funções:
// 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 ) ; Clone ou faça o download deste repositório:
git clone [email protected]:poloclub/mememo.gitInstale as dependências:
npm installUse Vitest para testes de unidade:
npm run test
Clone ou faça o download deste repositório:
git clone [email protected]:poloclub/mememo.gitNavegue até a pasta Exemplo:
cd ./examples/rag-playgroundInstale as dependências:
npm installEm seguida, execute o explicador de empréstimos:
npm run dev
Navegue até localhost: 3000. Você deve ver três explicadores correndo no seu navegador :)
O Mememo é criado por Jay Wang e Polo Chau.
Para saber mais sobre o Mememo, confira nosso trabalho de pesquisa publicado no 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 }
}O software está disponível sob a licença do MIT.
Se você tiver alguma dúvida, sinta -se à vontade para abrir um problema ou entre em contato com Jay Wang.