Skip to content

Commit 28ceb94

Browse files
authored
fix: Batch generation of problems (#1905)
1 parent 2db8616 commit 28ceb94

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

apps/dataset/serializers/document_serializers.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,16 +1159,25 @@ def generate_related(self, model_id, prompt, with_valid=True):
11591159
class BatchGenerateRelated(ApiMixin, serializers.Serializer):
11601160
dataset_id = serializers.UUIDField(required=True, error_messages=ErrMessage.uuid("知识库id"))
11611161

1162-
@transaction.atomic
11631162
def batch_generate_related(self, instance: Dict, with_valid=True):
11641163
if with_valid:
11651164
self.is_valid(raise_exception=True)
11661165
document_id_list = instance.get("document_id_list")
11671166
model_id = instance.get("model_id")
11681167
prompt = instance.get("prompt")
1169-
for document_id in document_id_list:
1170-
DocumentSerializers.GenerateRelated(data={'document_id': document_id}).generate_related(model_id,
1171-
prompt)
1168+
ListenerManagement.update_status(QuerySet(Document).filter(id__in=document_id_list),
1169+
TaskType.GENERATE_PROBLEM,
1170+
State.PENDING)
1171+
ListenerManagement.update_status(QuerySet(Paragraph).filter(document_id__in=document_id_list),
1172+
TaskType.GENERATE_PROBLEM,
1173+
State.PENDING)
1174+
ListenerManagement.get_aggregation_document_status_by_query_set(
1175+
QuerySet(Document).filter(id__in=document_id_list))()
1176+
try:
1177+
for document_id in document_id_list:
1178+
generate_related_by_document_id.delay(document_id, model_id, prompt)
1179+
except AlreadyQueued as e:
1180+
pass
11721181

11731182

11741183
class FileBufferHandle:

0 commit comments

Comments
 (0)