Spaces:
Running
Running
| from rest_framework import serializers | |
| class PredictionSerializer(serializers.Serializer): | |
| label = serializers.CharField() | |
| confidence = serializers.FloatField() | |
| class AnalyseRequestSerializer(serializers.Serializer): | |
| image = serializers.ImageField() | |
| include_heatmap = serializers.BooleanField(default=False) | |
| include_narrative = serializers.BooleanField(default=True) | |
| # Patient context — all optional, forwarded to Groq prompt | |
| # Parsed directly from request.data in views.py (not validated here | |
| # because they are plain strings and always safe to default to "") | |
| # Listed here for documentation purposes only. | |
| class AnalyseResponseSerializer(serializers.Serializer): | |
| # Structured clinical fields — written by Groq | |
| primaryFinding = serializers.CharField() | |
| confidence = serializers.IntegerField() | |
| urgency = serializers.ChoiceField(choices=["High", "Moderate", "Low"]) | |
| urgencyText = serializers.CharField() | |
| treatmentNotes = serializers.ListField(child=serializers.CharField()) | |
| recommendedAction = serializers.CharField() | |
| referralNote = serializers.CharField() | |
| conditionCode = serializers.CharField() | |
| # Raw model output | |
| allPredictions = PredictionSerializer(many=True) | |
| heatmap_b64 = serializers.CharField(allow_null=True) | |
| model_version = serializers.CharField() |