Update app.py
Browse files
app.py
CHANGED
|
@@ -112,6 +112,10 @@ def remove_nested_think_tags_stack(text):
|
|
| 112 |
|
| 113 |
def cleanMessages(messages: List[ChatMessage], removeThinkingContent: bool = False):
|
| 114 |
promptStrList = []
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
for message in messages:
|
| 116 |
content = message.content.strip()
|
| 117 |
content = re.sub(r"\n+", "\n", content)
|
|
@@ -581,6 +585,14 @@ async def chat_completions(request: ChatCompletionRequest):
|
|
| 581 |
if req_data.get(k) is None: req_data[k] = v
|
| 582 |
realRequest = ChatCompletionRequest(**req_data)
|
| 583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 584 |
enable_tools = ":online" in raw_model or realRequest.tools is not None
|
| 585 |
|
| 586 |
if enable_tools:
|
|
@@ -590,6 +602,8 @@ async def chat_completions(request: ChatCompletionRequest):
|
|
| 590 |
realRequest.messages[0].content += f"\n\n{ToolEngine.TOOL_SYSTEM_PROMPT}"
|
| 591 |
else:
|
| 592 |
realRequest.messages.insert(0, sys_msg)
|
|
|
|
|
|
|
| 593 |
|
| 594 |
realRequest.messages = prune_context(realRequest.messages, target_model, realRequest.max_tokens or 1024)
|
| 595 |
|
|
|
|
| 112 |
|
| 113 |
def cleanMessages(messages: List[ChatMessage], removeThinkingContent: bool = False):
|
| 114 |
promptStrList = []
|
| 115 |
+
# Safety check in case messages is None
|
| 116 |
+
if not messages:
|
| 117 |
+
return ""
|
| 118 |
+
|
| 119 |
for message in messages:
|
| 120 |
content = message.content.strip()
|
| 121 |
content = re.sub(r"\n+", "\n", content)
|
|
|
|
| 585 |
if req_data.get(k) is None: req_data[k] = v
|
| 586 |
realRequest = ChatCompletionRequest(**req_data)
|
| 587 |
|
| 588 |
+
# FIX: Handle missing messages (legacy completion API support)
|
| 589 |
+
if realRequest.messages is None:
|
| 590 |
+
if realRequest.prompt:
|
| 591 |
+
realRequest.messages = [ChatMessage(role="user", content=realRequest.prompt)]
|
| 592 |
+
else:
|
| 593 |
+
# Fallback to empty list to prevent crashes in prune_context/cleanMessages
|
| 594 |
+
realRequest.messages = []
|
| 595 |
+
|
| 596 |
enable_tools = ":online" in raw_model or realRequest.tools is not None
|
| 597 |
|
| 598 |
if enable_tools:
|
|
|
|
| 602 |
realRequest.messages[0].content += f"\n\n{ToolEngine.TOOL_SYSTEM_PROMPT}"
|
| 603 |
else:
|
| 604 |
realRequest.messages.insert(0, sys_msg)
|
| 605 |
+
else:
|
| 606 |
+
realRequest.messages.append(sys_msg)
|
| 607 |
|
| 608 |
realRequest.messages = prune_context(realRequest.messages, target_model, realRequest.max_tokens or 1024)
|
| 609 |
|