Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, HTTPException | |
| from models import AuditResponses | |
| from analyzer import SecurityAuditAnalyzer | |
| from config import settings | |
| app = FastAPI(title="Security Audit API", description="API pour analyser les réponses d'audits de sécurité") | |
| # Initialisation de l'analyseur avec les paramètres de configuration | |
| security_analyzer = SecurityAuditAnalyzer( | |
| api_key=settings.OPENROUTER_API_KEY, | |
| model=settings.MODEL, | |
| api_url=settings.API_URL | |
| ) | |
| async def analyze_audit(responses: AuditResponses): | |
| """ | |
| Analyse les réponses d'un audit de sécurité. | |
| Args: | |
| responses: Dictionnaire de questions/réponses | |
| Returns: | |
| Résultats structurés de l'analyse | |
| """ | |
| analysis_result = security_analyzer.analyze_responses(responses.responses) | |
| if analysis_result.get("status") == "error": | |
| raise HTTPException(status_code=500, detail=analysis_result["error"]) | |
| return analysis_result | |
| async def health_check(): | |
| """Vérifie l'état de l'API.""" | |
| return {"status": "ok", "message": "API d'analyse d'audit de sécurité opérationnelle"} |