feat: add OpenAI as provider for text and image generation

- Add openai_text.py: text generation via OpenAI chat completions API
  (gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o3-mini)
- Add openai_image.py: image generation via OpenAI images API
  (gpt-image-1 with reference image support, dall-e-3, dall-e-2)
- Refactor builder provider dispatch from TargetType to model-name index
  to support multiple providers per target type
- Fix circular import between config.py and providers/__init__.py
  using TYPE_CHECKING guard
- Fix stale default model assertions in tests
- Add openai>=1.0.0 dependency
This commit is contained in:
Konstantin Fickel 2026-02-15 13:48:06 +01:00
parent d0dac5b1bf
commit 870023865d
Signed by: kfickel
GPG key ID: A793722F9933C1A5
9 changed files with 571 additions and 58 deletions

View file

@ -9,8 +9,12 @@ def get_all_models() -> list[ModelInfo]:
"""Return the merged list of models from all providers."""
from bulkgen.providers.blackforest import BlackForestProvider
from bulkgen.providers.mistral import MistralProvider
from bulkgen.providers.openai_image import OpenAIImageProvider
from bulkgen.providers.openai_text import OpenAITextProvider
return (
MistralProvider.get_provided_models()
+ BlackForestProvider.get_provided_models()
+ OpenAITextProvider.get_provided_models()
+ OpenAIImageProvider.get_provided_models()
)