153 lines
9.0 KiB
Python
153 lines
9.0 KiB
Python
# Generated by Django 5.1.5 on 2025-06-09 08:28
|
|
|
|
import django.db.models.deletion
|
|
import django.utils.timezone
|
|
import uuid
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='FeedbackTag',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('tag_name', models.CharField(max_length=50, unique=True)),
|
|
('tag_type', models.CharField(choices=[('positive', '正面'), ('negative', '负面')], max_length=20)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
],
|
|
options={
|
|
'verbose_name': '反馈标签',
|
|
'verbose_name_plural': '反馈标签',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='SystemConfig',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('config_key', models.CharField(max_length=50, unique=True)),
|
|
('config_value', models.TextField(blank=True, null=True)),
|
|
('config_type', models.CharField(choices=[('string', '字符串'), ('integer', '整数'), ('float', '浮点数'), ('boolean', '布尔值'), ('json', 'JSON')], default='string', max_length=20)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('updated_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
],
|
|
options={
|
|
'verbose_name': '系统配置',
|
|
'verbose_name_plural': '系统配置',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Conversation',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('is_submitted', models.BooleanField(default=False)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='conversations', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'verbose_name': '对话',
|
|
'verbose_name_plural': '对话',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='ConversationSubmission',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('title', models.CharField(blank=True, max_length=255, null=True)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('status', models.CharField(choices=[('submitted', '已提交'), ('reviewed', '已审核'), ('accepted', '已接受'), ('rejected', '已拒绝')], default='submitted', max_length=20)),
|
|
('quality_score', models.IntegerField(blank=True, null=True)),
|
|
('reviewer_notes', models.TextField(blank=True, null=True)),
|
|
('submitted_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('reviewed_at', models.DateTimeField(blank=True, null=True)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('updated_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='rlhf.conversation')),
|
|
('reviewer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviewed_submissions', to=settings.AUTH_USER_MODEL)),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'verbose_name': '对话提交',
|
|
'verbose_name_plural': '对话提交',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Message',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('role', models.CharField(choices=[('user', '用户'), ('assistant', '助手'), ('system', '系统')], max_length=20)),
|
|
('content', models.TextField()),
|
|
('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to='rlhf.conversation')),
|
|
],
|
|
options={
|
|
'verbose_name': '消息',
|
|
'verbose_name_plural': '消息',
|
|
'ordering': ['timestamp'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Feedback',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('feedback_value', models.IntegerField()),
|
|
('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to='rlhf.conversation')),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to=settings.AUTH_USER_MODEL)),
|
|
('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to='rlhf.message')),
|
|
],
|
|
options={
|
|
'verbose_name': '反馈',
|
|
'verbose_name_plural': '反馈',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='DetailedFeedback',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('feedback_type', models.CharField(choices=[('positive', '正面'), ('negative', '负面'), ('neutral', '中性')], max_length=20)),
|
|
('feedback_tags', models.TextField(blank=True, null=True)),
|
|
('custom_tags', models.TextField(blank=True, null=True)),
|
|
('custom_content', models.TextField(blank=True, null=True)),
|
|
('is_inline', models.BooleanField(default=True)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('updated_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to='rlhf.conversation')),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to=settings.AUTH_USER_MODEL)),
|
|
('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to='rlhf.message')),
|
|
],
|
|
options={
|
|
'verbose_name': '详细反馈',
|
|
'verbose_name_plural': '详细反馈',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='ConversationEvaluation',
|
|
fields=[
|
|
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
|
|
('overall_feeling', models.TextField(blank=True, null=True)),
|
|
('has_logical_issues', models.CharField(choices=[('yes', '是'), ('no', '否'), ('unsure', '不确定')], max_length=10)),
|
|
('needs_satisfied', models.CharField(choices=[('yes', '是'), ('no', '否'), ('partially', '部分')], max_length=10)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('updated_at', models.DateTimeField(default=django.utils.timezone.now)),
|
|
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evaluations', to='rlhf.conversation')),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evaluations', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'verbose_name': '对话评估',
|
|
'verbose_name_plural': '对话评估',
|
|
'unique_together': {('conversation', 'user')},
|
|
},
|
|
),
|
|
]
|