yangtb24 commited on
Commit
16a257b
·
verified ·
1 Parent(s): 99a5694

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -13
app.py CHANGED
@@ -15,7 +15,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
15
  from flask import Flask, request, jsonify, Response, stream_with_context
16
 
17
  os.environ['TZ'] = 'Asia/Shanghai'
18
- time.tzset()
19
 
20
  logging.basicConfig(level=logging.INFO,
21
  format='%(asctime)s - %(levelname)s - %(message)s')
@@ -858,6 +858,9 @@ def handsome_images_generations():
858
  siliconflow_data["safety_tolerance"] = data.get("safety_tolerance", 2)
859
  siliconflow_data["interval"] = data.get("interval", 2)
860
  siliconflow_data["output_format"] = data.get("output_format", "png")
 
 
 
861
 
862
  if siliconflow_data["width"] < 256 or siliconflow_data["width"] > 1440 or siliconflow_data["width"] % 32 != 0:
863
  siliconflow_data["width"] = 1024
@@ -898,7 +901,7 @@ def handsome_images_generations():
898
  siliconflow_data["guidance_scale"] = 0
899
  if siliconflow_data["guidance_scale"] > 100:
900
  siliconflow_data["guidance_scale"] = 100
901
- # Validate image_size
902
  if "image_size" in siliconflow_data and siliconflow_data["image_size"] not in ["1024x1024", "512x1024", "768x512", "768x1024", "1024x576", "576x1024","960x1280", "720x1440", "720x1280"]:
903
  siliconflow_data["image_size"] = "1024x1024"
904
 
@@ -1047,7 +1050,9 @@ def handsome_chat_completions():
1047
  siliconflow_data["safety_tolerance"] = data.get("safety_tolerance", 2)
1048
  siliconflow_data["interval"] = data.get("interval", 2)
1049
  siliconflow_data["output_format"] = data.get("output_format", "png")
1050
-
 
 
1051
  if siliconflow_data["width"] < 256 or siliconflow_data["width"] > 1440 or siliconflow_data["width"] % 32 != 0:
1052
  siliconflow_data["width"] = 1024
1053
  if siliconflow_data["height"] < 256 or siliconflow_data["height"] > 1440 or siliconflow_data["height"] % 32 != 0:
@@ -1067,7 +1072,7 @@ def handsome_chat_completions():
1067
  siliconflow_data["num_inference_steps"] = 20
1068
  siliconflow_data["guidance_scale"] = 7.5
1069
  siliconflow_data["prompt_enhancement"] = False
1070
-
1071
  if data.get("size"):
1072
  siliconflow_data["image_size"] = data.get("size")
1073
  if data.get("n"):
@@ -1097,7 +1102,7 @@ def handsome_chat_completions():
1097
  siliconflow_data["guidance_scale"] = 0
1098
  if siliconflow_data["guidance_scale"] > 100:
1099
  siliconflow_data["guidance_scale"] = 100
1100
-
1101
  if siliconflow_data["image_size"] not in ["1024x1024", "512x1024", "768x512", "768x1024", "1024x576", "576x1024", "960x1280", "720x1440", "720x1280"]:
1102
  siliconflow_data["image_size"] = "1024x1024"
1103
 
@@ -1188,7 +1193,6 @@ def handsome_chat_completions():
1188
  ]
1189
  }
1190
  yield f"data: {json.dumps(end_chunk_data)}\n\n".encode('utf-8')
1191
-
1192
  with data_lock:
1193
  request_timestamps.append(time.time())
1194
  token_counts.append(0)
@@ -1204,15 +1208,34 @@ def handsome_chat_completions():
1204
  "index": 0,
1205
  "delta": {
1206
  "role": "assistant",
1207
- "content": "Failed to process image data"
1208
  },
1209
- "finish_reason": "stop"
1210
  }
1211
  ]
1212
  }
1213
  yield f"data: {json.dumps(error_chunk_data)}\n\n".encode('utf-8')
1214
- yield "data: [DONE]\n\n".encode('utf-8')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1215
  return Response(stream_with_context(generate()), content_type='text/event-stream')
 
1216
  else:
1217
  response.raise_for_status()
1218
  end_time = time.time()
@@ -1274,12 +1297,14 @@ def handsome_chat_completions():
1274
  f"总共用时: {total_time:.4f}秒, "
1275
  f"使用的模型: {model_name}"
1276
  )
1277
-
1278
  with data_lock:
1279
  request_timestamps.append(time.time())
1280
  token_counts.append(0)
1281
-
1282
  return jsonify(response_data)
 
 
 
 
1283
  else:
1284
  try:
1285
  start_time = time.time()
@@ -1394,11 +1419,9 @@ def handsome_chat_completions():
1394
  f"总共用时: {total_time:.4f}秒, "
1395
  f"使用的模型: {model_name}"
1396
  )
1397
-
1398
  with data_lock:
1399
  request_timestamps.append(time.time())
1400
  token_counts.append(0)
1401
-
1402
  return jsonify(response_data)
1403
  except requests.exceptions.RequestException as e:
1404
  logging.error(f"请求转发异常: {e}")
 
15
  from flask import Flask, request, jsonify, Response, stream_with_context
16
 
17
  os.environ['TZ'] = 'Asia/Shanghai'
