tingwu_new
All checks were successful
Deploy to Server / deploy (push) Successful in 16s

This commit is contained in:
jeremygan2021
2026-03-11 14:43:06 +08:00
parent c750dce569
commit d7f9d7ed8b
2 changed files with 28 additions and 3 deletions

View File

@@ -4,5 +4,8 @@ from .models import TranscriptionTask
class TranscriptionTaskSerializer(serializers.ModelSerializer): class TranscriptionTaskSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = TranscriptionTask model = TranscriptionTask
fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at'] fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at', 'score', 'evaluation']
read_only_fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at'] read_only_fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at', 'score', 'evaluation']
class TranscriptionUploadSerializer(serializers.Serializer):
file = serializers.FileField(help_text="上传的音频文件")

View File

@@ -6,8 +6,9 @@ from rest_framework.response import Response
from rest_framework.parsers import MultiPartParser, FormParser, JSONParser from rest_framework.parsers import MultiPartParser, FormParser, JSONParser
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
from django.conf import settings from django.conf import settings
from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
from .models import TranscriptionTask from .models import TranscriptionTask
from .serializers import TranscriptionTaskSerializer from .serializers import TranscriptionTaskSerializer, TranscriptionUploadSerializer
from .services import AliyunTingwuService from .services import AliyunTingwuService
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -57,6 +58,21 @@ class TranscriptionTaskViewSet(viewsets.ModelViewSet):
serializer_class = TranscriptionTaskSerializer serializer_class = TranscriptionTaskSerializer
parser_classes = (MultiPartParser, FormParser) parser_classes = (MultiPartParser, FormParser)
@extend_schema(
request={
'multipart/form-data': {
'type': 'object',
'properties': {
'file': {
'type': 'string',
'format': 'binary'
}
},
'required': ['file']
}
},
responses={201: TranscriptionTaskSerializer}
)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
""" """
上传音频文件并创建听悟转写任务 上传音频文件并创建听悟转写任务
@@ -113,6 +129,12 @@ class TranscriptionTaskViewSet(viewsets.ModelViewSet):
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@action(detail=True, methods=['get']) @action(detail=True, methods=['get'])
@extend_schema(
parameters=[
OpenApiParameter("id", OpenApiTypes.UUID, OpenApiParameter.PATH, description="Task ID"),
],
responses={200: TranscriptionTaskSerializer}
)
def refresh_status(self, request, pk=None): def refresh_status(self, request, pk=None):
""" """
刷新任务状态并获取结果 刷新任务状态并获取结果