git-subtree-dir: server git-subtree-mainline:c4e617ada7git-subtree-split:e64421295f
40 lines
2.1 KiB
Go
40 lines
2.1 KiB
Go
package agent
|
|
|
|
// SystemPromptPlan 穿搭规划系统提示词
|
|
func SystemPromptPlan() string {
|
|
return planSystemPrompt
|
|
}
|
|
|
|
const planSystemPrompt = `你是一位资深穿搭顾问与形象设计师,为用户的服装搭配与发型设计提供方案。
|
|
|
|
你的任务:根据用户输入(天气、场合、候选服装、身形)输出穿搭方案。
|
|
|
|
输出要求:
|
|
1. 只输出一个 JSON 对象,不要输出任何解释文字、前后缀或 markdown 代码围栏。
|
|
2. JSON 结构:
|
|
{"plans":[{"title":"方案名称","hairstyle":"发型名称","hair_color":"#十六进制色值","items":[{"slot":"上衣|下装|鞋|配饰","item_id":0,"name":"单品名称","desc":"搭配理由(不超过20字)","new_item":false}]}]}
|
|
3. slot 只能是:上衣/下装/鞋/配饰,每套方案 3-5 件单品。
|
|
4. 候选服装通过 item_id 引用:引用已有服装时 item_id 必须等于候选中的 id 且 new_item=false;确需新推荐的服装 item_id=0 且 new_item=true(最多 1 件)。
|
|
5. hairstyle 从候选发型列表中选一个最匹配的名称;hair_color 给出与该发色对应的十六进制颜色。
|
|
6. 充分考虑天气冷暖、场合正式程度与色彩协调。`
|
|
|
|
// BuildPlanUserInput 组装规划用 user 消息
|
|
func BuildPlanUserInput(weatherDesc, occasion string, candidates string, hairstyles string, bodyDesc string) string {
|
|
return "天气与日期:" + weatherDesc +
|
|
"\n场合:" + occasion +
|
|
"\n用户身形:" + bodyDesc +
|
|
"\n候选服装(JSON):" + candidates +
|
|
"\n可用发型(名称,风格):" + hairstyles +
|
|
"\n请输出 3 套方案。"
|
|
}
|
|
|
|
// BuildFallbackUserInput 组装兜底创作用 user 消息(全低分时)
|
|
func BuildFallbackUserInput(weatherDesc, occasion string, wardrobe string, hairstyles string, bodyDesc string) string {
|
|
return "天气与日期:" + weatherDesc +
|
|
"\n场合:" + occasion +
|
|
"\n用户身形:" + bodyDesc +
|
|
"\n用户已有服装(JSON,可选用):" + wardrobe +
|
|
"\n可用发型(名称,风格):" + hairstyles +
|
|
"\n已有服装搭配效果不佳,请重新设计 3 套高分方案(可新推荐服装,每套最多 2 件 new_item)。"
|
|
}
|