fix(ai): restore dynamic baseline holt winters fit
All checks were successful
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / tests (push) Successful in 59s
CD Pipeline / build-and-deploy (push) Successful in 8m20s
CD Pipeline / post-deploy-checks (push) Successful in 1m14s

This commit is contained in:
Your Name
2026-05-06 15:30:31 +08:00
parent d3e1b61096
commit 22453161e9
3 changed files with 29 additions and 2 deletions

View File

@@ -71,7 +71,7 @@ class BaselineState:
}
@classmethod
def from_dict(cls, d: dict[str, Any]) -> "BaselineState":
def from_dict(cls, d: dict[str, Any]) -> BaselineState:
return cls(
metric_name=d["metric_name"],
mean=d["mean"],
@@ -250,6 +250,7 @@ class DynamicBaselineService:
) -> list[MetricDatapoint]:
"""從 Prometheus query_range API 抓取歷史資料1h 步進)。"""
import httpx
from src.core.config import settings
end_ts = now_taipei().timestamp()
@@ -314,7 +315,7 @@ class DynamicBaselineService:
seasonal="add" if len(arr) >= seasonal_periods * 2 else None,
seasonal_periods=seasonal_periods,
initialization_method="estimated",
).fit(optimized=True, disp=False)
).fit(optimized=True)
fitted = model.fittedvalues
residuals = arr - fitted
@@ -447,6 +448,7 @@ class DynamicBaselineService:
"""從 PostgreSQL 載入最新一筆基線記錄"""
try:
from sqlalchemy import select
from src.db.base import get_session_factory
from src.db.models import DynamicBaselineRecord