Update app.py
Browse files
app.py
CHANGED
|
@@ -583,19 +583,49 @@ def handsome_chat_completions():
|
|
| 583 |
|
| 584 |
if model_name in image_models:
|
| 585 |
# Handle image generation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 586 |
# Map OpenAI-style parameters to SiliconFlow's parameters
|
| 587 |
siliconflow_data = {
|
| 588 |
"model": model_name,
|
| 589 |
-
"prompt":
|
| 590 |
-
"image_size":
|
| 591 |
-
"batch_size":
|
| 592 |
-
"num_inference_steps":
|
| 593 |
-
"guidance_scale":
|
| 594 |
-
"
|
| 595 |
-
"seed": data.get("seed"),
|
| 596 |
-
"prompt_enhancement": False,
|
| 597 |
}
|
| 598 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 599 |
# Parameter validation and adjustments
|
| 600 |
if siliconflow_data["batch_size"] < 1:
|
| 601 |
siliconflow_data["batch_size"] = 1
|
|
|
|
| 583 |
|
| 584 |
if model_name in image_models:
|
| 585 |
# Handle image generation
|
| 586 |
+
user_content = ""
|
| 587 |
+
messages = data.get("messages", [])
|
| 588 |
+
for message in messages:
|
| 589 |
+
if message["role"] == "user":
|
| 590 |
+
if isinstance(message["content"], str):
|
| 591 |
+
user_content += message["content"] + " "
|
| 592 |
+
elif isinstance(message["content"], list):
|
| 593 |
+
for item in message["content"]:
|
| 594 |
+
if (
|
| 595 |
+
isinstance(item, dict) and
|
| 596 |
+
item.get("type") == "text"
|
| 597 |
+
):
|
| 598 |
+
user_content += (
|
| 599 |
+
item.get("text", "") +
|
| 600 |
+
" "
|
| 601 |
+
)
|
| 602 |
+
user_content = user_content.strip()
|
| 603 |
+
|
| 604 |
# Map OpenAI-style parameters to SiliconFlow's parameters
|
| 605 |
siliconflow_data = {
|
| 606 |
"model": model_name,
|
| 607 |
+
"prompt": user_content,
|
| 608 |
+
"image_size": "1024x1024", # Default value
|
| 609 |
+
"batch_size": 1, # Default value
|
| 610 |
+
"num_inference_steps": 20, # Default value
|
| 611 |
+
"guidance_scale": 7.5, # Default value
|
| 612 |
+
"prompt_enhancement": False, # Default value
|
|
|
|
|
|
|
| 613 |
}
|
| 614 |
+
|
| 615 |
+
# Override with user's params (if provided)
|
| 616 |
+
if data.get("size"):
|
| 617 |
+
siliconflow_data["image_size"] = data.get("size")
|
| 618 |
+
if data.get("n"):
|
| 619 |
+
siliconflow_data["batch_size"] = data.get("n")
|
| 620 |
+
if data.get("steps"):
|
| 621 |
+
siliconflow_data["num_inference_steps"] = data.get("steps")
|
| 622 |
+
if data.get("guidance_scale"):
|
| 623 |
+
siliconflow_data["guidance_scale"] = data.get("guidance_scale")
|
| 624 |
+
if data.get("negative_prompt"):
|
| 625 |
+
siliconflow_data["negative_prompt"] = data.get("negative_prompt")
|
| 626 |
+
if data.get("seed"):
|
| 627 |
+
siliconflow_data["seed"] = data.get("seed")
|
| 628 |
+
|
| 629 |
# Parameter validation and adjustments
|
| 630 |
if siliconflow_data["batch_size"] < 1:
|
| 631 |
siliconflow_data["batch_size"] = 1
|