99 "github.com/bytedance/gg/gptr"
1010
1111 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common"
12- domain_evaluator "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/evaluator"
1312 evaluatorpkg "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/evaluator"
1413 domain_expt "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/expt"
1514 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target"
@@ -32,8 +31,7 @@ func ConvertCreateExptTemplateReq(req *expt.CreateExperimentTemplateRequest) (*e
3231 fillCreateTemplateMeta (param , req )
3332 fillCreateTemplateTripleConfig (param , req )
3433
35- targetFieldMapping , evaluatorFieldMapping , itemConcurNum :=
36- buildTemplateFieldMappingsForCreate (req , param )
34+ targetFieldMapping , evaluatorFieldMapping , itemConcurNum := buildTemplateFieldMappingsForCreate (req , param )
3735
3836 evaluatorScoreWeights := buildEvaluatorScoreWeights (param .EvaluatorIDVersionItems )
3937 evaluatorConfs := buildEvaluatorConfsFromItems (param .EvaluatorIDVersionItems , evaluatorFieldMapping )
@@ -49,44 +47,44 @@ func fillCreateTemplateMeta(param *entity.CreateExptTemplateParam, req *expt.Cre
4947 if req .GetMeta () == nil {
5048 return
5149 }
52- meta := req .GetMeta ()
53- param .Name = meta .GetName ()
54- param .Description = meta .GetDesc ()
55- param .ExptType = entity .ExptType (gptr .Indirect (meta .ExptType ))
56- }
50+ meta := req .GetMeta ()
51+ param .Name = meta .GetName ()
52+ param .Description = meta .GetDesc ()
53+ param .ExptType = entity .ExptType (gptr .Indirect (meta .ExptType ))
54+ }
5755
5856// 拆分的子函数:从 triple_config 中提取三元组配置
5957func fillCreateTemplateTripleConfig (param * entity.CreateExptTemplateParam , req * expt.CreateExperimentTemplateRequest ) {
6058 if req .GetTripleConfig () == nil {
6159 return
6260 }
6361
64- tripleConfig := req .GetTripleConfig ()
65- param .EvalSetID = tripleConfig .GetEvalSetID ()
66- param .EvalSetVersionID = tripleConfig .GetEvalSetVersionID ()
67- param .TargetID = tripleConfig .GetTargetID ()
68- param .TargetVersionID = tripleConfig .GetTargetVersionID ()
62+ tripleConfig := req .GetTripleConfig ()
63+ param .EvalSetID = tripleConfig .GetEvalSetID ()
64+ param .EvalSetVersionID = tripleConfig .GetEvalSetVersionID ()
65+ param .TargetID = tripleConfig .GetTargetID ()
66+ param .TargetVersionID = tripleConfig .GetTargetVersionID ()
6967
7068 // 从 EvaluatorIDVersionItems 构建 entity 层的 EvaluatorIDVersionItems
71- evaluatorIDVersionItems := make ([]* entity.EvaluatorIDVersionItem , 0 )
72- if items := tripleConfig .GetEvaluatorIDVersionItems (); len (items ) > 0 {
73- for _ , item := range items {
74- if item == nil {
75- continue
76- }
77- entityItem := & entity.EvaluatorIDVersionItem {
78- EvaluatorID : item .GetEvaluatorID (),
79- Version : item .GetVersion (),
80- EvaluatorVersionID : item .GetEvaluatorVersionID (),
81- }
82- if item .IsSetScoreWeight () {
83- entityItem .ScoreWeight = item .GetScoreWeight ()
84- }
85- evaluatorIDVersionItems = append (evaluatorIDVersionItems , entityItem )
69+ evaluatorIDVersionItems := make ([]* entity.EvaluatorIDVersionItem , 0 )
70+ if items := tripleConfig .GetEvaluatorIDVersionItems (); len (items ) > 0 {
71+ for _ , item := range items {
72+ if item == nil {
73+ continue
74+ }
75+ entityItem := & entity.EvaluatorIDVersionItem {
76+ EvaluatorID : item .GetEvaluatorID (),
77+ Version : item .GetVersion (),
78+ EvaluatorVersionID : item .GetEvaluatorVersionID (),
8679 }
80+ if item .IsSetScoreWeight () {
81+ entityItem .ScoreWeight = item .GetScoreWeight ()
82+ }
83+ evaluatorIDVersionItems = append (evaluatorIDVersionItems , entityItem )
8784 }
88- param .EvaluatorIDVersionItems = evaluatorIDVersionItems
8985 }
86+ param .EvaluatorIDVersionItems = evaluatorIDVersionItems
87+ }
9088
9189// 拆分的子函数:构造创建模板场景下的字段映射配置
9290func buildTemplateFieldMappingsForCreate (
@@ -240,15 +238,15 @@ func buildTemplateConfForCreate(
240238 return templateConf
241239 }
242240
243- templateConf .ConnectorConf = entity.Connector {
244- TargetConf : & entity.TargetConf {
245- TargetVersionID : param .TargetVersionID ,
246- IngressConf : targetFieldMapping ,
247- },
248- }
241+ templateConf .ConnectorConf = entity.Connector {
242+ TargetConf : & entity.TargetConf {
243+ TargetVersionID : param .TargetVersionID ,
244+ IngressConf : targetFieldMapping ,
245+ },
246+ }
249247
250248 if len (evaluatorConfs ) > 0 {
251- templateConf .ConnectorConf .EvaluatorsConf = & entity.EvaluatorsConf {
249+ templateConf .ConnectorConf .EvaluatorsConf = & entity.EvaluatorsConf {
252250 EvaluatorConf : evaluatorConfs ,
253251 }
254252 }
@@ -311,7 +309,7 @@ func toEvaluatorFieldMappingDoForTemplate(mapping []*domain_expt.EvaluatorFieldM
311309 // 从 EvaluatorIDVersionItem 中提取信息,如果不存在则使用 EvaluatorVersionID
312310 var evaluatorID int64
313311 var version string
314- var evaluatorVersionID int64 = fm .GetEvaluatorVersionID ()
312+ evaluatorVersionID : = fm .GetEvaluatorVersionID ()
315313 var runConf * entity.EvaluatorRunConfig
316314
317315 if fm .IsSetEvaluatorIDVersionItem () {
@@ -376,7 +374,7 @@ func ToExptTemplateDTO(template *entity.ExptTemplate) *domain_expt.ExptTemplate
376374 if template .Meta != nil && template .Meta .ExptType != entity .ExptType_Online {
377375 dto .TripleConfig .EvalSet = evaluation_set .EvaluationSetDO2DTO (template .EvalSet )
378376 }
379- dto .TripleConfig .Evaluators = make ([]* domain_evaluator .Evaluator , 0 , len (template .Evaluators ))
377+ dto .TripleConfig .Evaluators = make ([]* evaluatorpkg .Evaluator , 0 , len (template .Evaluators ))
380378 for _ , evaluatorDO := range template .Evaluators {
381379 if evaluatorDO != nil {
382380 dto .TripleConfig .Evaluators = append (dto .TripleConfig .Evaluators , evaluator .ConvertEvaluatorDO2DTO (evaluatorDO ))
@@ -445,14 +443,14 @@ func fillTemplateMetaDTO(template *entity.ExptTemplate, dto *domain_expt.ExptTem
445443 if template .Meta == nil {
446444 return
447445 }
448- dto .Meta = & domain_expt.ExptTemplateMeta {
449- ID : gptr .Of (template .Meta .ID ),
450- WorkspaceID : gptr .Of (template .Meta .WorkspaceID ),
451- Name : gptr .Of (template .Meta .Name ),
452- Desc : gptr .Of (template .Meta .Desc ),
453- ExptType : gptr .Of (domain_expt .ExptType (template .Meta .ExptType )),
454- }
446+ dto .Meta = & domain_expt.ExptTemplateMeta {
447+ ID : gptr .Of (template .Meta .ID ),
448+ WorkspaceID : gptr .Of (template .Meta .WorkspaceID ),
449+ Name : gptr .Of (template .Meta .Name ),
450+ Desc : gptr .Of (template .Meta .Desc ),
451+ ExptType : gptr .Of (domain_expt .ExptType (template .Meta .ExptType )),
455452 }
453+ }
456454
457455// 拆分子函数:TripleConfig -> DTO
458456func buildTemplateTripleConfigDTO (template * entity.ExptTemplate ) * domain_expt.ExptTuple {
@@ -472,11 +470,11 @@ func buildTemplateTripleConfigDTO(template *entity.ExptTemplate) *domain_expt.Ex
472470}
473471
474472// 拆分子函数:根据模板信息构建 EvaluatorIDVersionItems DTO 列表
475- func buildEvaluatorIDVersionItemsDTO (template * entity.ExptTemplate ) []* domain_evaluator .EvaluatorIDVersionItem {
476- evaluatorIDVersionItems := make ([]* domain_evaluator .EvaluatorIDVersionItem , 0 )
473+ func buildEvaluatorIDVersionItemsDTO (template * entity.ExptTemplate ) []* evaluatorpkg .EvaluatorIDVersionItem {
474+ evaluatorIDVersionItems := make ([]* evaluatorpkg .EvaluatorIDVersionItem , 0 )
477475
478476 // 辅助函数:根据 evaluator_version_id 从 TemplateConf 中提取 RunConfig
479- buildRunConfigDTO := func (evalVerID int64 ) * domain_evaluator .EvaluatorRunConfig {
477+ buildRunConfigDTO := func (evalVerID int64 ) * evaluatorpkg .EvaluatorRunConfig {
480478 if template == nil || template .TemplateConf == nil ||
481479 template .TemplateConf .ConnectorConf .EvaluatorsConf == nil {
482480 return nil
@@ -486,7 +484,7 @@ func buildEvaluatorIDVersionItemsDTO(template *entity.ExptTemplate) []*domain_ev
486484 continue
487485 }
488486 rc := ec .RunConf
489- runCfg := domain_evaluator .NewEvaluatorRunConfig ()
487+ runCfg := evaluatorpkg .NewEvaluatorRunConfig ()
490488 runCfg .Env = rc .Env
491489 if rc .EvaluatorRuntimeParam != nil {
492490 runCfg .EvaluatorRuntimeParam = & common.RuntimeParam {
@@ -504,7 +502,7 @@ func buildEvaluatorIDVersionItemsDTO(template *entity.ExptTemplate) []*domain_ev
504502 if entityItem == nil {
505503 continue
506504 }
507- item := domain_evaluator .NewEvaluatorIDVersionItem ()
505+ item := evaluatorpkg .NewEvaluatorIDVersionItem ()
508506 item .EvaluatorID = gptr .Of (entityItem .EvaluatorID )
509507 if entityItem .Version != "" {
510508 item .Version = gptr .Of (entityItem .Version )
@@ -537,56 +535,56 @@ func buildEvaluatorIDVersionItemsDTO(template *entity.ExptTemplate) []*domain_ev
537535// 细分:从 Evaluators 构建 EvaluatorIDVersionItems
538536func appendEvaluatorIDVersionItemsFromEvaluators (
539537 template * entity.ExptTemplate ,
540- dst * []* domain_evaluator .EvaluatorIDVersionItem ,
538+ dst * []* evaluatorpkg .EvaluatorIDVersionItem ,
541539) {
542- for _ , evaluator := range template .Evaluators {
543- if evaluator == nil {
544- continue
545- }
546- evaluatorID := evaluator .GetEvaluatorID ()
547- version := evaluator .GetVersion ()
548- evaluatorVersionID := evaluator .GetEvaluatorVersionID ()
540+ for _ , evaluator := range template .Evaluators {
541+ if evaluator == nil {
542+ continue
543+ }
544+ evaluatorID := evaluator .GetEvaluatorID ()
545+ version := evaluator .GetVersion ()
546+ evaluatorVersionID := evaluator .GetEvaluatorVersionID ()
549547 if evaluatorID <= 0 || evaluatorVersionID <= 0 {
550548 continue
551549 }
552- item := domain_evaluator .NewEvaluatorIDVersionItem ()
553- item .EvaluatorID = gptr .Of (evaluatorID )
554- item .Version = gptr .Of (version )
555- item .EvaluatorVersionID = gptr .Of (evaluatorVersionID )
556-
557- if template .TripleConfig != nil && len (template .TripleConfig .EvaluatorIDVersionItems ) > 0 {
558- for _ , entityItem := range template .TripleConfig .EvaluatorIDVersionItems {
559- if entityItem != nil && entityItem .EvaluatorVersionID == evaluatorVersionID && entityItem .ScoreWeight > 0 {
560- item .ScoreWeight = gptr .Of (entityItem .ScoreWeight )
561- break
562- }
563- }
564- }
550+ item := evaluatorpkg .NewEvaluatorIDVersionItem ()
551+ item .EvaluatorID = gptr .Of (evaluatorID )
552+ item .Version = gptr .Of (version )
553+ item .EvaluatorVersionID = gptr .Of (evaluatorVersionID )
554+
555+ if template .TripleConfig != nil && len (template .TripleConfig .EvaluatorIDVersionItems ) > 0 {
556+ for _ , entityItem := range template .TripleConfig .EvaluatorIDVersionItems {
557+ if entityItem != nil && entityItem .EvaluatorVersionID == evaluatorVersionID && entityItem .ScoreWeight > 0 {
558+ item .ScoreWeight = gptr .Of (entityItem .ScoreWeight )
559+ break
560+ }
561+ }
562+ }
565563 * dst = append (* dst , item )
566564 }
567565}
568566
569567// 细分:从 EvaluatorVersionRef 构建 EvaluatorIDVersionItems
570568func appendEvaluatorIDVersionItemsFromVersionRef (
571569 template * entity.ExptTemplate ,
572- dst * []* domain_evaluator .EvaluatorIDVersionItem ,
570+ dst * []* evaluatorpkg .EvaluatorIDVersionItem ,
573571) {
574- for _ , ref := range template .EvaluatorVersionRef {
572+ for _ , ref := range template .EvaluatorVersionRef {
575573 if ref .EvaluatorID <= 0 || ref .EvaluatorVersionID <= 0 {
576574 continue
577575 }
578- item := domain_evaluator .NewEvaluatorIDVersionItem ()
579- item .EvaluatorID = gptr .Of (ref .EvaluatorID )
580- item .EvaluatorVersionID = gptr .Of (ref .EvaluatorVersionID )
576+ item := evaluatorpkg .NewEvaluatorIDVersionItem ()
577+ item .EvaluatorID = gptr .Of (ref .EvaluatorID )
578+ item .EvaluatorVersionID = gptr .Of (ref .EvaluatorVersionID )
581579
582- if template .TripleConfig != nil && len (template .TripleConfig .EvaluatorIDVersionItems ) > 0 {
583- for _ , entityItem := range template .TripleConfig .EvaluatorIDVersionItems {
584- if entityItem != nil && entityItem .EvaluatorVersionID == ref .EvaluatorVersionID && entityItem .ScoreWeight > 0 {
585- item .ScoreWeight = gptr .Of (entityItem .ScoreWeight )
586- break
587- }
588- }
589- }
580+ if template .TripleConfig != nil && len (template .TripleConfig .EvaluatorIDVersionItems ) > 0 {
581+ for _ , entityItem := range template .TripleConfig .EvaluatorIDVersionItems {
582+ if entityItem != nil && entityItem .EvaluatorVersionID == ref .EvaluatorVersionID && entityItem .ScoreWeight > 0 {
583+ item .ScoreWeight = gptr .Of (entityItem .ScoreWeight )
584+ break
585+ }
586+ }
587+ }
590588 * dst = append (* dst , item )
591589 }
592590}
@@ -697,7 +695,7 @@ func buildTemplateScoreWeightConfigDTO(template *entity.ExptTemplate) *domain_ex
697695 evaluatorScoreWeights := buildScoreWeightsFromTemplateConf (template )
698696
699697 // 2) 若为空,再从 TripleConfig.EvaluatorIDVersionItems.ScoreWeight 补充(向后兼容)
700- if ( evaluatorScoreWeights == nil || len (evaluatorScoreWeights ) == 0 ) &&
698+ if len (evaluatorScoreWeights ) == 0 &&
701699 template .TripleConfig != nil && len (template .TripleConfig .EvaluatorIDVersionItems ) > 0 {
702700 evaluatorScoreWeights = make (map [int64 ]float64 )
703701 for _ , item := range template .TripleConfig .EvaluatorIDVersionItems {
@@ -718,10 +716,10 @@ func buildTemplateScoreWeightConfigDTO(template *entity.ExptTemplate) *domain_ex
718716 }
719717
720718 return & domain_expt.ExptScoreWeight {
721- EnableWeightedScore : gptr .Of (hasWeightedScore ),
722- EvaluatorScoreWeights : evaluatorScoreWeights ,
723- }
719+ EnableWeightedScore : gptr .Of (hasWeightedScore ),
720+ EvaluatorScoreWeights : evaluatorScoreWeights ,
724721 }
722+ }
725723
726724// 细分:从 TemplateConf 中抽取权重
727725func buildScoreWeightsFromTemplateConf (template * entity.ExptTemplate ) map [int64 ]float64 {
0 commit comments