Skip to content

Benchmarking update#1

Merged
FranciscoLozCoding merged 123 commits intomainfrom
benchmarking
Feb 3, 2026
Merged

Benchmarking update#1
FranciscoLozCoding merged 123 commits intomainfrom
benchmarking

Conversation

@FranciscoLozCoding
Copy link
Collaborator

@FranciscoLozCoding FranciscoLozCoding commented Dec 10, 2025

Benchmarking Framework and Infrastructure Abstraction

Overview

This PR introduces an abstract benchmarking framework for vector databases and models, with reusable components and infrastructure abstractions for easy deployment on NRP. The framework code is provided by the imsearch_eval Python package, while this repository contains benchmark implementations and deployment infrastructure.

Framework Architecture

The benchmarking framework is provided by the imsearch_eval package.

Infrastructure Abstraction

Kubernetes Deployment

  • Kustomize-based structure with base configurations and benchmark-specific overlays
  • Vector DB and inference server agnostic: Base configurations work with any stack
  • Each benchmark overlay adds environment variables for its specific services
  • Template system for creating new benchmark deployments

Dockerfile System

  • Template-based Dockerfiles for consistent container builds
  • Separate containers for data loading and evaluation

Makefile System

  • Base Makefile with common commands
  • Benchmark-specific Makefiles that extend the base
  • NRP-compatible commands and configurations

Template Directory

  • Complete starter kit for new benchmarks
  • Includes Makefile, Dockerfiles, Kubernetes configs, and Python templates
  • Documentation and quick start guides

Repository Structure

benchmarking/
├── benchmarks/              # Benchmark implementations
│   ├── template/           # Template for creating new benchmarks
│   └── INQUIRE/           # INQUIRE benchmark implementation
│
└── kubernetes/             # Kubernetes deployment configurations
    ├── base/              # Base configurations (vector DB/inference server agnostic)
    └── INQUIRE/           # INQUIRE-specific overlay

Benefits

  1. Faster benchmark creation using templates
  2. Consistent evaluation across benchmarks via shared package
  3. Easy integration of new vector databases and models
  4. Maintainable shared code in separate package repository
  5. NRP-ready deployment infrastructure
  6. Framework stability independent of app/ changes
  7. Flexible infrastructure supporting any vector DB/inference server combination
  8. Easy distribution: Benchmarks can be used in any environment by installing the package

Future Work

This framework enables:

  • Benchmarking Milvus, Pinecone, Qdrant, and other vector databases
  • Adding new datasets with minimal code
  • Comparing different models and vector databases
  • Easy contribution of new adapters to the imsearch_eval package

FranciscoLozCoding and others added 30 commits December 10, 2025 10:41
… legacy framework and adapter files. Updated documentation and templates to reflect new structure and dependencies.
…unnecessary None checks on processed batches.
@FranciscoLozCoding FranciscoLozCoding merged commit 069eb6e into main Feb 3, 2026
3 checks passed
@FranciscoLozCoding FranciscoLozCoding deleted the benchmarking branch February 3, 2026 17:34
@FranciscoLozCoding FranciscoLozCoding added the benchmarking Improvements or additions to benchmarking label Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmarking Improvements or additions to benchmarking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants