Model Modes
Model modes define the primary function of a model in no_llm. Each mode represents a specific type of task the model is designed to perform.
Limited Mode Support
Currently, no_llm primarily supports CHAT mode and chat-based models. Support for other modes (completion, embedding, image generation, audio) is under development and will be available in future releases.
Available Modes
| Mode | Description | Common Use Cases | 
|---|---|---|
CHAT | 
Interactive chat completion | - Conversational AI - Virtual assistants - Interactive Q&A  | 
COMPLETION | 
Text completion | - Text generation - Content creation - Code completion  | 
EMBEDDING | 
Vector embedding generation | - Semantic search - Document similarity - Text clustering  | 
IMAGE_GENERATION | 
Image creation from text | - Art generation - Design mockups - Visual content creation  | 
AUDIO_TRANSCRIPTION | 
Speech-to-text conversion | - Meeting transcription - Subtitle generation - Voice notes to text  | 
AUDIO_SPEECH | 
Text-to-speech synthesis | - Audio content creation - Accessibility features - Voice assistants  | 
Listing Models by Mode
You can list all models supporting a specific mode using the registry:
from no_llm.config.enums import ModelMode
from no_llm.registry import ModelRegistry
registry = ModelRegistry()
# List all chat models
chat_models = list(registry.list_models(mode=ModelMode.CHAT))
# List chat models from a specific provider
openai_chat_models = list(registry.list_models(
    mode=ModelMode.CHAT,
    provider="openai"
))