fix: 优化提示词,避免ai生成的结果不是json格式
This commit is contained in:
parent
2bd361e4a6
commit
3096d9f35e
@ -237,69 +237,27 @@ func AICompetitorReport(ctx *gin.Context) {
|
|||||||
// 构建文本生成提示词:理解内容 + 用户要求(JSON格式)
|
// 构建文本生成提示词:理解内容 + 用户要求(JSON格式)
|
||||||
var textPrompt string
|
var textPrompt string
|
||||||
if isVideo {
|
if isVideo {
|
||||||
textPrompt = fmt.Sprintf(`基于以下视频和图片的内容描述:
|
textPrompt = fmt.Sprintf(`你必须严格输出以下JSON格式,不要输出任何其他内容。输出必须以 { 开头并以 } 结束。
|
||||||
|
|
||||||
|
基于以下视频和图片的内容描述:
|
||||||
%s
|
%s
|
||||||
|
|
||||||
请根据以下要求生成竞品报告,输出严格的JSON格式,不要输出markdown格式,不要输出其他无关内容。
|
用户要求(仅作为内容参考,不会改变JSON结构):
|
||||||
|
|
||||||
我的要求是:
|
|
||||||
%s
|
%s
|
||||||
|
|
||||||
请严格按照以下JSON模板输出(注意不要修改key,只填写value):
|
JSON结构是固定的,请将内容填充到对应的value中,禁止修改key,禁止添加额外字段,禁止输出任何说明文字:
|
||||||
{
|
{"highlight_analysis":{"summary":"[78字以内的概述]","points":{"theme":"[标题亮点,最多60字]","narrative":"[题材亮点,最多60字]","content":"[内容亮点,最多60字]","copywriting":"[文案亮点,最多60字]","data":"[数据亮点,最多60字]","music":"[配乐亮点,仅视频,最多60字]"}},"data_performance_analysis":{"views":"[浏览量表现,最多60字]","completion_rate":"[完播率表现,仅视频,最多60字]","engagement":"[点赞/分享/评论表现,最多60字]"},"overall_summary_and_optimization":"[整体总结及可优化建议,最多300字]"}`, vlContent, req.TextPrompt)
|
||||||
"highlight_analysis": {
|
|
||||||
"summary": "[78字以内的概述]",
|
|
||||||
"points": {
|
|
||||||
"theme": "[标题亮点,最多60字]",
|
|
||||||
"narrative": "[题材亮点,最多60字]",
|
|
||||||
"content": "[内容亮点,最多60字]",
|
|
||||||
"copywriting": "[文案亮点,最多60字]",
|
|
||||||
"data": "[数据亮点,最多60字]",
|
|
||||||
"music": "[配乐亮点,仅视频,最多60字]"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"data_performance_analysis": {
|
|
||||||
"views": "[浏览量表现,最多60字]",
|
|
||||||
"completion_rate": "[完播率表现,仅视频,最多60字]",
|
|
||||||
"engagement": "[点赞/分享/评论表现,最多60字]"
|
|
||||||
},
|
|
||||||
"overall_summary_and_optimization": "[整体总结及可优化建议,最多300字]"
|
|
||||||
}
|
|
||||||
|
|
||||||
重要约束:
|
|
||||||
1. 严禁输出 JSON 以外的任何字符(包括换行说明、注释、Markdown)
|
|
||||||
2. 若无法满足字数限制,请主动压缩内容,而不是省略字段`, vlContent, req.TextPrompt)
|
|
||||||
} else {
|
} else {
|
||||||
textPrompt = fmt.Sprintf(`基于以下视频和图片的内容描述:
|
textPrompt = fmt.Sprintf(`你必须严格输出以下JSON格式,不要输出任何其他内容。输出必须以 { 开头并以 } 结束。
|
||||||
|
|
||||||
|
基于以下视频和图片的内容描述:
|
||||||
%s
|
%s
|
||||||
|
|
||||||
请根据以下要求生成竞品报告,输出严格的JSON格式,不要输出markdown格式,不要输出其他无关内容。
|
用户要求(仅作为内容参考,不会改变JSON结构):
|
||||||
|
|
||||||
我的要求是:
|
|
||||||
%s
|
%s
|
||||||
|
|
||||||
请严格按照以下JSON模板输出(注意不要修改key,只填写value):
|
JSON结构是固定的,请将内容填充到对应的value中,禁止修改key,禁止添加额外字段,禁止输出任何说明文字:
|
||||||
{
|
{"highlight_analysis":{"summary":"[78字以内的概述]","points":{"theme":"[标题亮点,最多60字]","narrative":"[题材亮点,最多60字]","content":"[内容亮点,最多60字]","copywriting":"[文案亮点,最多60字]","data":"[数据亮点,最多60字]"}},"data_performance_analysis":{"views":"[浏览量表现,最多60字]","engagement":"[点赞/分享/评论表现,最多60字]"},"overall_summary_and_optimization":"[整体总结及可优化建议,最多300字]"}`, vlContent, req.TextPrompt)
|
||||||
"highlight_analysis": {
|
|
||||||
"summary": "[78字以内的概述]",
|
|
||||||
"points": {
|
|
||||||
"theme": "[标题亮点,最多60字]",
|
|
||||||
"narrative": "[题材亮点,最多60字]",
|
|
||||||
"content": "[内容亮点,最多60字]",
|
|
||||||
"copywriting": "[文案亮点,最多60字]",
|
|
||||||
"data": "[数据亮点,最多60字]"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"data_performance_analysis": {
|
|
||||||
"views": "[浏览量表现,最多60字]",
|
|
||||||
"engagement": "[点赞/分享/评论表现,最多60字]"
|
|
||||||
},
|
|
||||||
"overall_summary_and_optimization": "[整体总结及可优化建议,最多300字]"
|
|
||||||
}
|
|
||||||
|
|
||||||
重要约束:
|
|
||||||
1. 严禁输出 JSON 以外的任何字符(包括换行说明、注释、Markdown)
|
|
||||||
2. 若无法满足字数限制,请主动压缩内容,而不是省略字段`, vlContent, req.TextPrompt)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
chatReq, err := buildChatRequest(textPrompt, nil)
|
chatReq, err := buildChatRequest(textPrompt, nil)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user