This guide will help you get up and running with the Visual Search system.
- Python 3.10 or higher
- pip (Python package manager)
- At least 4GB RAM (for loading CLIP model)
git clone <repository-url>
cd VisualSearch# Create virtual environment
python -m venv venv
# Activate on Windows
venv\Scripts\activate
# Activate on Unix/macOS
source venv/bin/activate# Install main dependencies
pip install -r requirements.txt
# Install development dependencies (for testing)
pip install -r requirements-dev.txt# Install in development mode
pip install -e .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}")- See Architecture Overview for system design
- See API Reference for detailed API documentation
- See Configuration for customization options
- See Evaluation for model evaluation guide