Changed
- Reviewed all the models to use native REST API
- Reviewed to follow PEP8 style guide
- Renamed `BaseModel` to `RootModel` to avoid pydantic class name conflict
- Python files restructured based on provider, not function-based
- Unified output of Text-To-Text models to `dict`
- Unified test style
- Renamed `LLMInstanceCreator` to `InstanceCreator`
- Simplified dummy prompt verification in `InstanceCreator` class
- Changed `SUMMON_LIMIT` to 150 from 100
Added
- `utils.py` for commonly used functions
- `LLMBase` class as common Text-To-Text model
- `MultipartFormdataModel` for multipart/form-data payload
- `SpeechToTextBase` inherited from `MultipartFormdataModel` for Speech-To-Text models
- `DeepSeekLLM`
- `SambaNovaLLM`
- `XAILLM` (Grok)
- Image-To-Text for `AnthropicLLM`, `GroqLLM`, `MistralLLM`
- Speech-To-Text for `GroqLLM`
- Audio questioning and answering to `OpenAILLM`
- Reasoning/Thinking models in `OpenAILLM`, `AnthropicLLM` and other providers can be used
- Google Web Search to `GoogleLLM`
- 3D modeling of Stable Diffusion `StableDiffusionImageTo3D`
- Image generation to Luma AI `LumaAITextToImage`, `LumaAIImageToImage`
- Voice models to ElevenLabs `ElevenLabsVoiceDesign`, `ElevenLabsVoiceChanger` and `ElevenLabsDub`
Removed
- `pikapikapika_models.py`
- `_is_dummy_prompt_required()` in `LLMInstanceCreator` class