feat(task): 添加构建模型名称字段支持动态校验
- 在ModelGatewayTask实体中新增BuildModelName字段 - 修改ParseAndValidate函数参数,支持传入requiredFields - 在异步工作器中实现构建模型的动态字段校验逻辑 - 添加prompt构建服务中传递构建模型名称的功能 - 实现构建模型不存在时的兜底机制
This commit is contained in:
@@ -20,7 +20,7 @@ import (
|
||||
)
|
||||
|
||||
// ParseAndValidate 解析模型响应,并返回标准格式
|
||||
func ParseAndValidate(raw map[string]any, model *entity.ModelGatewayModel) (map[string]any, error) {
|
||||
func ParseAndValidate(raw map[string]any, requiredFields []string) (map[string]any, error) {
|
||||
contentStr := gconv.String(raw[entity.ResponseBody])
|
||||
if strings.TrimSpace(contentStr) == "" {
|
||||
return raw, fmt.Errorf("字段 %s 为空", entity.ResponseBody)
|
||||
@@ -41,7 +41,7 @@ func ParseAndValidate(raw map[string]any, model *entity.ModelGatewayModel) (map[
|
||||
return raw, fmt.Errorf("解析后数组为空")
|
||||
}
|
||||
|
||||
for _, field := range model.RequiredFields {
|
||||
for _, field := range requiredFields {
|
||||
for i, r := range arr {
|
||||
round, _ := r.(map[string]any)
|
||||
if round != nil && gjson.New(round).Get(field).IsNil() {
|
||||
|
||||
Reference in New Issue
Block a user