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:
Stephen Hu
2026-01-06 11:39:07 +08:00
committed by GitHub
parent aa08920e51
commit 02e6870755

View File

@ -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