fix agent model identity guardrails
This commit is contained in:
parent
177f7ec3df
commit
1768413eca
@ -3195,6 +3195,20 @@ function buildAgentSceneImageRolePrompt(params: {
|
||||
? `如果当前场景有人物展示需求,只允许使用图片${resolvedProductCount + 1}里的模特;如果不需要人物,则不要强行加入人物。`
|
||||
: "当前没有固定模特图,不要凭空生成强人物主体。"
|
||||
);
|
||||
if (hasModelImage) {
|
||||
lines.push(
|
||||
"【模特锁定约束】固定模特图是人物身份锁定图。结果中出现的人物必须与模特图为同一人,不得换脸、换人、换性别、换年龄段,不得改变五官特征、脸型、发际线、发型主体、肤色、身材和辨识度。"
|
||||
);
|
||||
lines.push(
|
||||
"允许根据场景构图调整模特的站姿、坐姿、手势、视线和轻微表情,但必须让人一眼看出是同一个模特。"
|
||||
);
|
||||
lines.push(
|
||||
"只有当工作流设定或补充要求里明确要求修改模特衣服、穿搭或服装颜色时,才允许更换或调整服饰;如果没有明确要求,默认保持模特原有服装风格和穿搭关系一致。"
|
||||
);
|
||||
lines.push(
|
||||
"如果模特衣服被允许调整,也只能改衣服,不得借机改变模特本人;人物身份稳定性始终高于服装变化。"
|
||||
);
|
||||
}
|
||||
|
||||
return lines.join("\n");
|
||||
}
|
||||
@ -7316,6 +7330,27 @@ export async function POST(request: Request) {
|
||||
modeType: "scene_generation",
|
||||
});
|
||||
const sceneGenerationStartedAt = Date.now();
|
||||
console.info("[Chat API] Agent scene prompt guardrails:", {
|
||||
chatId: id,
|
||||
agentPresetId: selectedAgentPreset.id,
|
||||
agentPresetName: selectedAgentPreset.name,
|
||||
agentExecutionSnapshotId: presetSnapshot.id,
|
||||
includesWorkflowPrompt: Boolean(hiddenPromptText),
|
||||
includesUserSupplementPrompt: Boolean(sanitizedUserSupplementPrompt),
|
||||
includesModelImage: sceneModelSlotEnabled,
|
||||
productImageCount: sceneProductSlotCount,
|
||||
uploadedImageCount: sharedUploadedImageUrls.length,
|
||||
hasProductIdentityLock: sceneImageRolePrompt.includes("【产品锁定约束】"),
|
||||
hasModelIdentityLock: sceneImageRolePrompt.includes("【模特锁定约束】"),
|
||||
hasModelClothingOverrideRule: sceneImageRolePrompt.includes(
|
||||
"只有当工作流设定或补充要求里明确要求修改模特衣服"
|
||||
),
|
||||
imageRolePreview: sceneImageRolePrompt
|
||||
.split("\n")
|
||||
.map((line) => line.trim())
|
||||
.filter(Boolean)
|
||||
.slice(0, 12),
|
||||
});
|
||||
|
||||
try {
|
||||
const mergedImageParams = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user