| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import asyncio
- from app.agents.runtime import AgentInvocationResult
- from app.services import extraction_accuracy
- from app.services.extraction_accuracy import judge_extraction_edit
- def test_edit_judgement_uses_llm_result(monkeypatch) -> None:
- class FakeRuntime:
- enabled = True
- async def invoke(self, **kwargs):
- return AgentInvocationResult(
- status="success",
- output='{"is_extraction_error": false, "reason": "仅调整显示格式", "confidence": 0.96}',
- model="test-model",
- )
- monkeypatch.setattr(extraction_accuracy, "get_agent_runtime", lambda: FakeRuntime())
- result = asyncio.run(
- judge_extraction_edit(
- field_name="检测地点",
- original_value="12煤、22煤采掘工作面",
- edited_value="12煤和22煤采掘工作面",
- extraction_id="test",
- )
- )
- assert result.is_extraction_error is False
- assert result.source == "llm"
- assert result.confidence == 0.96
- def test_edit_judgement_fallback_ignores_format_only_change(monkeypatch) -> None:
- class DisabledRuntime:
- enabled = False
- monkeypatch.setattr(extraction_accuracy, "get_agent_runtime", lambda: DisabledRuntime())
- result = asyncio.run(
- judge_extraction_edit(
- field_name="检测项目",
- original_value="总粉尘;粉尘分散度;游离二氧化硅",
- edited_value="总粉尘、粉尘分散度、游离二氧化硅",
- extraction_id="test",
- )
- )
- assert result.is_extraction_error is False
- assert result.source == "fallback"
|