fix embedding

This commit is contained in:
2026-05-24 00:56:18 -04:00
parent 0df03c9668
commit 6cb34c7c74
+17 -1
View File
@@ -283,12 +283,28 @@ def embedding(
return [] return []
data = resp.json() data = resp.json()
# Handle both OpenAI-style response ({"data": [...]}) and
# Ollama-style response ([{...}]) where the API returns a list directly
if isinstance(data, list):
first = data[0]
if not isinstance(first, dict):
return []
raw = first.get("embedding")
elif isinstance(data, dict):
if not data.get("data"): if not data.get("data"):
return [] return []
raw = data["data"][0].get("embedding") raw = data["data"][0].get("embedding")
else:
return []
if raw is None:
return []
if isinstance(raw, str): if isinstance(raw, str):
raw = json.loads(raw) raw = json.loads(raw)
if not isinstance(raw, list): if not isinstance(raw, list):
raw = list(raw) raw = list(raw)
if not raw:
return []
return list[float](raw) return list[float](raw)