Files
webprewviewapi/submission/management/commands/classify_messages.py
2026-04-01 05:14:56 -06:00

29 lines
981 B
Python

from django.core.management.base import BaseCommand
from prompt.models import Conversation
from submission.classifier import classify_conversation_messages
class Command(BaseCommand):
help = "为所有缺失 Bloom 等级的用户消息补全分类"
def add_arguments(self, parser):
parser.add_argument(
"--force",
action="store_true",
help="重新分类所有消息(包括已有等级的)",
)
def handle(self, *args, **options):
force = options["force"]
convs = Conversation.objects.all()
total = convs.count()
self.stdout.write(f"{total} 个对话,开始分类...")
for i, conv in enumerate(convs, 1):
classify_conversation_messages(conv.id, force=force)
self.stdout.write(f"[{i}/{total}] {conv}", ending="\r")
self.stdout.flush()
self.stdout.write(self.style.SUCCESS(f"\n完成,处理了 {total} 个对话。"))