refactor: move model definitions into providers and extract resolve module
Some checks failed
Continuous Integration / Build Package (push) Successful in 30s
Continuous Integration / Lint, Check & Test (push) Failing after 38s

- Rename ImageProvider to BlackForestProvider, TextProvider to MistralProvider
- Add get_provided_models() abstract method to Provider base class
- Move model lists from models.py into each provider's get_provided_models()
- Add providers/registry.py to aggregate models from all providers
- Extract infer_required_capabilities and resolve_model from config.py to resolve.py
- Update tests to use new names and import paths
This commit is contained in:
Konstantin Fickel 2026-02-15 11:03:57 +01:00
parent dc6a75f5c4
commit d0dac5b1bf
Signed by: kfickel
GPG key ID: A793722F9933C1A5
13 changed files with 432 additions and 390 deletions

View file

@ -12,14 +12,13 @@ from pathlib import Path
from bulkgen.config import (
ProjectConfig,
TargetType,
infer_required_capabilities,
resolve_model,
target_type_from_capabilities,
)
from bulkgen.graph import build_graph, get_build_order, get_subgraph_for_target
from bulkgen.providers import Provider
from bulkgen.providers.image import ImageProvider
from bulkgen.providers.text import TextProvider
from bulkgen.providers.blackforest import BlackForestProvider
from bulkgen.providers.mistral import MistralProvider
from bulkgen.resolve import infer_required_capabilities, resolve_model
from bulkgen.state import (
BuildState,
is_target_dirty,
@ -106,10 +105,10 @@ def _create_providers() -> dict[TargetType, Provider]:
providers: dict[TargetType, Provider] = {}
bfl_key = os.environ.get("BFL_API_KEY", "")
if bfl_key:
providers[TargetType.IMAGE] = ImageProvider(api_key=bfl_key)
providers[TargetType.IMAGE] = BlackForestProvider(api_key=bfl_key)
mistral_key = os.environ.get("MISTRAL_API_KEY", "")
if mistral_key:
providers[TargetType.TEXT] = TextProvider(api_key=mistral_key)
providers[TargetType.TEXT] = MistralProvider(api_key=mistral_key)
return providers