Thang6822
Update HF Space deployment
4106e0f
from __future__ import annotations
import hashlib
from dataclasses import dataclass
from pathlib import Path
from typing import Any, Dict
RULES_PATH = Path(__file__).with_name("AI_MODEL_RULES.md")
@dataclass(frozen=True)
class ForecastRuleDocument:
path: str
version: str
content: str
default_horizon: int
recommended_context_length: int
default_line_width: int
def to_metadata(self) -> Dict[str, Any]:
return {
"path": self.path,
"version": self.version,
"default_horizon": self.default_horizon,
"recommended_context_length": self.recommended_context_length,
"default_line_width": self.default_line_width,
}
def load_forecast_rule_document(path: Path | None = None) -> ForecastRuleDocument:
rules_path = path or RULES_PATH
content = rules_path.read_text(encoding="utf-8").strip()
version = hashlib.sha256(content.encode("utf-8")).hexdigest()[:12]
return ForecastRuleDocument(
path=str(rules_path),
version=version,
content=content,
default_horizon=10,
recommended_context_length=384,
default_line_width=1,
)
FORECAST_RULE_DOCUMENT = load_forecast_rule_document()