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 @@ async def _get_embeddings(self, input_text: list[str], **kwargs) -> list[list[fl 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):