fix(ai): bind PixelRAG VLM worker to selected route
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
This commit is contained in:
@@ -204,44 +204,41 @@ def test_pixelrag_vlm_replay_worker_auto_selects_installed_candidate(tmp_path, m
|
||||
},
|
||||
)
|
||||
|
||||
class FakeOllama:
|
||||
def __init__(self, model):
|
||||
self.model = model
|
||||
|
||||
def generate(self, *args, **kwargs):
|
||||
assert kwargs["model"] == "gemma3:4b"
|
||||
return SimpleNamespace(
|
||||
success=True,
|
||||
content=json.dumps({
|
||||
"blocked_page_detected": False,
|
||||
"fields": {
|
||||
"title": {
|
||||
"value": "防曬乳 SPF50",
|
||||
"confidence": 0.92,
|
||||
"evidence_refs": ["tile:1"],
|
||||
},
|
||||
"price": {
|
||||
"value": "399",
|
||||
"confidence": 0.88,
|
||||
"evidence_refs": ["tile:1"],
|
||||
},
|
||||
def fake_generate_exact_host(prompt, **kwargs):
|
||||
assert kwargs["host"] == "http://34.21.145.224:11434"
|
||||
assert kwargs["model"] == "gemma3:4b"
|
||||
return SimpleNamespace(
|
||||
success=True,
|
||||
content=json.dumps({
|
||||
"blocked_page_detected": False,
|
||||
"fields": {
|
||||
"title": {
|
||||
"value": "防曬乳 SPF50",
|
||||
"confidence": 0.92,
|
||||
"evidence_refs": ["tile:1"],
|
||||
},
|
||||
"quality": {
|
||||
"overall_confidence": 0.90,
|
||||
"missing_required_fields": [],
|
||||
"requires_identity_matcher_replay": True,
|
||||
"requires_promotion_gate": True,
|
||||
"price": {
|
||||
"value": "399",
|
||||
"confidence": 0.88,
|
||||
"evidence_refs": ["tile:1"],
|
||||
},
|
||||
}),
|
||||
model="gemma3:4b",
|
||||
error=None,
|
||||
total_duration=1.0,
|
||||
host="http://34.21.145.224:11434",
|
||||
input_tokens=10,
|
||||
output_tokens=50,
|
||||
)
|
||||
},
|
||||
"quality": {
|
||||
"overall_confidence": 0.90,
|
||||
"missing_required_fields": [],
|
||||
"requires_identity_matcher_replay": True,
|
||||
"requires_promotion_gate": True,
|
||||
},
|
||||
}),
|
||||
model="gemma3:4b",
|
||||
error=None,
|
||||
total_duration=1.0,
|
||||
host="http://34.21.145.224:11434",
|
||||
input_tokens=10,
|
||||
output_tokens=50,
|
||||
)
|
||||
|
||||
monkeypatch.setattr(service, "OllamaService", FakeOllama)
|
||||
monkeypatch.setattr(service, "_generate_exact_host", fake_generate_exact_host)
|
||||
payload = service.run_pixelrag_ollama_vlm_replay_worker(
|
||||
artifact_root=tmp_path,
|
||||
platform="shopee_tw",
|
||||
@@ -253,7 +250,9 @@ def test_pixelrag_vlm_replay_worker_auto_selects_installed_candidate(tmp_path, m
|
||||
|
||||
assert payload["model"] == "gemma3:4b"
|
||||
assert payload["configured_model"] == "minicpm-v:latest"
|
||||
assert payload["route_candidate_host"] == "http://34.21.145.224:11434"
|
||||
assert payload["route_readiness"]["summary"]["candidate_model"] == "gemma3:4b"
|
||||
assert payload["worker_items"][0]["route_candidate_host"] == "http://34.21.145.224:11434"
|
||||
assert payload["summary"]["executed_ok_count"] == 1
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user