Shared scaffold for CircuitForge products
- LLMRouter.__init__ now accepts a Path | dict; pagepiper ingest scripts
pass a runtime-constructed config dict instead of a temp file
- _check_ollama_model_pulled() preflight on embed(): checks /api/tags once
per backend URL and raises RuntimeError("...Fix: ollama pull <model>")
when the configured embedding model is not pulled; silently skips for
non-Ollama backends (vLLM, etc.) that don't expose /api/tags
- 6 new tests: dict init paths (x2) + preflight scenarios (x4)
- Existing embed tests updated to mock requests.get to avoid live Ollama calls
|
||
|---|---|---|
| .forgejo/workflows | ||
| circuitforge_core | ||
| docker | ||
| docs | ||
| scripts | ||
| tests | ||
| .cliff.toml | ||
| .gitignore | ||
| CHANGELOG.md | ||
| Dockerfile.orch | ||
| LICENSE | ||
| mkdocs.yml | ||
| pyproject.toml | ||
| README.md | ||
circuitforge-core
Shared scaffold for CircuitForge products.
Current version: 0.7.0
Modules
Implemented
circuitforge_core.db— SQLite connection factory and migration runnercircuitforge_core.llm— LLM router with fallback chain (Ollama, vLLM, Anthropic, OpenAI-compatible)circuitforge_core.tiers— Tier system with BYOK and local vision unlockscircuitforge_core.config— Env validation and .env loadercircuitforge_core.hardware— Hardware detection and LLM backend profile generation (VRAM tiers, GPU/CPU auto-select)circuitforge_core.documents— Document ingestion pipeline: PDF, DOCX, and image OCR →StructuredDocumentcircuitforge_core.affiliates— Affiliate URL wrapping with opt-out, BYOK user IDs, and CF env-var fallback (wrap_url)circuitforge_core.preferences— User preference store (local YAML file, pluggable backend); dot-path get/set APIcircuitforge_core.tasks— VRAM-aware LLM task scheduler; shared slot manager across services (TaskScheduler)circuitforge_core.manage— Cross-platform product process manager (Docker and native modes)circuitforge_core.resources— Resource coordinator and agent: VRAM allocation, eviction engine, GPU profile registry
Stubs (in-tree, not yet implemented)
circuitforge_core.vision— Vision router base class (planned: moondream2 / Claude vision dispatch)circuitforge_core.wizard— First-run wizard base class (products subclassBaseWizard)circuitforge_core.pipeline— Staging queue base (StagingDB; products provide concrete schema)
Install
pip install -e .
License
BSL 1.1 — see LICENSE