chb2025 commited on
Commit
ebdbe47
·
verified ·
1 Parent(s): 83fc7be

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +15 -8
main.py CHANGED
@@ -360,7 +360,7 @@ def generate_image_stream(unique_id: int, current_timestamp: int, model: str, pr
360
  {
361
  "index": 0,
362
  "delta": {
363
- "content": f"\`\`\`\n{{\n \"prompt\":\"{prompt}\"\n}}\n\`\`\`\n"
364
  }
365
  }
366
  ],
@@ -694,21 +694,26 @@ def handle_request():
694
  if not api_keys or api_keys[0] == "":
695
  raise ValueError("API_KEYS environment variable not set")
696
 
697
- # 确保有足够的API密钥
698
  available_keys = len(api_keys)
699
  max_images = get_env_int("MAX_IMAGES_PER_REQUEST", 4)
700
 
701
  # 用户请求的图片数量不能超过环境变量限制
702
  requested_count = min(image_count, max_images)
703
 
704
- # 最终生成的图片数量不能超过可用的API密钥数量
705
- final_count = min(requested_count, available_keys)
706
 
707
  logger.info(f"环境变量限制: {max_images}张, 用户请求: {image_count}张, 可用API密钥: {available_keys}个, 最终生成: {final_count}张")
708
 
709
- # 随机选择不重复的API密钥
710
- selected_keys = random.sample(api_keys, final_count)
711
- logger.info(f"已选择 {len(selected_keys)} 个API密钥用于图像生成")
 
 
 
 
 
712
  except ValueError as e:
713
  logger.error(f"获取外部API密钥失败: {e}")
714
  return jsonify({"error": "未配置外部API密钥,请设置API_KEYS环境变量"}), 500
@@ -808,7 +813,7 @@ def handle_request():
808
  {
809
  "index": 0,
810
  "delta": {
811
- "content": f"\`\`\`\n{{\n \"prompt\":\"{safe_prompt}\",\n \"count\":{final_count}\n}}\n\`\`\`\n"
812
  }
813
  }
814
  ],
@@ -1167,3 +1172,5 @@ if __name__ == "__main__":
1167
 
1168
  # 启动服务
1169
  app.run(host="0.0.0.0", port=port)
 
 
 
360
  {
361
  "index": 0,
362
  "delta": {
363
+ "content": f"```\n{{\n \"prompt\":\"{prompt}\"\n}}\n```\n"
364
  }
365
  }
366
  ],
 
694
  if not api_keys or api_keys[0] == "":
695
  raise ValueError("API_KEYS environment variable not set")
696
 
697
+ # 确保有可用的API密钥
698
  available_keys = len(api_keys)
699
  max_images = get_env_int("MAX_IMAGES_PER_REQUEST", 4)
700
 
701
  # 用户请求的图片数量不能超过环境变量限制
702
  requested_count = min(image_count, max_images)
703
 
704
+ # 最终生成的图片数量为用户请求的数量(受环境变量限制)
705
+ final_count = requested_count
706
 
707
  logger.info(f"环境变量限制: {max_images}张, 用户请求: {image_count}张, 可用API密钥: {available_keys}个, 最终生成: {final_count}张")
708
 
709
+ # 选择API密钥,允许重复使用以实现负载均衡
710
+ selected_keys = []
711
+ for i in range(final_count):
712
+ # 循环使用可用的API密钥
713
+ key_index = i % available_keys
714
+ selected_keys.append(api_keys[key_index])
715
+
716
+ logger.info(f"已选择 {len(selected_keys)} 个API密钥用于图像生成(可能包含重复使用的密钥)")
717
  except ValueError as e:
718
  logger.error(f"获取外部API密钥失败: {e}")
719
  return jsonify({"error": "未配置外部API密钥,请设置API_KEYS环境变量"}), 500
 
813
  {
814
  "index": 0,
815
  "delta": {
816
+ "content": f"```\n{{\n \"prompt\":\"{safe_prompt}\",\n \"count\":{final_count}\n}}\n```\n"
817
  }
818
  }
819
  ],
 
1172
 
1173
  # 启动服务
1174
  app.run(host="0.0.0.0", port=port)
1175
+
1176
+