From 6cb34c7c744f784140687e1dae4d9292fe398af5 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Sun, 24 May 2026 00:56:18 -0400 Subject: [PATCH] fix embedding --- vibe_bot/llama_wrapper.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/vibe_bot/llama_wrapper.py b/vibe_bot/llama_wrapper.py index 07f5422..33f1a7f 100644 --- a/vibe_bot/llama_wrapper.py +++ b/vibe_bot/llama_wrapper.py @@ -283,12 +283,28 @@ def embedding( return [] data = resp.json() - if not data.get("data"): + + # 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 [] - raw = data["data"][0].get("embedding") if isinstance(raw, str): raw = json.loads(raw) if not isinstance(raw, list): raw = list(raw) + if not raw: + return [] return list[float](raw)