From d304d0ee4adf2ead63b6986ac1f05d5565b5cc64 Mon Sep 17 00:00:00 2001 From: WangLiZhao <1838393649@qq.com> Date: Thu, 18 Jun 2026 15:34:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(prompt):=20=E6=B7=BB=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=8F=90=E7=A4=BA=E8=AF=8D=E5=8A=9F=E8=83=BD=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/util/mapping.go | 5 ++++- model/dto/prompt_compose_dto.go | 1 + service/prompt/prompt_compose_service.go | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/common/util/mapping.go b/common/util/mapping.go index 860c0b7..821e183 100644 --- a/common/util/mapping.go +++ b/common/util/mapping.go @@ -140,11 +140,14 @@ func fillEmptyInPlace(m map[string]any, value string) { // ======================== 系统提示词合并 ======================== // MergeSystemPrompt 将系统提示词和技能内容拼接到 system role 的 content 中 -func MergeSystemPrompt(messages map[string]any, prompt, skills string, requestMapping map[string]any) map[string]any { +func MergeSystemPrompt(messages map[string]any, prompt, skills, userPrompt string, requestMapping map[string]any) map[string]any { var parts []string if prompt != "" { parts = append(parts, prompt) } + if userPrompt != "" { + parts = append(parts, userPrompt) + } if skills != "" { parts = append(parts, skills) } diff --git a/model/dto/prompt_compose_dto.go b/model/dto/prompt_compose_dto.go index 731fe24..1754838 100644 --- a/model/dto/prompt_compose_dto.go +++ b/model/dto/prompt_compose_dto.go @@ -14,6 +14,7 @@ type ComposeMessagesReq struct { UserForm []map[string]any `p:"userForm" json:"userForm" dc:"用户表单:userForm 下所有字段都作为用户提示词来源;若与 form 含义接近则严格覆盖系统字段"` Consult []ConsultItem `json:"consult" dc:"附件列表(图片/视频/音频)"` SkillName string `p:"skillName" json:"skillName" dc:"技能名称"` + UserPrompt string `p:"userPrompt" json:"userPrompt" dc:"用户提示词"` } // ConsultItem 单个附件 diff --git a/service/prompt/prompt_compose_service.go b/service/prompt/prompt_compose_service.go index 43f852c..2d62162 100644 --- a/service/prompt/prompt_compose_service.go +++ b/service/prompt/prompt_compose_service.go @@ -235,7 +235,8 @@ func handleCallbackSuccess(ctx context.Context, req *dto.CallbackReq, composeTas // 4) 合并系统提示词 systemPrompt := util.GetModelPrompt(ctx, model.ModelType) skillContent := SkillMdContent(ctx, composeTask.SkillName) - messages = util.MergeSystemPrompt(messages, systemPrompt, skillContent, model.RequestMapping) + userPrompt := composeTask.RequestPayload["userPrompt"].(string) + messages = util.MergeSystemPrompt(messages, systemPrompt, skillContent, userPrompt, model.RequestMapping) // 5) 合并附加结构 messages = util.MergeConsult(composeTask.RequestPayload, messages, model.ExtendMapping)