tek Atrust
chore(deploy): build monolithic server for Hugging Face
d5ef46f
Raw
History Blame Contribute Delete
3.08 kB
from typing import Any
from pydantic import BaseModel, Field
class InstanceValidationRequest(BaseModel):
instance_url: str = Field(..., description="URL of the Ollama instance")
instance_type: str | None = Field(None, description="Instance type: chat, embedding, or both")
timeout_seconds: int | None = Field(30, description="Timeout for validation in seconds")
class InstanceValidationResponse(BaseModel):
is_valid: bool
instance_url: str
response_time_ms: float | None
models_available: int
error_message: str | None
capabilities: dict[str, Any]
health_status: dict[str, Any]
class ModelDiscoveryRequest(BaseModel):
instance_urls: list[str] = Field(..., description="List of Ollama instance URLs")
include_capabilities: bool = Field(True, description="Include model capability detection")
cache_ttl: int | None = Field(300, description="Cache TTL in seconds")
class ModelDiscoveryResponse(BaseModel):
total_models: int
chat_models: list[dict[str, Any]]
embedding_models: list[dict[str, Any]]
host_status: dict[str, dict[str, Any]]
discovery_errors: list[str]
unique_model_names: list[str]
class EmbeddingRouteRequest(BaseModel):
model_name: str = Field(..., description="Name of the embedding model")
instance_url: str = Field(..., description="URL of the Ollama instance")
text_sample: str | None = Field(None, description="Optional text sample for optimization")
class EmbeddingRouteResponse(BaseModel):
target_column: str
model_name: str
instance_url: str
dimensions: int
confidence: float
fallback_applied: bool
routing_strategy: str
performance_score: float | None
class ModelDiscoveryAndStoreRequest(BaseModel):
instance_urls: list[str] = Field(..., description="List of Ollama instance URLs")
force_refresh: bool = Field(False, description="Force refresh")
class StoredModelInfo(BaseModel):
name: str
host: str
model_type: str
size_mb: int | None = None
context_length: int | None = None
parameters: str | None = None
capabilities: list[str] = Field(default_factory=list)
archon_compatibility: str
compatibility_features: list[str] = Field(default_factory=list)
limitations: list[str] = Field(default_factory=list)
performance_rating: str | None = None
description: str | None = None
last_updated: str
embedding_dimensions: int | None = None
class ModelListResponse(BaseModel):
models: list[StoredModelInfo]
total_count: int
instances_checked: int
last_discovery: str | None = None
cache_status: str
class ModelCapabilityTestRequest(BaseModel):
model_name: str
instance_url: str
test_function_calling: bool = True
test_structured_output: bool = True
timeout_seconds: int = 15
class ModelCapabilityTestResponse(BaseModel):
model_name: str
instance_url: str
test_results: dict[str, Any]
compatibility_assessment: dict[str, Any]
test_duration_seconds: float
errors: list[str] = Field(default_factory=list)