jack 1 week ago
parent
commit
b173d1fbf1
1 changed files with 11 additions and 4 deletions
  1. 11 4
      app/core/runner/thread_runner.py

+ 11 - 4
app/core/runner/thread_runner.py

@@ -156,7 +156,8 @@ class ThreadRunner:
         chat_messages = self.__generate_chat_messages(
             MessageService.get_message_list(
                 session=self.session, thread_id=run.thread_id
-            )
+            ),
+            run,
         )
 
         tool_call_messages = []
@@ -380,12 +381,13 @@ class ThreadRunner:
                 api_key=llm_settings.OPENAI_API_KEY,
             )
 
-    def __generate_chat_messages(self, messages: List[Message]):
+    def __generate_chat_messages(self, messages: List[Message], run: Run):
         """
         根据历史信息生成 chat message
         """
 
         chat_messages = []
+        is_audio_content = True
         for message in messages:
             role = message.role
             if role == "user":
@@ -409,10 +411,15 @@ class ThreadRunner:
                         message_content.append(
                             {"type": "text", "text": content["text"]["value"]}
                         )
-                    elif content["type"] == "image_url":
+                    elif content["type"] == "image_url" and run.audio is None:
                         message_content.append(content)
-                    elif content.get("type") == "input_audio":
+                    elif (
+                        content.get("type") == "input_audio"
+                        and run.audio is not None
+                        and is_audio_content
+                    ):
                         message_content.append(content)
+                        is_audio_content = False
                 chat_messages.append(msg_util.new_message(role, message_content))
             elif role == "assistant":
                 message_content = ""