Ignore non-object embedding endpoint config (#1260)

This commit is contained in:
red person
2026-06-03 08:12:41 +03:00
committed by GitHub
parent 42ef4b6502
commit 84d54d9853
2 changed files with 27 additions and 1 deletions

View File

@@ -86,7 +86,8 @@ def _load_custom_endpoint() -> dict:
"""Load the saved custom embedding endpoint, if any.""" """Load the saved custom embedding endpoint, if any."""
try: try:
if os.path.exists(_ENDPOINT_FILE): if os.path.exists(_ENDPOINT_FILE):
return json.loads(Path(_ENDPOINT_FILE).read_text(encoding="utf-8")) data = json.loads(Path(_ENDPOINT_FILE).read_text(encoding="utf-8"))
return data if isinstance(data, dict) else {}
except Exception: except Exception:
pass pass
return {} return {}

View File

@@ -0,0 +1,25 @@
import json
import routes.embedding_routes as embedding_routes
def test_load_custom_endpoint_ignores_non_object_json(tmp_path, monkeypatch):
endpoint_file = tmp_path / "embedding_endpoint.json"
endpoint_file.write_text(json.dumps(["not", "an", "endpoint", "object"]), encoding="utf-8")
monkeypatch.setattr(embedding_routes, "_ENDPOINT_FILE", str(endpoint_file))
assert embedding_routes._load_custom_endpoint() == {}
def test_load_custom_endpoint_keeps_object_json(tmp_path, monkeypatch):
endpoint_file = tmp_path / "embedding_endpoint.json"
endpoint_file.write_text(
json.dumps({"url": "http://127.0.0.1:11434", "model": "nomic-embed-text"}),
encoding="utf-8",
)
monkeypatch.setattr(embedding_routes, "_ENDPOINT_FILE", str(endpoint_file))
assert embedding_routes._load_custom_endpoint() == {
"url": "http://127.0.0.1:11434",
"model": "nomic-embed-text",
}