Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from dataclasses import dataclass | |
| from typing import Protocol | |
| from models.model_catalog import ModelInfo | |
| class BackendStatus: | |
| """Current availability of an inference backend.""" | |
| name: str | |
| available: bool | |
| detail: str | |
| class TextModelService(Protocol): | |
| """Text chat service contract.""" | |
| model: ModelInfo | |
| def chat(self, system_prompt: str, user_prompt: str) -> str: | |
| """Return a text response.""" | |
| class VisionModelService(Protocol): | |
| """Vision chat service contract.""" | |
| model: ModelInfo | |
| def vision_chat(self, has_image: bool, prompt: str, image=None) -> str: | |
| """Return a vision-language response.""" | |