package controller import ( "context" "prompts-core/common/util" "prompts-core/dao" "prompts-core/model/dto" "prompts-core/model/entity" promptService "prompts-core/service/prompt" "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/frame/g" ) type prompt struct{} // Prompt 提示词配置控制器 var Prompt = new(prompt) // ComposeMessages 调用 model-gateway 异步任务并同步等待结果, func (c *prompt) ComposeMessages(ctx context.Context, req *dto.ComposeMessagesReq) (res *dto.ComposeMessagesRes, err error) { return promptService.ComposeMessages(ctx, req) } // Callback model-gateway 提示词回调 func (c *prompt) Callback(ctx context.Context, req *dto.CallbackReq) (res *dto.CallbackRes, err error) { err = promptService.Callback(ctx, req) return } // GetComposeTask 查询拼接任务结果 func (c *prompt) GetComposeTask(ctx context.Context, req *dto.GetComposeTaskReq) (res *dto.GetComposeTaskRes, err error) { return promptService.GetComposeTask(ctx, req.TaskId) } func (c *prompt) Text(ctx context.Context, req *dto.TextReq) (res *dto.TextRes, err error) { composeTask, err := dao.ComposeTask.Get(ctx, &entity.ComposeTask{ TaskId: "c58c9296-994f-4e83-8285-1daebf3c492d", }) if err != nil { return } model, err := dao.Model.Get(ctx, &entity.AsynchModel{ SQLBaseDO: beans.SQLBaseDO{Creator: composeTask.Creator}, ModelName: composeTask.ModelName, }) if err != nil { return } message := promptService.ParsePromptResult(composeTask.ResultText) // 加这两行 g.Log().Infof(ctx, "[Text] RequestPayload.consult: %v", composeTask.RequestPayload["consult"]) g.Log().Infof(ctx, "[Text] ExtendMapping: %v", model.ExtendMapping) messages := util.MergeConsult(composeTask.RequestPayload, message, model.ExtendMapping) g.Log().Infof(ctx, "[Text] MergeConsult 结果 rounds[0].messages[0].content: %v", gjson.New(messages).Get("rounds.0.messages.0.content")) res = &dto.TextRes{ Messages: messages, } return }