18
+ # time.tzset()
19
 
20
  logging.basicConfig(level=logging.INFO,
21
  format='%(asctime)s - %(levelname)s - %(message)s')
 
858
  siliconflow_data["safety_tolerance"] = data.get("safety_tolerance", 2)
859
  siliconflow_data["interval"] = data.get("interval", 2)
860
  siliconflow_data["output_format"] = data.get("output_format", "png")
861
+ seed = data.get("seed")
862
+ if isinstance(seed, int) and 0 < seed < 9999999999:
863
+ siliconflow_data["seed"] = seed
864
 
865
  if siliconflow_data["width"] < 256 or siliconflow_data["width"] > 1440 or siliconflow_data["width"] % 32 != 0:
866
  siliconflow_data["width"] = 1024
 
901
  siliconflow_data["guidance_scale"] = 0
902
  if siliconflow_data["guidance_scale"] > 100:
903
  siliconflow_data["guidance_scale"] = 100
904
+
905
  if "image_size" in siliconflow_data and siliconflow_data["image_size"] not in ["1024x1024", "512x1024", "768x512", "768x1024", "1024x576", "576x1024","960x1280", "720x1440", "720x1280"]:
906
  siliconflow_data["image_size"] = "1024x1024"
907
 
 
1050
  siliconflow_data["safety_tolerance"] = data.get("safety_tolerance", 2)
1051
  siliconflow_data["interval"] = data.get("interval", 2)
1052
  siliconflow_data["output_format"] = data.get("output_format", "png")
1053
+ seed = data.get("seed")
1054
+ if isinstance(seed, int) and 0 < seed < 9999999999:
1055
+ siliconflow_data["seed"] = seed
1056
  if siliconflow_data["width"] < 256 or siliconflow_data["width"] > 1440 or siliconflow_data["width"] % 32 != 0:
1057
  siliconflow_data["width"] = 1024
1058
  if siliconflow_data["height"] < 256 or siliconflow_data["height"] > 1440 or siliconflow_data["height"] % 32 != 0:
 
1072
  siliconflow_data["num_inference_steps"] = 20
1073
  siliconflow_data["guidance_scale"] = 7.5
1074
  siliconflow_data["prompt_enhancement"] = False
1075
+
1076
  if data.get("size"):
1077
  siliconflow_data["image_size"] = data.get("size")
1078
  if data.get("n"):
 
1102
  siliconflow_data["guidance_scale"] = 0
1103
  if siliconflow_data["guidance_scale"] > 100:
1104
  siliconflow_data["guidance_scale"] = 100
1105
+
1106
  if siliconflow_data["image_size"] not in ["1024x1024", "512x1024", "768x512", "768x1024", "1024x576", "576x1024", "960x1280", "720x1440", "720x1280"]:
1107
  siliconflow_data["image_size"] = "1024x1024"
1108
 
 
1193
  ]
1194
  }
1195
  yield f"data: {json.dumps(end_chunk_data)}\n\n".encode('utf-8')
 
1196
  with data_lock:
1197
  request_timestamps.append(time.time())
1198
  token_counts.append(0)
 
1208
  "index": 0,
1209
  "delta": {
1210
  "role": "assistant",
1211
+ "content": f"Error: {str(e)}"
1212
  },
1213
+ "finish_reason": None
1214
  }
1215
  ]
1216
  }
1217
  yield f"data: {json.dumps(error_chunk_data)}\n\n".encode('utf-8')
1218
+ end_chunk_data = {
1219
+ "id": f"chatcmpl-{uuid.uuid4()}",
1220
+ "object": "chat.completion.chunk",
1221
+ "created": int(time.time()),
1222
+ "model": model_name,
1223
+ "choices": [
1224
+ {
1225
+ "index": 0,
1226
+ "delta": {},
1227
+ "finish_reason": "stop"
1228
+ }
1229
+ ]
1230
+ }
1231
+ yield f"data: {json.dumps(end_chunk_data)}\n\n".encode('utf-8')
1232
+ logging.info(
1233
+ f"使用的key: {api_key}, "
1234
+ f"使用的模��: {model_name}"
1235
+ )
1236
+ yield "data: [DONE]\n\n".encode('utf-8')
1237
  return Response(stream_with_context(generate()), content_type='text/event-stream')
1238
+
1239
  else:
1240
  response.raise_for_status()
1241
  end_time = time.time()
 
1297
  f"总共用时: {total_time:.4f}秒, "
1298
  f"使用的模型: {model_name}"
1299
  )
 
1300
  with data_lock:
1301
  request_timestamps.append(time.time())
1302
  token_counts.append(0)
 
1303
  return jsonify(response_data)
1304
+
1305
+ except requests.exceptions.RequestException as e:
1306
+ logging.error(f"请求转发异常: {e}")
1307
+ return jsonify({"error": str(e)}), 500
1308
  else:
1309
  try:
1310
  start_time = time.time()
 
1419
  f"总共用时: {total_time:.4f}秒, "
1420
  f"使用的模型: {model_name}"
1421
  )
 
1422
  with data_lock:
1423
  request_timestamps.append(time.time())
1424
  token_counts.append(0)
 
1425
  return jsonify(response_data)
1426
  except requests.exceptions.RequestException as e:
1427
  logging.error(f"请求转发异常: {e}")