I Forgot the Words, Not the Memory: Building Ghostlight
Описание и применение
Пользователи могут вспомнить момент, но забыть точные слова, поэтому им сложно найти исходный текст в архиве. Ghostlight позволяет вводить нечеткие запросы, преобразовывать их в эмбеддинги и находить наиболее похожие сохранённые фрагменты, работая полностью в браузере без отправки данных на сервер.
Задача
Users can remember a moment but forget the exact words, making it hard to retrieve the original text from a memory archive.
Результат
In a Chromium test on 1 Nov 2026, the browser‑based model returned relevant passages for fuzzy queries with similarity scores above 0.25, and clearly labeled weak matches. The system operates offline after the initial 23 MB model download.
Рабочий процесс
- 1. User adds a memory passage to the archive. 2. The app converts the passage to an embedding using all‑MiniLM‑L6‑v2 (quantized via Xenova ONNX) and caches it. 3. User enters a search phrase. 4. The phrase is embedded with the same model. 5. Cosine similarity between query and cached embeddings is computed. 6. Results are ranked and displayed with the original text and similarity score.
- 7. Users can export the archive as JSON or import a JSON file to transfer memories.
- 8. Optional localStorage persists notes across sessions; otherwise data is session‑only.
Доказательства
Ghostlight found it.
The first visit downloads roughly 23 MB of model weights plus runtime files.
The retrieval flow is small enough to inspect: 1. Convert each saved passage into an embedding… 4. Compare those vectors with cosine similarity and rank the passages.
The worker keeps model loading and inference away from the interface thread.
The model earns its place in the app. “Hummed songs” and “music” can be close in its embedding space; exact string matching alone cannot make that connection.
- Дата записи: 2026-11-01T11:44:08.426Z