Files
market_page/backend/ai_services/serializers.py
jeremygan2021 cb10c42d11
All checks were successful
Deploy to Server / deploy (push) Successful in 19s
tingwu_new
2026-03-11 22:15:12 +08:00

29 lines
1.7 KiB
Python

from rest_framework import serializers
from .models import TranscriptionTask, AIEvaluation, AIEvaluationTemplate
class AIEvaluationTemplateSerializer(serializers.ModelSerializer):
class Meta:
model = AIEvaluationTemplate
fields = ['id', 'name', 'model_selection', 'prompt', 'is_active', 'created_at']
class AIEvaluationSerializer(serializers.ModelSerializer):
template = AIEvaluationTemplateSerializer(read_only=True)
class Meta:
model = AIEvaluation
fields = ['id', 'template', 'score', 'evaluation', 'model_selection', 'prompt', 'reasoning', 'status', 'error_message', 'created_at', 'updated_at']
class TranscriptionTaskSerializer(serializers.ModelSerializer):
ai_evaluations = AIEvaluationSerializer(many=True, read_only=True)
project_title = serializers.CharField(source='project.title', read_only=True)
class Meta:
model = TranscriptionTask
fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at', 'transcription_data', 'summary_data', 'auto_chapters_data', 'ai_evaluations', 'project', 'project_title']
read_only_fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at', 'transcription_data', 'summary_data', 'auto_chapters_data', 'ai_evaluations', 'project_title']
class TranscriptionUploadSerializer(serializers.Serializer):
file = serializers.FileField(help_text="上传的音频文件", required=False)
file_url = serializers.URLField(help_text="音频文件的URL地址", required=False)
project_id = serializers.IntegerField(help_text="关联的参赛项目ID", required=False)