PitchHut logo
Intelligent Semantic-Search on Raycast with Gemini embedding. Find the file you thought you lost.
Pitch

Recall offers an intelligent way to search through local multimodal memory, supporting images, audio, video, PDFs, and text. With natural language queries, users can effortlessly find relevant content without needing metadata. An animated setup wizard and a Raycast extension enhance the user experience, making local semantic search both effective and accessible.

Description

Recall: The Intelligent Way to Search

Recall is a powerful local multimodal memory solution that enables semantic search across various file types including images, audio, video, PDFs, and text. By embedding these files into a local vector database, Recall allows users to perform searches using natural language queries, making it easy to find relevant files without needing to rely on text metadata. For example, searching for "team dinner" can bring up associated photos, regardless of whether they contain textual information.

Key Features

  • Enhanced Search Capabilities: Perform cross-modal searches without any tagging, renaming, or metadata requirements.
  • Animated Setup Wizard: A user-friendly setup wizard simplifies the installation process, ensuring everything from folder selection to API key validation is automated.
  • Raycast Integration: Instantly access visual search capabilities with thumbnails through the Raycast extension, providing a seamless user experience.

How It Works

  1. Embed files into the system.
  2. Each file is converted into a 768-dimensional vector using the Gemini Embedding 2 API.
  3. Store vectors locally in ChromaDB for efficient retrieval.

Example Workflow

You                     Gemini Embedding 2          ChromaDB (local)  
 |                            |                        |  
 |-- team-dinner.jpg -------->|-- 768-dim vector ------>|-- stored on disk  
 |-- meeting-notes.pdf ------>|-- 768-dim vector ------>|-- stored on disk  
 |-- "team dinner" (query) -->|-- query vector -------->|-- cosine search  
 |<---------------------------|<-- ranked results -------|  

Simple Implementation in Python

from vector_embedded_finder import search, ingest_file, ingest_directory, count  

# Embed a single file — image, PDF, audio, video, or text  
ingest_file("~/Photos/team-dinner.jpg")  

# Embed an entire directory (recursive)  
ingest_directory("~/Documents/", source="docs")  

# Perform a natural language search  
matches = search("team dinner at the rooftop", n_results=5)  
for m in matches:  
    print(f"{m['file_name']}  {m['similarity']:.0%} match  {m['file_path']}")  

# Get indexed item count  
print(f"{count()} items indexed")  

Supported File Types

  • Images: .png, .jpg, .jpeg, .webp, .gif, .bmp, .tiff
  • Audio: .mp3, .wav, .m4a, .ogg, .flac, .aac
  • Video: .mp4, .mov, .avi, .mkv, .webm
  • Documents: .pdf
  • Text: .txt, .md, .csv, .json, and more

Local Architecture Overview

The entire system architecture is designed for optimal efficiency, ensuring all processed vectors are stored locally and enhancing privacy. Only embedding API calls to Google result in outbound traffic, keeping personal files secure on the user's machine.

Recall stands as a robust alternative for those seeking advanced search capabilities within local storage without compromising on user experience or data security.

0 comments

No comments yet.

Sign in to be the first to comment.