fix embedding
This commit is contained in:
@@ -283,12 +283,28 @@ def embedding(
|
||||
return []
|
||||
|
||||
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"):
|
||||
return []
|
||||
|
||||
raw = data["data"][0].get("embedding")
|
||||
else:
|
||||
return []
|
||||
|
||||
if raw is None:
|
||||
return []
|
||||
|
||||
if isinstance(raw, str):
|
||||
raw = json.loads(raw)
|
||||
if not isinstance(raw, list):
|
||||
raw = list(raw)
|
||||
if not raw:
|
||||
return []
|
||||
return list[float](raw)
|
||||
|
||||
Reference in New Issue
Block a user