创赢未来评分系统 - 初始化提交(移除大文件)

This commit is contained in:
爽哒哒
2026-03-18 22:28:45 +08:00
commit f26d35da66
315 changed files with 36043 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# Generated by Django 6.0.1 on 2026-03-11 05:11
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='TranscriptionTask',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('file_url', models.URLField(max_length=1024, verbose_name='文件链接')),
('task_id', models.CharField(blank=True, max_length=100, null=True, verbose_name='听悟任务ID')),
('status', models.CharField(choices=[('PENDING', '等待中'), ('PROCESSING', '处理中'), ('SUCCEEDED', '成功'), ('FAILED', '失败')], default='PENDING', max_length=20, verbose_name='状态')),
('transcription', models.TextField(blank=True, null=True, verbose_name='逐字稿')),
('summary', models.TextField(blank=True, null=True, verbose_name='AI总结')),
('error_message', models.TextField(blank=True, null=True, verbose_name='错误信息')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
],
options={
'verbose_name': '转写任务',
'verbose_name_plural': '转写任务',
'ordering': ['-created_at'],
},
),
]

View File

@@ -0,0 +1,23 @@
# Generated by Django 6.0.1 on 2026-03-11 05:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='transcriptiontask',
name='evaluation',
field=models.TextField(blank=True, null=True, verbose_name='AI评语'),
),
migrations.AddField(
model_name='transcriptiontask',
name='score',
field=models.IntegerField(blank=True, help_text='基于转写内容的评分', null=True, verbose_name='AI评分'),
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 6.0.1 on 2026-03-11 12:30
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0002_transcriptiontask_evaluation_transcriptiontask_score'),
]
operations = [
migrations.AddField(
model_name='transcriptiontask',
name='auto_chapters_data',
field=models.JSONField(blank=True, help_text='阿里云返回的AutoChapters完整JSON', null=True, verbose_name='章节原始数据'),
),
migrations.AddField(
model_name='transcriptiontask',
name='summary_data',
field=models.JSONField(blank=True, help_text='阿里云返回的Summarization完整JSON', null=True, verbose_name='总结原始数据'),
),
migrations.AddField(
model_name='transcriptiontask',
name='transcription_data',
field=models.JSONField(blank=True, help_text='阿里云返回的Transcription完整JSON', null=True, verbose_name='转写原始数据'),
),
]

View File

@@ -0,0 +1,44 @@
# Generated by Django 6.0.1 on 2026-03-11 12:44
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0003_transcriptiontask_auto_chapters_data_and_more'),
]
operations = [
migrations.RemoveField(
model_name='transcriptiontask',
name='evaluation',
),
migrations.RemoveField(
model_name='transcriptiontask',
name='score',
),
migrations.CreateModel(
name='AIEvaluation',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.IntegerField(blank=True, help_text='0-100分', null=True, verbose_name='AI评分')),
('evaluation', models.TextField(blank=True, null=True, verbose_name='AI评语')),
('model_selection', models.CharField(default='qwen-plus', help_text='例如: qwen-plus, qwen-turbo, qwen-max', max_length=50, verbose_name='模型选择')),
('prompt', models.TextField(default='你是一个专业的评分助手。请根据提供的转写内容对内容质量、逻辑清晰度、语言表达等方面进行综合评分0-100分并给出详细的评语。请以JSON格式返回包含"score""evaluation"字段。', help_text='用于指导AI评分的提示词', verbose_name='评分提示词')),
('raw_response', models.JSONField(blank=True, help_text='大模型返回的完整JSON', null=True, verbose_name='原始响应')),
('reasoning', models.TextField(blank=True, help_text='AI的推理过程如果有', null=True, verbose_name='推理过程')),
('status', models.CharField(choices=[('PENDING', '等待中'), ('PROCESSING', '生成中'), ('COMPLETED', '已完成'), ('FAILED', '失败')], default='PENDING', max_length=20, verbose_name='评估状态')),
('error_message', models.TextField(blank=True, null=True, verbose_name='错误信息')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
('task', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='ai_evaluation', to='ai_services.transcriptiontask', verbose_name='关联任务')),
],
options={
'verbose_name': 'AI智能评估',
'verbose_name_plural': 'AI智能评估',
'ordering': ['-created_at'],
},
),
]

