Skip to content

v2.10.0 - Local Embedding Resource Limits & In-App Dynamic Controls

Choose a tag to compare

@spelech spelech released this 26 Aug 06:23
· 74 commits to main since this release
23c26f6

馃殌 What's New in v2.10.0

馃 Local Embedding Resource Limits & Safe Defaults

  • System & Cgroup Resource Detection: Automatically detects host and container resource boundaries (cgroup v2 /sys/fs/cgroup/cpu.max, cgroup v1 CFS quotas, and system cores/RAM).
  • Safe Defaults: Caps local FastEmbed (ONNX) CPU concurrency to min(2, detected_cpus) (default: 2 cores) and batch size to 32 chunks (down from FastEmbed's unconstrained 256) to eliminate container CPU spikes and host starvation during ingestion.
  • Dynamic In-App Hot-Reloading: Added GET /admin/api/settings/embedding and POST /admin/api/settings/embedding allowing live modification of thread caps, batch sizes, and model configurations without restarts.
  • Persistent Settings: Seeding and storage of embedding preferences in the SQLite system_metadata table.

馃帹 Web Admin Dashboard Controls

  • Embedding Engine & Resource Limits Panel: Dedicated card in Settings displaying active execution provider, live thread allocations vs. detected host hardware, batch size, and RAM capacity.
  • Interactive Configuration Form: User-configurable CPU thread limit slider, batch size dropdown (16, 32, 64, 128, 256), dense/sparse model selectors, and LiteLLM API endpoint settings.

馃И Test Coverage & Modularity

  • Added comprehensive unit and component test suites (282 backend Pytest tests, 96 frontend Vitest tests).
  • All source files strictly maintained under the sub-500 LOC modularity floor.
  • Synchronized automated requirement specifications (REQUIREMENTS.md).