mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-01-19 11:45:10 +08:00
Refactor: import_test_cases use bulk_create (#12456)
### What problem does this PR solve? import_test_cases use bulk_create ### Type of change - [x] Refactoring
This commit is contained in:
@ -225,21 +225,36 @@ class EvaluationService(CommonService):
|
||||
"""
|
||||
success_count = 0
|
||||
failure_count = 0
|
||||
case_instances = []
|
||||
|
||||
if not cases:
|
||||
return success_count, failure_count
|
||||
|
||||
cur_timestamp = current_timestamp()
|
||||
|
||||
for case_data in cases:
|
||||
success, _ = cls.add_test_case(
|
||||
dataset_id=dataset_id,
|
||||
question=case_data.get("question", ""),
|
||||
reference_answer=case_data.get("reference_answer"),
|
||||
relevant_doc_ids=case_data.get("relevant_doc_ids"),
|
||||
relevant_chunk_ids=case_data.get("relevant_chunk_ids"),
|
||||
metadata=case_data.get("metadata")
|
||||
)
|
||||
try:
|
||||
for case_data in cases:
|
||||
case_id = get_uuid()
|
||||
case_info = {
|
||||
"id": case_id,
|
||||
"dataset_id": dataset_id,
|
||||
"question": case_data.get("question", ""),
|
||||
"reference_answer": case_data.get("reference_answer"),
|
||||
"relevant_doc_ids": case_data.get("relevant_doc_ids"),
|
||||
"relevant_chunk_ids": case_data.get("relevant_chunk_ids"),
|
||||
"metadata": case_data.get("metadata"),
|
||||
"create_time": cur_timestamp
|
||||
}
|
||||
|
||||
if success:
|
||||
success_count += 1
|
||||
else:
|
||||
failure_count += 1
|
||||
case_instances.append(EvaluationCase(**case_info))
|
||||
EvaluationCase.bulk_create(case_instances, batch_size=300)
|
||||
success_count = len(case_instances)
|
||||
failure_count = 0
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Error bulk importing test cases: {str(e)}")
|
||||
failure_count = len(cases)
|
||||
success_count = 0
|
||||
|
||||
return success_count, failure_count
|
||||
|
||||
|
||||
Reference in New Issue
Block a user