Skip to content

Latest commit

 

History

History
93 lines (68 loc) · 2.19 KB

getting-started.md

File metadata and controls

93 lines (68 loc) · 2.19 KB

Getting Started with Visual Search

This guide will help you get up and running with the Visual Search system.

Prerequisites

  • Python 3.10 or higher
  • pip (Python package manager)
  • At least 4GB RAM (for loading CLIP model)

Installation

1. Clone the Repository

git clone <repository-url>
cd VisualSearch

2. Create a Virtual Environment

# Create virtual environment
python -m venv venv

# Activate on Windows
venv\Scripts\activate

# Activate on Unix/macOS
source venv/bin/activate

3. Install Dependencies

# Install main dependencies
pip install -r requirements.txt

# Install development dependencies (for testing)
pip install -r requirements-dev.txt

4. Install the Package

# Install in development mode
pip install -e .

Quick Start

Basic Usage

from PIL import Image
from visual_search.indexing.indexing_service import IndexingService
from visual_search.indexing.storage.local_storage import LocalStorage
from visual_search.indexing.index_table import VectorIndex
from visual_search.prediction.embedding_service import EmbeddingService
from visual_search.prediction.nearest_neighbor import NearestNeighborSearch

# Initialize components
storage = LocalStorage(root_path="./images")
embedding_service = EmbeddingService()  # Loads CLIP model
index = VectorIndex(dimension=512)

# Create indexing service
indexing_service = IndexingService(
    storage=storage,
    embedding_service=embedding_service,
    index=index,
)

# Index an image
image = Image.open("path/to/image.jpg")
metadata = indexing_service.index_image(image, "my_image_001")

# Search for similar images
search_service = NearestNeighborSearch(index=index)
query_vector = index.get_vector("my_image_001")
results = search_service.search(query_vector, "query_001", k=10)

# Print results
for result in results.results:
    print(f"Image: {result.image_id}, Score: {result.score}")

Next Steps