diff --git a/internal/biz/router.go b/internal/biz/router.go index c164c31..a711445 100644 --- a/internal/biz/router.go +++ b/internal/biz/router.go @@ -3,6 +3,7 @@ package biz import ( "ai_scheduler/internal/biz/do" "ai_scheduler/internal/data/constants" + errors "ai_scheduler/internal/data/error" "ai_scheduler/internal/gateway" "context" "encoding/json" @@ -59,13 +60,13 @@ func (r *AiRouterBiz) RouteWithSocket(client *gateway.Client, req *entitys.ChatS return } //组装意图识别 - rec, err := r.SetRec(ctx, requireData) + rec, sys, err := r.SetRec(ctx, requireData) if err != nil { log.Errorf("组装意图识别失败: %s", err.Error()) return } //意图识别 - requireData.Match, err = r.handle.Recognize(ctx, &rec, &do.WithSys{}) + requireData.Match, err = r.handle.Recognize(ctx, &rec, sys) if err != nil { log.Errorf("意图识别失败: %s", err.Error()) return @@ -79,10 +80,16 @@ func (r *AiRouterBiz) RouteWithSocket(client *gateway.Client, req *entitys.ChatS return } -func (r *AiRouterBiz) SetRec(ctx context.Context, requireData *entitys.RequireData) (match entitys.Recognize, err error) { +func (r *AiRouterBiz) SetRec(ctx context.Context, requireData *entitys.RequireData) (match entitys.Recognize, sys do.PromptOption, err error) { // 参数空值检查 if requireData == nil || requireData.Req == nil { - return match, err + return match, sys, errors.NewBusinessErr(500, "请求参数为空") + } + + // 对应不同的appKey, 配置不同的系统提示词 + switch requireData.Sys.AppKey { + default: + sys = &do.WithSys{} } // 1. 系统提示词