StarrySkyWorld commited on
Commit
76e3f5b
·
verified ·
1 Parent(s): f3e02f2

Update openai.py

Browse files
Files changed (1) hide show
  1. openai.py +8 -14
openai.py CHANGED
@@ -408,21 +408,15 @@ async def chat_completions(request: Request):
408
  )
409
  break
410
 
411
- # Zai ignores the system role inject into the first user message
412
- system_parts: list[str] = []
413
- filtered: list[dict] = []
414
  for msg in messages:
415
- if msg.get("role") == "system":
416
- system_parts.append(msg.get("content", ""))
417
- else:
418
- filtered.append(msg)
419
- if system_parts:
420
- system_text = "\n".join(system_parts)
421
- for i, msg in enumerate(filtered):
422
- if msg.get("role") == "user":
423
- filtered[i] = {**msg, "content": f"<SYSTEM_PROMPT>{system_text}</SYSTEM_PROMPT>\n{msg.get('content', '')}"}
424
- break
425
- messages = filtered
426
 
427
  if not prompt:
428
  return JSONResponse(
 
408
  )
409
  break
410
 
411
+ # Zai ignores multi-turn contextflatten all messages into a single
412
+ # user message with <ROLE> tags so the model sees the full conversation.
413
+ parts: list[str] = []
414
  for msg in messages:
415
+ role = msg.get("role", "user")
416
+ content = msg.get("content", "") or ""
417
+ parts.append(f"<{role.upper()}>{content}</{role.upper()}>")
418
+ flat_content = "\n".join(parts)
419
+ messages = [{"role": "user", "content": flat_content}]
 
 
 
 
 
 
420
 
421
  if not prompt:
422
  return JSONResponse(