From ddca6143e278fb026e166b0a89f6105de51e27b4 Mon Sep 17 00:00:00 2001 From: Anton Devson <99696803+antondevson@users.noreply.github.com> Date: Fri, 22 Aug 2025 18:34:55 -0400 Subject: [PATCH] Reverted regression in OllamaProvider.list_embedding_models_async --- letta/schemas/providers/ollama.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/letta/schemas/providers/ollama.py b/letta/schemas/providers/ollama.py index 4cd70612..066afca7 100644 --- a/letta/schemas/providers/ollama.py +++ b/letta/schemas/providers/ollama.py @@ -82,8 +82,18 @@ class OllamaProvider(OpenAIProvider): response_json = await response.json() configs = [] - for model in response_json["models"]: - embedding_dim = await self._get_model_embedding_dim(model["name"]) + for model in response_json.get("models", []): + model_name = model["name"] + model_details = await self._get_model_details_async(model_name) + if not model_details or "embedding" not in model_details.get("capabilities", []): + continue + + embedding_dim = None + model_info = model_details.get("model_info", {}) + if architecture := model_info.get("general.architecture"): + if embedding_length := model_info.get(f"{architecture}.embedding_length"): + embedding_dim = int(embedding_length) + if not embedding_dim: logger.warning(f"Ollama model {model_name} has no embedding dimension, using default {DEFAULT_EMBEDDING_DIM}") embedding_dim = DEFAULT_EMBEDDING_DIM