mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-02-02 16:45:08 +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
|
success_count = 0
|
||||||
failure_count = 0
|
failure_count = 0
|
||||||
|
case_instances = []
|
||||||
|
|
||||||
for case_data in cases:
|
if not cases:
|
||||||
success, _ = cls.add_test_case(
|
return success_count, failure_count
|
||||||
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")
|
|
||||||
)
|
|
||||||
|
|
||||||
if success:
|
cur_timestamp = current_timestamp()
|
||||||
success_count += 1
|
|
||||||
else:
|
try:
|
||||||
failure_count += 1
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
return success_count, failure_count
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user