  Retrieval-augmented text generation (RAG) addresses the common limitations of
large language models (LLMs), such as hallucination, by retrieving information
from an updatable external knowledge base. However, existing approaches often
require dedicated backend servers for data storage and retrieval, thereby
limiting their applicability in use cases that require strict data privacy,
such as personal finance, education, and medicine. To address the pressing need
for client-side dense retrieval, we introduce MeMemo, the first open-source
JavaScript toolkit that adapts the state-of-the-art approximate nearest
neighbor search technique HNSW to browser environments. Developed with modern
and native Web technologies, such as IndexedDB and Web Workers, our toolkit
leverages client-side hardware capabilities to enable researchers and
developers to efficiently search through millions of high-dimensional vectors
in the browser. MeMemo enables exciting new design and research opportunities,
such as private and personalized content creation and interactive prototyping,
as demonstrated in our example application RAG Playground. Reflecting on our
work, we discuss the opportunities and challenges for on-device dense
retrieval. MeMemo is available at https://github.com/poloclub/mememo.
