Skip to content

feat: add a production CPU-only model runtime profile #339

Description

@Abhash-Chakraborty

Summary

Add a real CPU-only runtime between mock mode and the CUDA full stack. It should run local inference on ordinary laptops without installing CUDA wheels or requiring an NVIDIA device.

Why this is required

The light profile is useful for development but produces fake ML results; the full profile installs multiple large runtimes and requires GPU access. Users need a production-capable CPU profile with explicit quality and latency expectations.

Where to work

  • backend/pyproject.toml optional dependency groups
  • backend/Dockerfile
  • Compose profiles and .env.example
  • backend/src/find_api/core/hardware.py
  • model manager and ML loaders

Acceptance criteria

  • Define a CPU dependency/image target with no CUDA wheels.
  • Keep mock and full GPU profiles unchanged.
  • Run real caption, OCR, detection, embedding, and face stages or clearly mark an intentionally disabled optional stage.
  • Record image size, idle RAM, peak RAM, and per-image latency on a CPU-only machine.
  • Add health/status output showing active pack and disabled features.
  • Document hardware minimums and fallback behavior.

Dependencies

Coordinate with #45 and the model-specific benchmark issues. Do not change default models without measurable quality comparisons.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendFastAPI, database, storage, and API workenhancementNew feature, improvement, or enhancement request.gssoc26Related to GirlScript Summer of Code 2026.infraDocker, compose, deployment, and runtime setuplevel:criticalGSSoC difficulty level: critical. Base contributor points: 80.local-firstPrivacy-preserving local runtime and offline behaviormlModel inference, embeddings, OCR, captions, and search relevanceperformanceSpeed, startup, memory, image size, and runtime efficiencypriority: highImportant issue that should be handled soonstatus: availableOpen for contributors to pick up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions