bloom
This commit is contained in:
28
submission/management/commands/classify_messages.py
Normal file
28
submission/management/commands/classify_messages.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
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} 个对话。"))
|
||||||
Reference in New Issue
Block a user