daren_project/user_management/management/commands/create_test_chat_data.py

55 lines
2.2 KiB
Python
Raw Normal View History

from django.core.management.base import BaseCommand
from django.contrib.auth import get_user_model
from user_management.models import ChatHistory
from django.utils import timezone
import uuid
User = get_user_model()
class Command(BaseCommand):
help = '创建聊天测试数据'
def handle(self, *args, **kwargs):
try:
# 获取测试用户
user = User.objects.first()
if not user:
self.stdout.write(self.style.ERROR('没有找到用户,请先创建用户'))
return
# 创建3个不同的对话
for i in range(3):
conversation_id = f"conv_{uuid.uuid4().hex[:10]}"
dataset_id = f"dataset_{i+1}"
dataset_name = f"测试数据集_{i+1}"
# 每个对话创建3轮问答
for j in range(3):
# 用户问题
ChatHistory.objects.create(
user=user,
dataset_id=dataset_id,
dataset_name=dataset_name,
conversation_id=conversation_id,
role='user',
content=f"这是第{i+1}个数据集的第{j+1}个问题?",
question=f"这是第{i+1}个数据集的第{j+1}个问题?",
answer="",
)
# AI回答
ChatHistory.objects.create(
user=user,
dataset_id=dataset_id,
dataset_name=dataset_name,
conversation_id=conversation_id,
role='assistant',
content=f"这是第{i+1}个数据集的第{j+1}个回答。",
question="",
answer=f"这是第{i+1}个数据集的第{j+1}个回答。",
)
self.stdout.write(self.style.SUCCESS('成功创建测试聊天数据'))
except Exception as e:
self.stdout.write(self.style.ERROR(f'创建测试数据失败: {str(e)}'))