diff --git a/astrbot/core/provider/entities.py b/astrbot/core/provider/entities.py index 99824fd0e..ffa20029e 100644 --- a/astrbot/core/provider/entities.py +++ b/astrbot/core/provider/entities.py @@ -155,7 +155,7 @@ class ProviderRequest: if self.image_urls: user_content = { "role": "user", - "content": [{"type": "text", "text": self.prompt}], + "content": [{"type": "text", "text": self.prompt if self.prompt else "[图片]"}], } for image_url in self.image_urls: if image_url.startswith("http"): diff --git a/astrbot/core/provider/sources/openai_source.py b/astrbot/core/provider/sources/openai_source.py index 8023d18d1..e945dea3e 100644 --- a/astrbot/core/provider/sources/openai_source.py +++ b/astrbot/core/provider/sources/openai_source.py @@ -497,7 +497,7 @@ class ProviderOpenAIOfficial(Provider): async def assemble_context(self, text: str, image_urls: List[str] = None) -> dict: """组装成符合 OpenAI 格式的 role 为 user 的消息段""" if image_urls: - user_content = {"role": "user", "content": [{"type": "text", "text": text}]} + user_content = {"role": "user", "content": [{"type": "text", "text": text if text else "[图片]"}]} for image_url in image_urls: if image_url.startswith("http"): image_path = await download_image_by_url(image_url)