From f01dc474efd5124658e4362d5d7fb7b633b9b692 Mon Sep 17 00:00:00 2001 From: Rat Date: Wed, 3 Jun 2026 10:42:04 +0800 Subject: [PATCH] fix(gemini-embedding): wrap batch embedding texts in Content to avoid collapse on gemini-embedding-2 (#8537) * fix(provider): wrap batch embedding texts in Content to avoid collapse on gemini-embedding-2 * fix(gemini_embedding): format list comprehension for better readability --------- Co-authored-by: Rat0323 Co-authored-by: Soulter <905617992@qq.com> --- astrbot/core/provider/sources/gemini_embedding_source.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/astrbot/core/provider/sources/gemini_embedding_source.py b/astrbot/core/provider/sources/gemini_embedding_source.py index 61ba9cadb..5c14ffbd0 100644 --- a/astrbot/core/provider/sources/gemini_embedding_source.py +++ b/astrbot/core/provider/sources/gemini_embedding_source.py @@ -1,4 +1,3 @@ -from typing import cast from google import genai from google.genai import types @@ -61,9 +60,12 @@ class GeminiEmbeddingProvider(EmbeddingProvider): async def get_embeddings(self, text: list[str]) -> list[list[float]]: """批量获取文本的嵌入""" try: + contents = [ + types.Content(parts=[types.Part.from_text(text=s)]) for s in text + ] result = await self.client.models.embed_content( model=self.model, - contents=cast(types.ContentListUnion, text), + contents=contents, config=types.EmbedContentConfig( output_dimensionality=self.get_dim(), ),