View File

@@ -0,0 +1,55 @@
# Generated by Django 6.0.1 on 2026-03-11 13:00
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0004_remove_transcriptiontask_evaluation_and_more'),
]
operations = [
migrations.CreateModel(
name='AIEvaluationTemplate',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(help_text='例如:销售话术评分、逻辑性分析', max_length=100, verbose_name='模板名称')),
('model_selection', models.CharField(default='qwen-plus', help_text='例如: qwen-plus, qwen-turbo, qwen-max', max_length=50, verbose_name='模型选择')),
('prompt', models.TextField(default='你是一个专业的评分助手。请根据提供的转写内容对内容质量、逻辑清晰度、语言表达等方面进行综合评分0-100分并给出详细的评语。请以JSON格式返回包含"score""evaluation"字段。', help_text='用于指导AI评分的提示词', verbose_name='评分提示词')),
('is_active', models.BooleanField(default=True, help_text='启用后,新的转写任务完成后将自动使用此模板进行评估', verbose_name='是否启用')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
],
options={
'verbose_name': 'AI评估模板',
'verbose_name_plural': 'AI评估模板',
'ordering': ['-created_at'],
},
),
migrations.AlterModelOptions(
name='aievaluation',
options={'ordering': ['-created_at'], 'verbose_name': 'AI评估结果', 'verbose_name_plural': 'AI评估结果'},
),
migrations.AlterField(
model_name='aievaluation',
name='model_selection',
field=models.CharField(default='qwen-plus', max_length=50, verbose_name='模型选择'),
),
migrations.AlterField(
model_name='aievaluation',
name='prompt',
field=models.TextField(verbose_name='评分提示词'),
),
migrations.AlterField(
model_name='aievaluation',
name='task',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ai_evaluations', to='ai_services.transcriptiontask', verbose_name='关联任务'),
),
migrations.AddField(
model_name='aievaluation',
name='template',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluations', to='ai_services.aievaluationtemplate', verbose_name='使用的模板'),
),
]

View File

@@ -0,0 +1,20 @@
# Generated by Django 6.0.1 on 2026-03-11 14:10
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0005_aievaluationtemplate_alter_aievaluation_options_and_more'),
('competition', '0003_competition_project_visibility'),
]
operations = [
migrations.AddField(
model_name='transcriptiontask',
name='project',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='transcription_tasks', to='competition.project', verbose_name='关联参赛项目'),
),
]

View File

@@ -0,0 +1,20 @@
# Generated by Django 6.0.1 on 2026-03-11 15:03
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0006_transcriptiontask_project'),
('competition', '0003_competition_project_visibility'),
]
operations = [
migrations.AddField(
model_name='aievaluationtemplate',
name='score_dimension',
field=models.ForeignKey(blank=True, help_text='如果同步到比赛评分,优先使用此维度。未填写则默认使用"AI Rating"或包含"AI"的维度', null=True, on_delete=django.db.models.deletion.SET_NULL, to='competition.scoredimension', verbose_name='关联评分维度'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 6.0.1 on 2026-03-17 15:55
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0007_aievaluationtemplate_score_dimension'),
]
operations = [
migrations.AddField(
model_name='aievaluationtemplate',
name='is_default',
field=models.BooleanField(default=False, help_text='默认模板会评价所有比赛,非默认模板且未关联评分维度时不会自动评价', verbose_name='是否为默认模板'),
),
]

View File

@@ -0,0 +1,23 @@
# Generated by Django 4.2.29 on 2026-03-18 12:00
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ai_services', '0008_add_is_default_to_template'),
]
operations = [
migrations.AlterField(
model_name='aievaluation',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='aievaluationtemplate',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]