Prechádzať zdrojové kódy

Update api_server: do not add time prefix for messages in custom debugging

StrayWarrior 3 dní pred
rodič
commit
7230a7b6e5
1 zmenil súbory, kde vykonal 32 pridanie a 2 odobranie
  1. 32 2
      api_server.py

+ 32 - 2
api_server.py

@@ -10,7 +10,7 @@ from datetime import datetime, timedelta
 from argparse import ArgumentParser
 
 from openai import OpenAI
-
+from message import MessageType
 import chat_service
 import configs
 import json
@@ -25,6 +25,33 @@ from user_profile_extractor import UserProfileExtractor
 app = Flask('agent_api_server')
 logger = logging_service.logger
 
+def compose_openai_chat_messages_no_time(dialogue_history, multimodal=False):
+    messages = []
+    for entry in dialogue_history:
+        role = entry['role']
+        msg_type = entry.get('type', MessageType.TEXT)
+        fmt_time = DialogueManager.format_timestamp(entry['timestamp'])
+        if msg_type in (MessageType.IMAGE_GW, MessageType.IMAGE_QW, MessageType.GIF):
+            if multimodal:
+                messages.append({
+                    "role": role,
+                    "content": [
+                        {"type": "image_url", "image_url": {"url": entry["content"]}}
+                    ]
+                })
+            else:
+                logger.warning("Image in non-multimodal mode")
+                messages.append({
+                    "role": role,
+                    "content": "[图片]"
+                })
+        else:
+            messages.append({
+                "role": role,
+                "content": f'{entry["content"]}'
+            })
+    return messages
+
 def wrap_response(code, msg=None, data=None):
     resp = {
         'code': code,
@@ -224,7 +251,10 @@ def run_chat_prompt(req_data):
         'content': prompt.format(**prompt_context)
     }
     messages = [system_prompt]
-    messages.extend(DialogueManager.compose_chat_messages_openai_compatible(dialogue_history, current_time_str))
+    if req_data['scene'] == 'custom_debugging':
+        messages.extend(compose_openai_chat_messages_no_time(dialogue_history))
+    else:
+        messages.extend(DialogueManager.compose_chat_messages_openai_compatible(dialogue_history, current_time_str))
     return run_openai_chat(messages, model_name, temperature=1, top_p=0.7, max_tokens=1024)
 
 def run_response_type_prompt(req_data):