From 33f6822792b595d227044c42dc9e7e754aa0a9fb Mon Sep 17 00:00:00 2001 From: Aleksandr Mordvinov Date: Fri, 20 Mar 2026 13:05:04 +0700 Subject: [PATCH] fix: support BGE-M3 embedding (dense_embedding fallback) (#169) BGE-M3 returns dense_embedding instead of embedding; use dense_embedding as fallback when embedding is None to avoid TypeError. Made-with: Cursor Co-authored-by: AleksandrMordvinov --- reme/core/embedding/openai_embedding_model.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reme/core/embedding/openai_embedding_model.py b/reme/core/embedding/openai_embedding_model.py index 3857f782..d686c83c 100644 --- a/reme/core/embedding/openai_embedding_model.py +++ b/reme/core/embedding/openai_embedding_model.py @@ -45,7 +45,9 @@ class OpenAIEmbeddingModel(BaseEmbeddingModel): result_emb = [[] for _ in range(len(input_text))] for emb in completion.data: - result_emb[emb.index] = emb.embedding + # BGE-M3 returns dense_embedding instead of embedding; use as fallback + vec = getattr(emb, "embedding", None) or getattr(emb, "dense_embedding", None) + result_emb[emb.index] = list(vec) if vec is not None else [] return result_emb async def start(self):