sharktide commited on
Commit
f56d5b1
·
verified ·
1 Parent(s): ecc4862

Update gen.py

Browse files
Files changed (1) hide show
  1. gen.py +11 -18
gen.py CHANGED
@@ -1200,29 +1200,29 @@ async def create_response(
1200
  sent_created = False
1201
  completed = False
1202
  buffer = ""
1203
-
1204
  async for chunk in response.body_iterator:
1205
  if isinstance(chunk, bytes):
1206
  chunk = chunk.decode("utf-8", errors="replace")
1207
  buffer += chunk
1208
-
1209
  while "\n" in buffer:
1210
  line, buffer = buffer.split("\n", 1)
1211
  line = line.rstrip("\r")
1212
  if not line:
1213
  continue
1214
-
1215
  translated, new_sent, is_done = _wrap_responses_stream_chunk(
1216
  line, response_id, model_label, sent_created
1217
  )
1218
  sent_created = new_sent
1219
-
1220
  if is_done:
1221
  completed = True
1222
-
1223
  if translated:
1224
  yield translated
1225
-
1226
  if buffer.strip():
1227
  translated, new_sent, is_done = _wrap_responses_stream_chunk(
1228
  buffer.strip(), response_id, model_label, sent_created
@@ -1232,19 +1232,12 @@ async def create_response(
1232
  completed = True
1233
  if translated:
1234
  yield translated
1235
-
 
 
1236
  if sent_created and not completed:
1237
- done_event = json.dumps({
1238
- "type": "response.completed",
1239
- "response": {
1240
- "id": response_id,
1241
- "object": "response",
1242
- "model": model_label,
1243
- "status": "completed",
1244
- "output": [],
1245
- "usage": None,
1246
- },
1247
- })
1248
  yield f"data: {done_event}\n\n"
1249
 
1250
  return StreamingResponse(
 
1200
  sent_created = False
1201
  completed = False
1202
  buffer = ""
1203
+
1204
  async for chunk in response.body_iterator:
1205
  if isinstance(chunk, bytes):
1206
  chunk = chunk.decode("utf-8", errors="replace")
1207
  buffer += chunk
1208
+
1209
  while "\n" in buffer:
1210
  line, buffer = buffer.split("\n", 1)
1211
  line = line.rstrip("\r")
1212
  if not line:
1213
  continue
1214
+
1215
  translated, new_sent, is_done = _wrap_responses_stream_chunk(
1216
  line, response_id, model_label, sent_created
1217
  )
1218
  sent_created = new_sent
1219
+
1220
  if is_done:
1221
  completed = True
1222
+
1223
  if translated:
1224
  yield translated
1225
+
1226
  if buffer.strip():
1227
  translated, new_sent, is_done = _wrap_responses_stream_chunk(
1228
  buffer.strip(), response_id, model_label, sent_created
 
1232
  completed = True
1233
  if translated:
1234
  yield translated
1235
+
1236
+ print(f"[RESPONSES STREAM] generator exhausted. sent_created={sent_created} completed={completed}")
1237
+
1238
  if sent_created and not completed:
1239
+ print("[RESPONSES STREAM] guard firing — upstream closed without [DONE]")
1240
+ done_event = json.dumps({...})
 
 
 
 
 
 
 
 
 
1241
  yield f"data: {done_event}\n\n"
1242
 
1243
  return StreamingResponse(