Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
CHANGED
|
@@ -40,17 +40,20 @@ async def 执行云端翻译(请求参数: 翻译请求):
|
|
| 40 |
model_id = 请求参数.model_id
|
| 41 |
|
| 42 |
if 请求参数.image_base64:
|
|
|
|
| 43 |
sys_prompt = f"""你是一个 ComfyUI 节点翻译专家。请分析用户提供的节点截图,提取并翻译为 {target_language}。
|
| 44 |
-
【提取
|
| 45 |
-
1.
|
| 46 |
-
2. 左
|
| 47 |
-
3.
|
| 48 |
-
4.
|
|
|
|
| 49 |
|
| 50 |
-
【输出格式
|
| 51 |
{{
|
| 52 |
-
"
|
| 53 |
-
|
|
|
|
| 54 |
"inputs": {{"英文变量名": "中文翻译"}},
|
| 55 |
"widgets": {{"英文变量名": "中文翻译"}},
|
| 56 |
"outputs": {{"英文变量名": "中文翻译"}},
|
|
@@ -72,7 +75,6 @@ async def 执行云端翻译(请求参数: 翻译请求):
|
|
| 72 |
else:
|
| 73 |
raise HTTPException(status_code=400, detail="必须提供 data 或 image_base64")
|
| 74 |
|
| 75 |
-
# 完整恢复的重试机制与 JSON 清洗防御
|
| 76 |
最大重试次数 = 3
|
| 77 |
for 尝试次数 in range(最大重试次数):
|
| 78 |
try:
|
|
|
|
| 40 |
model_id = 请求参数.model_id
|
| 41 |
|
| 42 |
if 请求参数.image_base64:
|
| 43 |
+
# 【核心修正】:明确告诉模型去右上角提取插件名,并作为一个特殊的 Key 返回
|
| 44 |
sys_prompt = f"""你是一个 ComfyUI 节点翻译专家。请分析用户提供的节点截图,提取并翻译为 {target_language}。
|
| 45 |
+
【提取规则】:
|
| 46 |
+
1. 图像右上角通常有一个带有背景色的小字(如 Image-Filters),这是该节点的归属插件名,请务必将其提取并放在最外层的 "_plugin_guess" 字段中!
|
| 47 |
+
2. 图像内部左上角的大字(如 Keyer)才是节点真正的类名,将其作为 JSON 数据的主 Key,并将其中文翻译放在内部的 "title" 中。
|
| 48 |
+
3. 左侧连接点是 inputs。右侧连接点是 outputs。中间输入框是 widgets。
|
| 49 |
+
4. 根据功能理解,用 {target_language} 写一段专业 description。
|
| 50 |
+
5. 必须且只输出 JSON 代码块!
|
| 51 |
|
| 52 |
+
【输出格式严格规范】:
|
| 53 |
{{
|
| 54 |
+
"_plugin_guess": "右上角提取的插件名",
|
| 55 |
+
"节点英文类名": {{
|
| 56 |
+
"title": "节点中文翻译",
|
| 57 |
"inputs": {{"英文变量名": "中文翻译"}},
|
| 58 |
"widgets": {{"英文变量名": "中文翻译"}},
|
| 59 |
"outputs": {{"英文变量名": "中文翻译"}},
|
|
|
|
| 75 |
else:
|
| 76 |
raise HTTPException(status_code=400, detail="必须提供 data 或 image_base64")
|
| 77 |
|
|
|
|
| 78 |
最大重试次数 = 3
|
| 79 |
for 尝试次数 in range(最大重试次数):
|
| 80 |
try:
|