42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
from django.contrib import admin
|
|
from unfold.admin import ModelAdmin as UnfoldModelAdmin
|
|
from unfold.admin import StackedInline as UnfoldStackedInline
|
|
from .models import TranscriptionTask, AIEvaluation
|
|
|
|
class AIEvaluationInline(UnfoldStackedInline):
|
|
model = AIEvaluation
|
|
extra = 0
|
|
can_delete = False
|
|
verbose_name = "AI评估"
|
|
verbose_name_plural = "AI评估"
|
|
readonly_fields = ['created_at', 'updated_at', 'raw_response', 'reasoning']
|
|
fields = ('score', 'evaluation', 'model_selection', 'prompt', 'reasoning', 'status', 'error_message')
|
|
|
|
@admin.register(TranscriptionTask)
|
|
class TranscriptionTaskAdmin(UnfoldModelAdmin):
|
|
list_display = ['id', 'status', 'task_id', 'created_at']
|
|
list_filter = ['status', 'created_at']
|
|
search_fields = ['id', 'task_id', 'transcription', 'summary']
|
|
readonly_fields = ['id', 'created_at', 'updated_at', 'task_id']
|
|
inlines = [AIEvaluationInline]
|
|
|
|
@admin.register(AIEvaluation)
|
|
class AIEvaluationAdmin(UnfoldModelAdmin):
|
|
list_display = ['id', 'task', 'score', 'status', 'model_selection', 'created_at']
|
|
list_filter = ['status', 'model_selection', 'created_at']
|
|
search_fields = ['task__id', 'evaluation', 'reasoning']
|
|
readonly_fields = ['id', 'created_at', 'updated_at', 'raw_response']
|
|
fieldsets = (
|
|
(None, {
|
|
'fields': ('task', 'status', 'score', 'evaluation')
|
|
}),
|
|
('配置', {
|
|
'fields': ('model_selection', 'prompt'),
|
|
'classes': ('collapse',),
|
|
}),
|
|
('调试信息', {
|
|
'fields': ('raw_response', 'reasoning', 'error_message'),
|
|
'classes': ('collapse',),
|
|
}),
|
|
)
|