daren/apps/rlhf/migrations/0001_initial.py
2025-06-10 18:18:28 +08:00

137 lines
7.7 KiB
Python

# Generated by Django 5.2.1 on 2025-06-10 08:10
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 = [
('chat', '0002_negotiationchat'),
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='RLHFConversation',
fields=[
('negotiation_chat', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='rlhf_extension', serialize=False, to='chat.negotiationchat')),
('is_submitted', models.BooleanField(default=False)),
],
options={
'verbose_name': 'RLHF对话',
'verbose_name_plural': 'RLHF对话',
},
),
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='ConversationSubmission',
fields=[
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
('conversation_id', models.CharField(max_length=100)),
('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)),
('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='DetailedFeedback',
fields=[
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
('conversation_id', models.CharField(max_length=100)),
('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)),
('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rlhf_detailed_feedback', to='chat.chathistory')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': '详细反馈',
'verbose_name_plural': '详细反馈',
},
),
migrations.CreateModel(
name='Feedback',
fields=[
('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)),
('conversation_id', models.CharField(max_length=100)),
('feedback_value', models.IntegerField()),
('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rlhf_feedback', to='chat.chathistory')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to=settings.AUTH_USER_MODEL)),
],
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)),
('conversation_id', models.CharField(max_length=100)),
('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)),
('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_id', 'user')},
},
),
]