Update main.py
Browse files
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"
|
| 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 |
-
#
|
| 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 =
|
| 706 |
|
| 707 |
logger.info(f"环境变量限制: {max_images}张, 用户请求: {image_count}张, 可用API密钥: {available_keys}个, 最终生成: {final_count}张")
|
| 708 |
|
| 709 |
-
#
|
| 710 |
-
selected_keys =
|
| 711 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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"
|
| 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 |
+
|