feat:配置不同的系统提示词

This commit is contained in:
wolter 2025-12-10 16:08:59 +08:00
parent 7c973750dd
commit af84e74c2c
1 changed files with 11 additions and 4 deletions

View File

@ -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. 系统提示词