Spaces:
Sleeping
Sleeping
File size: 2,274 Bytes
7fa723a be9fd4a 7fa723a be9fd4a 7fa723a be9fd4a 7fa723a be9fd4a 7fa723a be9fd4a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | """Production-facing AI feature readiness (generation, inspector, photo vision)."""
from __future__ import annotations
from typing import Any
from app.config import settings
from app.optimization.ai_phases import (
collect_ai_phase_warnings,
collect_ai_phases,
)
def ai_features_status() -> dict[str, Any]:
"""Safe JSON for /health: user-facing AI capabilities (no backend infra)."""
phases = collect_ai_phases()
p1 = phases["phase1"]
p2 = phases["phase2"]
p3 = phases["phase3"]
return {
"openai_api_key_configured": p1["openai_configured"],
"phase1_core_rag_live": p1["live"],
"phase2_agentic_vision_live": p2["live"],
"phase3_ai_performance_live": p3["live"],
"section_photo_vision_enabled": bool(settings.section_photo_vision_enabled),
"section_photo_vision_live": p2["capabilities"]["section_photo_vision"],
"inspector_tool_agent": p2["capabilities"]["inspector_tool_agent"],
"inspector_live": p2["capabilities"]["inspector_live"],
"notes_only_generation": p1["capabilities"]["notes_only_generation"],
"agentic_inspector_when_notes_only": p2["flags"]["agentic_inspector_when_notes_only"],
"post_generate_uses_inspector": p2["capabilities"]["post_generate_uses_inspector"],
"primary_generate_pipeline": p2["flags"]["primary_generate_pipeline"],
"chat_model": p1["flags"]["chat_model"],
"section_photo_vision_model": p2["flags"]["section_photo_vision_model"],
"inspector_body_model": p2["flags"]["inspector_body_model"],
"llm_section_validator_enabled": p1["capabilities"]["llm_section_validator"],
"production_ai_profile": p2["flags"]["production_ai_profile"],
"personalised_style_rag_enabled": p1["capabilities"]["personalised_style_rag"],
"enable_rag_upload_sanitisation": p1["capabilities"]["rag_upload_sanitisation"],
"rag_sanitisation_use_llm": bool(getattr(settings, "rag_sanitisation_use_llm", False)),
"rics_inspector": p2["rics_inspector"],
"ai_phases": phases,
}
def collect_ai_feature_warnings() -> list[str]:
"""Warnings that block or weaken user-facing AI (excludes Redis/Temporal/job queue)."""
return collect_ai_phase_warnings()
|