OffGridSchedula / tests /test_inference_seam.py
ParetoOptimal's picture
Initial Commit
0366d65
Raw
History Blame Contribute Delete
1.76 kB
"""Configurable inference seam (server/model.py) — env-selected, network-free."""
from server import model
def _fake_resp(content):
class R:
def raise_for_status(self):
pass
def json(self):
return {"choices": [{"message": {"content": content}}], "usage": {}}
return R()
def test_remote_branch_used_when_base_url_set(monkeypatch):
monkeypatch.setattr(model, "INFERENCE_BASE_URL", "http://localhost:9/v1")
# if the local llama.cpp path were taken, get_llm would be called -> blow up
monkeypatch.setattr(model, "get_llm", lambda: (_ for _ in ()).throw(AssertionError("local used")))
calls = {}
def fake_post(url, json, headers, timeout):
calls["url"] = url
calls["body"] = json
return _fake_resp('{"events": []}')
monkeypatch.setattr("requests.post", fake_post)
out = model.complete_json([{"role": "user", "content": "hi"}], {"type": "object"})
assert out == '{"events": []}'
assert calls["url"].endswith("/chat/completions")
assert calls["body"]["response_format"]["type"] == "json_schema"
def test_local_branch_when_base_url_unset(monkeypatch):
monkeypatch.setattr(model, "INFERENCE_BASE_URL", "")
def no_network(*a, **k):
raise AssertionError("remote must not be called when INFERENCE_BASE_URL is unset")
monkeypatch.setattr("requests.post", no_network)
class FakeLLM:
def create_chat_completion(self, **kw):
return {"choices": [{"message": {"content": "{}"}}], "usage": {}}
monkeypatch.setattr(model, "get_llm", lambda: FakeLLM())
assert model.complete_json([{"role": "user", "content": "hi"}], {"type": "object"}) == "{}"