presenton/servers/fastapi/constants/supported_ollama_models.py
sudipnext c7860127f2 feat: add support for optional embedded Ollama and enhance database migration handling
- Updated docker-compose.yml to allow disabling embedded Ollama via environment variable.
- Refactored Dockerfile and Dockerfile.dev for improved dependency management and installation process.
- Enhanced FastAPI migration scripts to handle orphaned Alembic revisions and added new database migration logic.
- Improved error handling in background tasks and Codex authentication endpoints.
- Added support for font file uploads with better validation and extraction of font names.
- Introduced new image search functionality with support for Pexels and Pixabay APIs.
2026-04-15 15:39:35 +05:45

311 lines
7.6 KiB
Python

from models.ollama_model_metadata import OllamaModelMetadata
SUPPORTED_OLLAMA_MODELS = {
"llama3:8b": OllamaModelMetadata(
label="Llama 3:8b",
value="llama3:8b",
size="4.7GB",
),
"llama3:70b": OllamaModelMetadata(
label="Llama 3:70b",
value="llama3:70b",
size="40GB",
),
"llama3.1:8b": OllamaModelMetadata(
label="Llama 3.1:8b",
value="llama3.1:8b",
size="4.9GB",
),
"llama3.1:70b": OllamaModelMetadata(
label="Llama 3.1:70b",
value="llama3.1:70b",
size="43GB",
),
"llama3.1:405b": OllamaModelMetadata(
label="Llama 3.1:405b",
value="llama3.1:405b",
size="243GB",
),
"llama3.2:1b": OllamaModelMetadata(
label="Llama 3.2:1b",
value="llama3.2:1b",
size="1.3GB",
),
"llama3.2:3b": OllamaModelMetadata(
label="Llama 3.2:3b",
value="llama3.2:3b",
size="2GB",
),
"llama3.3:70b": OllamaModelMetadata(
label="Llama 3.3:70b",
value="llama3.3:70b",
size="43GB",
),
"llama4:16x17b": OllamaModelMetadata(
label="Llama 4:16x17b",
value="llama4:16x17b",
size="67GB",
),
"llama4:128x17b": OllamaModelMetadata(
label="Llama 4:128x17b",
value="llama4:128x17b",
size="245GB",
),
}
SUPPORTED_GEMMA_MODELS = {
"gemma3:1b": OllamaModelMetadata(
label="Gemma 3:1b",
value="gemma3:1b",
size="815MB",
),
"gemma3:4b": OllamaModelMetadata(
label="Gemma 3:4b",
value="gemma3:4b",
size="3.3GB",
),
"gemma3:12b": OllamaModelMetadata(
label="Gemma 3:12b",
value="gemma3:12b",
size="8.1GB",
),
"gemma3:27b": OllamaModelMetadata(
label="Gemma 3:27b",
value="gemma3:27b",
size="17GB",
),
}
SUPPORTED_DEEPSEEK_MODELS = {
"deepseek-r1:1.5b": OllamaModelMetadata(
label="DeepSeek R1:1.5b",
value="deepseek-r1:1.5b",
size="1.1GB",
),
"deepseek-r1:7b": OllamaModelMetadata(
label="DeepSeek R1:7b",
value="deepseek-r1:7b",
size="4.7GB",
),
"deepseek-r1:8b": OllamaModelMetadata(
label="DeepSeek R1:8b",
value="deepseek-r1:8b",
size="5.2GB",
),
"deepseek-r1:14b": OllamaModelMetadata(
label="DeepSeek R1:14b",
value="deepseek-r1:14b",
size="9GB",
),
"deepseek-r1:32b": OllamaModelMetadata(
label="DeepSeek R1:32b",
value="deepseek-r1:32b",
size="20GB",
),
"deepseek-r1:70b": OllamaModelMetadata(
label="DeepSeek R1:70b",
value="deepseek-r1:70b",
size="43GB",
),
"deepseek-r1:671b": OllamaModelMetadata(
label="DeepSeek R1:671b",
value="deepseek-r1:671b",
size="404GB",
),
}
SUPPORTED_QWEN_MODELS = {
"qwen3:0.6b": OllamaModelMetadata(
label="Qwen 3:0.6b",
value="qwen3:0.6b",
size="523MB",
),
"qwen3:1.7b": OllamaModelMetadata(
label="Qwen 3:1.7b",
value="qwen3:1.7b",
size="1.4GB",
),
"qwen3:4b": OllamaModelMetadata(
label="Qwen 3:4b",
value="qwen3:4b",
size="2.6GB",
),
"qwen3:8b": OllamaModelMetadata(
label="Qwen 3:8b",
value="qwen3:8b",
size="5.2GB",
),
"qwen3:14b": OllamaModelMetadata(
label="Qwen 3:14b",
value="qwen3:14b",
size="9.3GB",
),
"qwen3:30b": OllamaModelMetadata(
label="Qwen 3:30b",
value="qwen3:30b",
size="19GB",
),
"qwen3:32b": OllamaModelMetadata(
label="Qwen 3:32b",
value="qwen3:32b",
size="20GB",
),
"qwen3:235b": OllamaModelMetadata(
label="Qwen 3:235b",
value="qwen3:235b",
size="142GB",
),
}
SUPPORTED_GPT_OSS_MODELS = {
"gpt-oss:20b": OllamaModelMetadata(
label="GPT-OSS 20b",
value="gpt-oss:20b",
size="14GB",
),
"gpt-oss:120b": OllamaModelMetadata(
label="GPT-OSS 120b",
value="gpt-oss:120b",
size="65GB",
),
}
SUPPORTED_GEMMA4_MODELS = {
"gemma4:latest": OllamaModelMetadata(
label="Gemma 4:latest",
value="gemma4:latest",
size="9.6GB",
),
"gemma4:e2b": OllamaModelMetadata(
label="Gemma 4:e2b",
value="gemma4:e2b",
size="7.2GB",
),
"gemma4:e4b": OllamaModelMetadata(
label="Gemma 4:e4b",
value="gemma4:e4b",
size="9.6GB",
),
"gemma4:26b": OllamaModelMetadata(
label="Gemma 4:26b",
value="gemma4:26b",
size="18GB",
),
"gemma4:31b": OllamaModelMetadata(
label="Gemma 4:31b",
value="gemma4:31b",
size="20GB",
),
# e2b variants
"gemma4:e2b-it-q4_K_M": OllamaModelMetadata(
label="Gemma 4:e2b-it-q4_K_M",
value="gemma4:e2b-it-q4_K_M",
size="7.2GB",
),
"gemma4:e2b-it-q8_0": OllamaModelMetadata(
label="Gemma 4:e2b-it-q8_0",
value="gemma4:e2b-it-q8_0",
size="8.1GB",
),
"gemma4:e2b-it-bf16": OllamaModelMetadata(
label="Gemma 4:e2b-it-bf16",
value="gemma4:e2b-it-bf16",
size="10GB",
),
# e4b variants
"gemma4:e4b-it-q4_K_M": OllamaModelMetadata(
label="Gemma 4:e4b-it-q4_K_M",
value="gemma4:e4b-it-q4_K_M",
size="9.6GB",
),
"gemma4:e4b-it-q8_0": OllamaModelMetadata(
label="Gemma 4:e4b-it-q8_0",
value="gemma4:e4b-it-q8_0",
size="12GB",
),
"gemma4:e4b-it-bf16": OllamaModelMetadata(
label="Gemma 4:e4b-it-bf16",
value="gemma4:e4b-it-bf16",
size="16GB",
),
# 26b variants
"gemma4:26b-a4b-it-q4_K_M": OllamaModelMetadata(
label="Gemma 4:26b-a4b-it-q4_K_M",
value="gemma4:26b-a4b-it-q4_K_M",
size="18GB",
),
"gemma4:26b-a4b-it-q8_0": OllamaModelMetadata(
label="Gemma 4:26b-a4b-it-q8_0",
value="gemma4:26b-a4b-it-q8_0",
size="28GB",
),
# 31b variants
"gemma4:31b-it-q4_K_M": OllamaModelMetadata(
label="Gemma 4:31b-it-q4_K_M",
value="gemma4:31b-it-q4_K_M",
size="20GB",
),
"gemma4:31b-it-q8_0": OllamaModelMetadata(
label="Gemma 4:31b-it-q8_0",
value="gemma4:31b-it-q8_0",
size="34GB",
),
"gemma4:31b-it-bf16": OllamaModelMetadata(
label="Gemma 4:31b-it-bf16",
value="gemma4:31b-it-bf16",
size="63GB",
)
}
SUPPORTED_QWEN35_MODELS = {
"qwen3.5:latest": OllamaModelMetadata(
label="Qwen 3.5:latest",
value="qwen3.5:latest",
size="6.6GB",
),
"qwen3.5:2b": OllamaModelMetadata(
label="Qwen 3.5:2b",
value="qwen3.5:2b",
size="2.7GB",
),
"qwen3.5:4b": OllamaModelMetadata(
label="Qwen 3.5:4b",
value="qwen3.5:4b",
size="3.4GB",
),
"qwen3.5:9b": OllamaModelMetadata(
label="Qwen 3.5:9b",
value="qwen3.5:9b",
size="6.6GB",
),
"qwen3.5:27b": OllamaModelMetadata(
label="Qwen 3.5:27b",
value="qwen3.5:27b",
size="17GB",
),
"qwen3.5:35b": OllamaModelMetadata(
label="Qwen 3.5:35b",
value="qwen3.5:35b",
size="24GB",
),
"qwen3.5:122b": OllamaModelMetadata(
label="Qwen 3.5:122b",
value="qwen3.5:122b",
size="81GB",
)
}
SUPPORTED_OLLAMA_MODELS = {
**SUPPORTED_OLLAMA_MODELS,
**SUPPORTED_GEMMA_MODELS,
**SUPPORTED_DEEPSEEK_MODELS,
**SUPPORTED_QWEN_MODELS,
**SUPPORTED_GPT_OSS_MODELS,
**SUPPORTED_GEMMA4_MODELS,
**SUPPORTED_QWEN35_MODELS,
}