| from typing import Any |
|
|
| from fastapi import HTTPException |
|
|
| from models.llama_3_8b import Llama3_8B |
| from models.mistral_7b import Mistral_7b |
| from models.qwen_2_5 import Qwen2_5 |
| from models.deepseek_v3 import DeepSeek_V3 |
| from models.tiny_aya import TinyAya |
|
|
| |
| |
|
|
|
|
| def build_models(hf_token: str) -> dict[str, Any]: |
| return { |
| "Llama-3-8B": Llama3_8B(token=hf_token), |
| "Mistral-7B": Mistral_7b(token=hf_token), |
| "Qwen-2.5": Qwen2_5(token=hf_token), |
| "DeepSeek-V3": DeepSeek_V3(token=hf_token), |
| "TinyAya": TinyAya(token=hf_token), |
| } |
|
|
|
|
| def resolve_model(name: str, models: dict[str, Any]) -> tuple[str, Any]: |
| aliases = { |
| "llama": "Llama-3-8B", |
| "mistral": "Mistral-7B", |
| "qwen": "Qwen-2.5", |
| "deepseek": "DeepSeek-V3", |
| "tinyaya": "TinyAya", |
| } |
| model_key = aliases.get(name.lower(), name) |
| if model_key not in models: |
| allowed = ", ".join(models.keys()) |
| raise HTTPException(status_code=400, detail=f"Unknown model '{name}'. Use one of: {allowed}") |
| return model_key, models[model_key] |
|
|