Files
DEMO-AGENT/tests/test_regulatory_info_package_field_extract.py

37 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from review_agent.regulatory_info_package.schemas import InstructionExtractResult
from review_agent.regulatory_info_package.services.field_extract import extract_fields_by_rules, run_parallel_extract
def test_extract_fields_by_rules_finds_product_name_and_storage():
instruction = InstructionExtractResult(
source_file_name="目标产品说明书.docx",
paragraphs=["产品名称:新型冠状病毒检测试剂盒", "储存条件2-8℃保存"],
sections={},
tables=[],
component_tables=[],
front_text="产品名称:新型冠状病毒检测试剂盒\n储存条件2-8℃保存",
)
result = extract_fields_by_rules(instruction)
assert result["product_name"]["value"] == "新型冠状病毒检测试剂盒"
assert result["storage_condition"]["value"] == "2-8℃保存"
def test_run_parallel_extract_keeps_rule_result_when_llm_fails():
instruction = InstructionExtractResult(
source_file_name="目标产品说明书.docx",
paragraphs=["产品名称:测试产品"],
sections={},
tables=[],
component_tables=[],
front_text="产品名称:测试产品",
)
result = run_parallel_extract(instruction, llm_extract_func=lambda _instruction: (_ for _ in ()).throw(ValueError("bad llm")))
assert result["regex_results"]["product_name"]["value"] == "测试产品"
assert result["llm_results"] == {}
assert result["llm_error"]