yym68686 commited on
Commit
6257666
·
1 Parent(s): 0f49d25

🐛 Bug: Fix the bug where the response ID is the same every time.

Browse files
Files changed (1) hide show
  1. response.py +6 -1
response.py CHANGED
@@ -186,6 +186,9 @@ async def fetch_vertex_claude_response_stream(client, url, headers, payload, mod
186
  yield "data: [DONE]" + end_of_line
187
 
188
  async def fetch_gpt_response_stream(client, url, headers, payload):
 
 
 
189
  async with client.stream('POST', url, headers=headers, json=payload) as response:
190
  error_message = await check_response(response, "fetch_gpt_response_stream")
191
  if error_message:
@@ -199,7 +202,9 @@ async def fetch_gpt_response_stream(client, url, headers, payload):
199
  line, buffer = buffer.split("\n", 1)
200
  # logger.info("line: %s", repr(line))
201
  if line and line != "data: " and line != "data:" and not line.startswith(": "):
202
- yield line.strip() + end_of_line
 
 
203
 
204
  async def fetch_cloudflare_response_stream(client, url, headers, payload, model):
205
  timestamp = int(datetime.timestamp(datetime.now()))
 
186
  yield "data: [DONE]" + end_of_line
187
 
188
  async def fetch_gpt_response_stream(client, url, headers, payload):
189
+ timestamp = int(datetime.timestamp(datetime.now()))
190
+ random.seed(timestamp)
191
+ random_str = ''.join(random.choices(string.ascii_letters + string.digits, k=29))
192
  async with client.stream('POST', url, headers=headers, json=payload) as response:
193
  error_message = await check_response(response, "fetch_gpt_response_stream")
194
  if error_message:
 
202
  line, buffer = buffer.split("\n", 1)
203
  # logger.info("line: %s", repr(line))
204
  if line and line != "data: " and line != "data:" and not line.startswith(": "):
205
+ line = json.loads(line.lstrip("data: "))
206
+ line['id'] = f"chatcmpl-{random_str}"
207
+ yield "data: " + json.dumps(line).strip() + end_of_line
208
 
209
  async def fetch_cloudflare_response_stream(client, url, headers, payload, model):
210
  timestamp = int(datetime.timestamp(datetime.now()))