Spaces:
Sleeping
Sleeping
| """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() | |