service

package
v0.0.0-...-4b62939 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 82 Imported by: 0

Documentation

Overview

Copyright (c) 2025 coze-dev Authors SPDX-License-Identifier: Apache-2.0 return errorx.NewByCode(errno.RequiredFunctionNotFoundCode, errorx.WithExtraMsg("代码中必须定义 exec_evaluation 或 execEvaluation 函数。JavaScript 函数定义格式:function execEvaluation(turn, userInput, modelOutput, modelConfig, evaluatorConfig) { ... } 或 function exec_evaluation(turn, user_input, model_output, model_config, evaluator_config) { ... }"))

Index

Constants

View Source
const (
	TemplateStartTag = "{{"
	TemplateEndTag   = "}}"
)

Variables

EvaluationSetDomainServiceSet 提供所有 EvaluationSet 相关的 Domain Service

EvaluatorDomainServiceSet 提供所有 Evaluator 相关的 Domain Service

ExperimentDomainServiceSet 提供所有 Experiment 相关的 Domain Service

TargetDomainServiceSet 提供所有 Target 相关的 Domain Service

Functions

func Convert2TraceString

func Convert2TraceString(input any) string

func GenerateTurnKey

func GenerateTurnKey(spaceID, exptID, itemID, turnID int64) string

GenerateTurnKey 生成turnKey

func NewDefaultURLProcessor

func NewDefaultURLProcessor() component.IURLProcessor

NewDefaultURLProcessor 创建默认的URL处理器实例

func NewEvaluatorSourceServices

func NewEvaluatorSourceServices(
	llmProvider rpc.ILLMProvider,
	metric mtr.EvaluatorExecMetrics,
	config evalconf.IConfiger,
	runtimeManager component.IRuntimeManager,
	codeBuilderFactory CodeBuilderFactory,
) map[entity.EvaluatorType]EvaluatorSourceService

NewEvaluatorSourceServices 创建评估器源服务映射

func NewSourceTargetOperators

func NewSourceTargetOperators(adapter rpc.IPromptRPCAdapter) map[entity.EvalTargetType]ISourceEvalTargetOperateService

NewSourceTargetOperators 创建源目标操作器映射

func NewTurnEvaluatorResultRefs

func NewTurnEvaluatorResultRefs(id, exptID, turnResultID, spaceID int64, evaluatorResults *entity.EvaluatorResults) []*entity.ExptTurnEvaluatorResultRef

Types

type Aggregator

type Aggregator interface {
	Append(score float64)
	Result() map[entity.AggregatorType]*entity.AggregateData
}

type AggregatorGroup

type AggregatorGroup struct {
	Aggregators []Aggregator
}

func NewAggregatorGroup

func NewAggregatorGroup(opts ...NewAggregatorGroupOption) *AggregatorGroup

func (*AggregatorGroup) Append

func (a *AggregatorGroup) Append(score float64)

func (*AggregatorGroup) Result

func (a *AggregatorGroup) Result() *entity.AggregateResult

type BasicAggregator

type BasicAggregator struct {
	Max float64
	Min float64
	Sum float64

	Count int // Number of aggregated data
}

func (*BasicAggregator) Append

func (a *BasicAggregator) Append(score float64)

func (*BasicAggregator) Result

type BucketScoreDistributionAggregator

type BucketScoreDistributionAggregator struct {
	Scores     []float64 // Store all scores for bucket calculation in Result()
	Min        float64   // Minimum score value
	Max        float64   // Maximum score value
	Total      int64     // Total number of scores
	NumBuckets int       // Number of buckets
}

BucketScoreDistributionAggregator distribution aggregator using buckets. Uses configurable number of buckets to distribute scores between min and max values. This is more memory-efficient for large datasets compared to ScoreDistributionAggregator.

func NewBucketScoreDistributionAggregator

func NewBucketScoreDistributionAggregator(numBuckets int) *BucketScoreDistributionAggregator

func (*BucketScoreDistributionAggregator) Append

func (a *BucketScoreDistributionAggregator) Append(score float64)

func (*BucketScoreDistributionAggregator) Result

type CategoricalAggregator

type CategoricalAggregator interface {
	Append(option string)
	Result() map[entity.AggregatorType]*entity.AggregateData
}

type CategoricalAggregatorGroup

type CategoricalAggregatorGroup struct {
	Aggregators         []CategoricalAggregator
	AggregatorResultMap map[entity.AggregatorType]*entity.AggregateData
}

func NewCategoricalAggregatorGroup

func NewCategoricalAggregatorGroup() *CategoricalAggregatorGroup

func (*CategoricalAggregatorGroup) Append

func (a *CategoricalAggregatorGroup) Append(option string)

func (*CategoricalAggregatorGroup) Result

type CodeBuilderFactory

type CodeBuilderFactory interface {
	// CreateBuilder 根据语言类型创建代码构建器
	CreateBuilder(languageType entity.LanguageType) (UserCodeBuilder, error)
	// GetSupportedLanguages 获取支持的语言类型列表
	GetSupportedLanguages() []entity.LanguageType
	// SetRuntimeManager 设置运行时管理器(用于依赖注入runtime)
	SetRuntimeManager(manager component.IRuntimeManager)
}

CodeBuilderFactory 代码构建器工厂接口

func NewCodeBuilderFactory

func NewCodeBuilderFactory() CodeBuilderFactory

NewCodeBuilderFactory 创建代码构建器工厂实例

type CodeBuilderFactoryImpl

type CodeBuilderFactoryImpl struct {
	// contains filtered or unexported fields
}

CodeBuilderFactoryImpl 代码构建器工厂实现

func (*CodeBuilderFactoryImpl) CreateBuilder

func (f *CodeBuilderFactoryImpl) CreateBuilder(languageType entity.LanguageType) (UserCodeBuilder, error)

CreateBuilder 根据语言类型创建代码构建器

func (*CodeBuilderFactoryImpl) GetSupportedLanguages

func (f *CodeBuilderFactoryImpl) GetSupportedLanguages() []entity.LanguageType

GetSupportedLanguages 获取支持的语言类型列表

func (*CodeBuilderFactoryImpl) SetRuntimeManager

func (f *CodeBuilderFactoryImpl) SetRuntimeManager(manager component.IRuntimeManager)

SetRuntimeManager 设置运行时管理器

type DefaultExptTurnEvaluationImpl

type DefaultExptTurnEvaluationImpl struct {
	// contains filtered or unexported fields
}

func (*DefaultExptTurnEvaluationImpl) CallEvaluators

func (*DefaultExptTurnEvaluationImpl) CallTarget

func (*DefaultExptTurnEvaluationImpl) CheckBenefit

func (e *DefaultExptTurnEvaluationImpl) CheckBenefit(ctx context.Context, exptID, spaceID int64, freeCost bool, session *entity.Session) error

func (*DefaultExptTurnEvaluationImpl) Eval

type DefaultSchedulerModeFactory

type DefaultSchedulerModeFactory struct {
	// contains filtered or unexported fields
}

DefaultSchedulerModeFactory 实现 SchedulerModeFactory 接口,使用实际的 NewSchedulerMode 函数

func (*DefaultSchedulerModeFactory) NewSchedulerMode

type DefaultURLProcessor

type DefaultURLProcessor struct{}

DefaultURLProcessor 默认的 URL 处理器实现

func (*DefaultURLProcessor) ProcessSignURL

func (p *DefaultURLProcessor) ProcessSignURL(ctx context.Context, signURL string) string

ProcessSignURL 处理签名URL,包括URL解码和本地主机处理

type EvalTargetServiceImpl

type EvalTargetServiceImpl struct {
	// contains filtered or unexported fields
}

func (*EvalTargetServiceImpl) AsyncDebugTarget

func (e *EvalTargetServiceImpl) AsyncDebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, callee string, err error)

func (*EvalTargetServiceImpl) AsyncExecuteTarget

func (e *EvalTargetServiceImpl) AsyncExecuteTarget(ctx context.Context, spaceID int64, targetID int64, targetVersionID int64,
	param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData,
) (record *entity.EvalTargetRecord, callee string, err error)

func (*EvalTargetServiceImpl) BatchGetEvalTargetBySource

func (e *EvalTargetServiceImpl) BatchGetEvalTargetBySource(ctx context.Context, param *entity.BatchGetEvalTargetBySourceParam) (dos []*entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) BatchGetEvalTargetVersion

func (e *EvalTargetServiceImpl) BatchGetEvalTargetVersion(ctx context.Context, spaceID int64, versionIDs []int64, needSourceInfo bool) (dos []*entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) BatchGetRecordByIDs

func (e *EvalTargetServiceImpl) BatchGetRecordByIDs(ctx context.Context, spaceID int64, recordIDs []int64) ([]*entity.EvalTargetRecord, error)

func (*EvalTargetServiceImpl) CreateEvalTarget

func (e *EvalTargetServiceImpl) CreateEvalTarget(ctx context.Context, spaceID int64, sourceTargetID, sourceTargetVersion string, targetType entity.EvalTargetType, opts ...entity.Option) (id, versionID int64, err error)

func (*EvalTargetServiceImpl) CreateRecord

func (e *EvalTargetServiceImpl) CreateRecord(ctx context.Context, record *entity.EvalTargetRecord) error

func (*EvalTargetServiceImpl) DebugTarget

func (e *EvalTargetServiceImpl) DebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, err error)

func (*EvalTargetServiceImpl) ExecuteTarget

func (e *EvalTargetServiceImpl) ExecuteTarget(ctx context.Context, spaceID, targetID, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (record *entity.EvalTargetRecord, err error)

func (*EvalTargetServiceImpl) ExtractTrajectory

func (e *EvalTargetServiceImpl) ExtractTrajectory(ctx context.Context, spaceID int64, traceID string, startTimeMS *int64) (*entity.Trajectory, error)

func (*EvalTargetServiceImpl) GenerateMockOutputData

func (e *EvalTargetServiceImpl) GenerateMockOutputData(outputSchemas []*entity.ArgsSchema) (map[string]string, error)

GenerateMockOutputData generates mock data according to output schema

func (*EvalTargetServiceImpl) GetEvalTarget

func (e *EvalTargetServiceImpl) GetEvalTarget(ctx context.Context, targetID int64) (do *entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) GetEvalTargetVersion

func (e *EvalTargetServiceImpl) GetEvalTargetVersion(ctx context.Context, spaceID, versionID int64, needSourceInfo bool) (do *entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) GetEvalTargetVersionBySource

func (e *EvalTargetServiceImpl) GetEvalTargetVersionBySource(ctx context.Context, spaceID, targetID int64, sourceVersion string, needSourceInfo bool) (do *entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) GetEvalTargetVersionBySourceTarget

func (e *EvalTargetServiceImpl) GetEvalTargetVersionBySourceTarget(ctx context.Context, spaceID int64, sourceTargetID, sourceTargetVersion string, targetType entity.EvalTargetType, needSourceInfo bool) (do *entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) GetEvalTargetVersionByTarget

func (e *EvalTargetServiceImpl) GetEvalTargetVersionByTarget(ctx context.Context, spaceID, targetID int64, sourceTargetVersion string, needSourceInfo bool) (do *entity.EvalTarget, err error)

func (*EvalTargetServiceImpl) GetRecordByID

func (e *EvalTargetServiceImpl) GetRecordByID(ctx context.Context, spaceID int64, recordID int64) (*entity.EvalTargetRecord, error)

func (*EvalTargetServiceImpl) ReportInvokeRecords

func (e *EvalTargetServiceImpl) ReportInvokeRecords(ctx context.Context, param *entity.ReportTargetRecordParam) error

func (*EvalTargetServiceImpl) ValidateRuntimeParam

func (e *EvalTargetServiceImpl) ValidateRuntimeParam(ctx context.Context, targetType entity.EvalTargetType, runtimeParam string) error

type EvaluationSetItemService

type EvaluationSetItemService interface {
	BatchCreateEvaluationSetItems(ctx context.Context, param *entity.BatchCreateEvaluationSetItemsParam) (idMap map[int64]int64, errors []*entity.ItemErrorGroup, itemOutputs []*entity.DatasetItemOutput, err error)
	UpdateEvaluationSetItem(ctx context.Context, spaceID, evaluationSetID, itemID int64, turns []*entity.Turn) (err error)
	BatchUpdateEvaluationSetItems(ctx context.Context, param *entity.BatchUpdateEvaluationSetItemsParam) (errors []*entity.ItemErrorGroup, itemOutputs []*entity.DatasetItemOutput, err error)
	BatchDeleteEvaluationSetItems(ctx context.Context, spaceID, evaluationSetID int64, itemIDs []int64) (err error)
	ListEvaluationSetItems(ctx context.Context, param *entity.ListEvaluationSetItemsParam) (items []*entity.EvaluationSetItem, total *int64, filterTotal *int64, nextPageToken *string, err error)
	BatchGetEvaluationSetItems(ctx context.Context, param *entity.BatchGetEvaluationSetItemsParam) (items []*entity.EvaluationSetItem, err error)
	ClearEvaluationSetDraftItem(ctx context.Context, spaceID, evaluationSetID int64) (err error)
	GetEvaluationSetItemField(ctx context.Context, param *entity.GetEvaluationSetItemFieldParam) (fieldData *entity.FieldData, err error)
}

func NewEvaluationSetItemServiceImpl

func NewEvaluationSetItemServiceImpl(datasetRPCAdapter rpc.IDatasetRPCAdapter) EvaluationSetItemService

type EvaluationSetItemServiceImpl

type EvaluationSetItemServiceImpl struct {
	// contains filtered or unexported fields
}

func (*EvaluationSetItemServiceImpl) BatchCreateEvaluationSetItems

func (d *EvaluationSetItemServiceImpl) BatchCreateEvaluationSetItems(ctx context.Context, param *entity.BatchCreateEvaluationSetItemsParam) (idMap map[int64]int64, errors []*entity.ItemErrorGroup, itemOutputs []*entity.DatasetItemOutput, err error)

func (*EvaluationSetItemServiceImpl) BatchDeleteEvaluationSetItems

func (d *EvaluationSetItemServiceImpl) BatchDeleteEvaluationSetItems(ctx context.Context, spaceID, evaluationSetID int64, itemIDs []int64) (err error)

func (*EvaluationSetItemServiceImpl) BatchGetEvaluationSetItems

func (d *EvaluationSetItemServiceImpl) BatchGetEvaluationSetItems(ctx context.Context, param *entity.BatchGetEvaluationSetItemsParam) (items []*entity.EvaluationSetItem, err error)

func (*EvaluationSetItemServiceImpl) BatchUpdateEvaluationSetItems

func (d *EvaluationSetItemServiceImpl) BatchUpdateEvaluationSetItems(ctx context.Context, param *entity.BatchUpdateEvaluationSetItemsParam) (errors []*entity.ItemErrorGroup, itemOutputs []*entity.DatasetItemOutput, err error)

func (*EvaluationSetItemServiceImpl) ClearEvaluationSetDraftItem

func (d *EvaluationSetItemServiceImpl) ClearEvaluationSetDraftItem(ctx context.Context, spaceID, evaluationSetID int64) (err error)

func (*EvaluationSetItemServiceImpl) GetEvaluationSetItemField

func (d *EvaluationSetItemServiceImpl) GetEvaluationSetItemField(ctx context.Context, param *entity.GetEvaluationSetItemFieldParam) (fieldData *entity.FieldData, err error)

func (*EvaluationSetItemServiceImpl) ListEvaluationSetItems

func (d *EvaluationSetItemServiceImpl) ListEvaluationSetItems(ctx context.Context, param *entity.ListEvaluationSetItemsParam) (items []*entity.EvaluationSetItem, total *int64, filterTotal *int64, nextPageToken *string, err error)

func (*EvaluationSetItemServiceImpl) UpdateEvaluationSetItem

func (d *EvaluationSetItemServiceImpl) UpdateEvaluationSetItem(ctx context.Context, spaceID, evaluationSetID, itemID int64, turns []*entity.Turn) (err error)

type EvaluationSetSchemaService

type EvaluationSetSchemaService interface {
	UpdateEvaluationSetSchema(ctx context.Context, spaceID, evaluationSetID int64, fieldSchema []*entity.FieldSchema) (err error)
}

func NewEvaluationSetSchemaServiceImpl

func NewEvaluationSetSchemaServiceImpl(datasetRPCAdapter rpc.IDatasetRPCAdapter) EvaluationSetSchemaService

type EvaluationSetSchemaServiceImpl

type EvaluationSetSchemaServiceImpl struct {
	// contains filtered or unexported fields
}

func (*EvaluationSetSchemaServiceImpl) UpdateEvaluationSetSchema

func (d *EvaluationSetSchemaServiceImpl) UpdateEvaluationSetSchema(ctx context.Context, spaceID, evaluationSetID int64, fieldSchema []*entity.FieldSchema) (err error)

type EvaluationSetServiceImpl

type EvaluationSetServiceImpl struct {
	// contains filtered or unexported fields
}

func (*EvaluationSetServiceImpl) BatchGetEvaluationSets

func (d *EvaluationSetServiceImpl) BatchGetEvaluationSets(ctx context.Context, spaceID *int64, evaluationSetID []int64, deletedAt *bool) (set []*entity.EvaluationSet, err error)

func (*EvaluationSetServiceImpl) CreateEvaluationSet

func (d *EvaluationSetServiceImpl) CreateEvaluationSet(ctx context.Context, param *entity.CreateEvaluationSetParam) (id int64, err error)

func (*EvaluationSetServiceImpl) CreateEvaluationSetWithImport

func (d *EvaluationSetServiceImpl) CreateEvaluationSetWithImport(ctx context.Context, param *entity.CreateEvaluationSetWithImportParam) (id int64, jobID int64, err error)

func (*EvaluationSetServiceImpl) DeleteEvaluationSet

func (d *EvaluationSetServiceImpl) DeleteEvaluationSet(ctx context.Context, spaceID, evaluationSetID int64) (err error)

func (*EvaluationSetServiceImpl) GetEvaluationSet

func (d *EvaluationSetServiceImpl) GetEvaluationSet(ctx context.Context, spaceID *int64, evaluationSetID int64, deletedAt *bool) (set *entity.EvaluationSet, err error)

func (*EvaluationSetServiceImpl) ListEvaluationSets

func (d *EvaluationSetServiceImpl) ListEvaluationSets(ctx context.Context, param *entity.ListEvaluationSetsParam) (sets []*entity.EvaluationSet, total *int64, nextPageToken *string, err error)

func (*EvaluationSetServiceImpl) ParseImportSourceFile

func (*EvaluationSetServiceImpl) QueryItemSnapshotMappings

func (d *EvaluationSetServiceImpl) QueryItemSnapshotMappings(ctx context.Context, spaceID, datasetID int64, versionID *int64) (fieldMappings []*entity.ItemSnapshotFieldMapping, syncCkDate string, err error)

func (*EvaluationSetServiceImpl) UpdateEvaluationSet

func (d *EvaluationSetServiceImpl) UpdateEvaluationSet(ctx context.Context, param *entity.UpdateEvaluationSetParam) (err error)

type EvaluationSetVersionService

type EvaluationSetVersionService interface {
	CreateEvaluationSetVersion(ctx context.Context, param *entity.CreateEvaluationSetVersionParam) (id int64, err error)
	GetEvaluationSetVersion(ctx context.Context, spaceID, versionID int64, deletedAt *bool) (version *entity.EvaluationSetVersion, set *entity.EvaluationSet, err error)
	ListEvaluationSetVersions(ctx context.Context, param *entity.ListEvaluationSetVersionsParam) (sets []*entity.EvaluationSetVersion, total *int64, nextCursor *string, err error)
	BatchGetEvaluationSetVersions(ctx context.Context, spaceID *int64, evaluationSetIDs []int64, deletedAt *bool) (sets []*entity.BatchGetEvaluationSetVersionsResult, err error)
}

func NewEvaluationSetVersionServiceImpl

func NewEvaluationSetVersionServiceImpl(datasetRPCAdapter rpc.IDatasetRPCAdapter) EvaluationSetVersionService

type EvaluationSetVersionServiceImpl

type EvaluationSetVersionServiceImpl struct {
	// contains filtered or unexported fields
}

func (*EvaluationSetVersionServiceImpl) BatchGetEvaluationSetVersions

func (d *EvaluationSetVersionServiceImpl) BatchGetEvaluationSetVersions(ctx context.Context, spaceID *int64, versionIDs []int64, deletedAt *bool) (sets []*entity.BatchGetEvaluationSetVersionsResult, err error)

func (*EvaluationSetVersionServiceImpl) CreateEvaluationSetVersion

func (d *EvaluationSetVersionServiceImpl) CreateEvaluationSetVersion(ctx context.Context, param *entity.CreateEvaluationSetVersionParam) (id int64, err error)

func (*EvaluationSetVersionServiceImpl) GetEvaluationSetVersion

func (d *EvaluationSetVersionServiceImpl) GetEvaluationSetVersion(ctx context.Context, spaceID, versionID int64, deletedAt *bool) (version *entity.EvaluationSetVersion, set *entity.EvaluationSet, err error)

func (*EvaluationSetVersionServiceImpl) ListEvaluationSetVersions

func (d *EvaluationSetVersionServiceImpl) ListEvaluationSetVersions(ctx context.Context, param *entity.ListEvaluationSetVersionsParam) (sets []*entity.EvaluationSetVersion, total *int64, nextCursor *string, err error)

type EvaluatorRecordService

type EvaluatorRecordService interface {
	// CorrectEvaluatorRecord 创建 evaluator_version 运行结果
	CorrectEvaluatorRecord(ctx context.Context, evaluatorRecordDO *entity.EvaluatorRecord, correctionDO *entity.Correction) error
	// GetEvaluatorRecord 按 id 查询单个 evaluator_version 运行结果
	GetEvaluatorRecord(ctx context.Context, evaluatorRecordID int64, includeDeleted bool) (*entity.EvaluatorRecord, error)
	// BatchGetEvaluatorRecord 按 id 批量查询 evaluator_version 运行结果
	BatchGetEvaluatorRecord(ctx context.Context, evaluatorRecordIDs []int64, includeDeleted bool) ([]*entity.EvaluatorRecord, error)
}

func NewEvaluatorRecordServiceImpl

func NewEvaluatorRecordServiceImpl(idgen idgen.IIDGenerator,
	evaluatorRecordRepo repo.IEvaluatorRecordRepo,
	exptPublisher events.ExptEventPublisher,
	evaluatorPublisher events.EvaluatorEventPublisher,
	userInfoService userinfo.UserInfoService,
	exptRepo repo.IExperimentRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
) EvaluatorRecordService

NewEvaluatorServiceImpl 创建 EvaluatorService 实例

type EvaluatorRecordServiceImpl

type EvaluatorRecordServiceImpl struct {
	// contains filtered or unexported fields
}

EvaluatorRecordServiceImpl 实现 EvaluatorService 接口

func (*EvaluatorRecordServiceImpl) BatchGetEvaluatorRecord

func (s *EvaluatorRecordServiceImpl) BatchGetEvaluatorRecord(ctx context.Context, evaluatorRecordIDs []int64, includeDeleted bool) ([]*entity.EvaluatorRecord, error)

func (*EvaluatorRecordServiceImpl) CorrectEvaluatorRecord

func (s *EvaluatorRecordServiceImpl) CorrectEvaluatorRecord(ctx context.Context, evaluatorRecordDO *entity.EvaluatorRecord, correctionDO *entity.Correction) error

CorrectEvaluatorRecord 创建 evaluator_version 运行结果

func (*EvaluatorRecordServiceImpl) GetEvaluatorRecord

func (s *EvaluatorRecordServiceImpl) GetEvaluatorRecord(ctx context.Context, evaluatorRecordID int64, includeDeleted bool) (*entity.EvaluatorRecord, error)

type EvaluatorService

type EvaluatorService interface {
	// ListEvaluator 按查询条件查询 evaluator_version
	ListEvaluator(ctx context.Context, request *entity.ListEvaluatorRequest) ([]*entity.Evaluator, int64, error)
	// ListBuiltinEvaluator 查询内置评估器
	ListBuiltinEvaluator(ctx context.Context, request *entity.ListBuiltinEvaluatorRequest) ([]*entity.Evaluator, int64, error)
	// BatchGetEvaluator 按 id 批量查询 evaluator_version
	BatchGetEvaluator(ctx context.Context, spaceID int64, evaluatorIDs []int64, includeDeleted bool) ([]*entity.Evaluator, error)
	// GetEvaluator 按 id 单个查询 evaluator_version
	GetEvaluator(ctx context.Context, spaceID, evaluatorID int64, includeDeleted bool) (*entity.Evaluator, error)
	// CreateEvaluator 创建 evaluator_version
	CreateEvaluator(ctx context.Context, evaluator *entity.Evaluator, cid string) (int64, error)
	// UpdateEvaluatorMeta 修改评估器元信息(支持 builtin/benchmark/vendor 可选更新)
	UpdateEvaluatorMeta(ctx context.Context, req *entity.UpdateEvaluatorMetaRequest) error
	// UpdateBuiltinEvaluatorTags 更新内置评估器的标签(按 evaluator_id 全量对齐)
	UpdateBuiltinEvaluatorTags(ctx context.Context, evaluatorID int64, tags map[entity.EvaluatorTagLangType]map[entity.EvaluatorTagKey][]string) error
	// UpdateEvaluatorDraft 修改 evaluator_version draft
	UpdateEvaluatorDraft(ctx context.Context, versionDO *entity.Evaluator) error
	// DeleteEvaluator 删除 evaluator_version
	DeleteEvaluator(ctx context.Context, evaluatorIDs []int64, userID string) error
	// RunEvaluator evaluator_version 运行
	RunEvaluator(ctx context.Context, request *entity.RunEvaluatorRequest) (*entity.EvaluatorRecord, error)
	// DebugEvaluator 调试 evaluator_version;新增 exptSpaceID 作为实验空间ID
	DebugEvaluator(ctx context.Context, evaluatorDO *entity.Evaluator, inputData *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64) (*entity.EvaluatorOutputData, error)
	// GetBuiltinEvaluator 根据 evaluatorID 查询元信息,若为预置评估器则按 builtin_visible_version 组装返回
	// 非预置评估器则返回nil
	GetBuiltinEvaluator(ctx context.Context, evaluatorID int64) (*entity.Evaluator, error)
	// BatchGetBuiltinEvaluator 批量获取预置评估器(按 visible 版本)
	BatchGetBuiltinEvaluator(ctx context.Context, evaluatorIDs []int64) ([]*entity.Evaluator, error)
	// BatchGetEvaluatorByIDAndVersion 批量根据 (evaluator_id, version) 查询具体版本
	BatchGetEvaluatorByIDAndVersion(ctx context.Context, pairs [][2]interface{}) ([]*entity.Evaluator, error)
	// GetEvaluatorVersion 按 version id 单个查询 evaluator_version version
	// withTags=true 时查询并回填标签(用于内置评估器),需传入 spaceID;否则查询普通评估器
	GetEvaluatorVersion(ctx context.Context, spaceID *int64, evaluatorVersionID int64, includeDeleted bool, withTags bool) (*entity.Evaluator, error)
	// BatchGetEvaluatorVersion 按 version id 批量查询 evaluator_version version
	BatchGetEvaluatorVersion(ctx context.Context, spaceID *int64, evaluatorVersionIDs []int64, includeDeleted bool) ([]*entity.Evaluator, error)
	// ListEvaluatorVersion 按条件查询 evaluator_version version
	ListEvaluatorVersion(ctx context.Context, request *entity.ListEvaluatorVersionRequest) (evaluatorVersions []*entity.Evaluator, total int64, err error)
	// SubmitEvaluatorVersion 提交 evaluator_version 版本
	SubmitEvaluatorVersion(ctx context.Context, evaluatorVersionDO *entity.Evaluator, version, description, cid string) (*entity.Evaluator, error)
	// CheckNameExist
	CheckNameExist(ctx context.Context, spaceID, evaluatorID int64, name string) (bool, error)
	// ListEvaluatorTags 根据 tagType 聚合标签,并按字母序返回
	ListEvaluatorTags(ctx context.Context, tagType entity.EvaluatorTagKeyType) (map[entity.EvaluatorTagKey][]string, error)
}

func NewEvaluatorServiceImpl

func NewEvaluatorServiceImpl(
	idgen idgen.IIDGenerator,
	limiter repo.RateLimiter,
	mqFactory mq.IFactory,
	evaluatorRepo repo.IEvaluatorRepo,
	evaluatorRecordRepo repo.IEvaluatorRecordRepo,
	idem idem.IdempotentService,
	configer conf.IConfiger,
	evaluatorSourceServices map[entity.EvaluatorType]EvaluatorSourceService,
	plainRateLimiter repo.IPlainRateLimiter,
) EvaluatorService

NewEvaluatorServiceImpl 创建 EvaluatorService 实例

type EvaluatorServiceImpl

type EvaluatorServiceImpl struct {
	// contains filtered or unexported fields
}

EvaluatorServiceImpl 实现 EvaluatorService 接口

func (*EvaluatorServiceImpl) BatchGetBuiltinEvaluator

func (e *EvaluatorServiceImpl) BatchGetBuiltinEvaluator(ctx context.Context, evaluatorIDs []int64) ([]*entity.Evaluator, error)

BatchGetBuiltinEvaluator 批量获取预置评估器(visible版本)

func (*EvaluatorServiceImpl) BatchGetEvaluator

func (e *EvaluatorServiceImpl) BatchGetEvaluator(ctx context.Context, spaceID int64, evaluatorIDs []int64, includeDeleted bool) ([]*entity.Evaluator, error)

BatchGetEvaluator 按 id 批量查询 evaluator草稿

func (*EvaluatorServiceImpl) BatchGetEvaluatorByIDAndVersion

func (e *EvaluatorServiceImpl) BatchGetEvaluatorByIDAndVersion(ctx context.Context, pairs [][2]interface{}) ([]*entity.Evaluator, error)

BatchGetEvaluatorByIDAndVersion 批量根据 (evaluator_id, version) 查询具体版本

func (*EvaluatorServiceImpl) BatchGetEvaluatorVersion

func (e *EvaluatorServiceImpl) BatchGetEvaluatorVersion(ctx context.Context, spaceID *int64, evaluatorVersionIDs []int64, includeDeleted bool) ([]*entity.Evaluator, error)

func (*EvaluatorServiceImpl) CheckNameExist

func (e *EvaluatorServiceImpl) CheckNameExist(ctx context.Context, spaceID, evaluatorID int64, name string) (bool, error)

func (*EvaluatorServiceImpl) CreateEvaluator

func (e *EvaluatorServiceImpl) CreateEvaluator(ctx context.Context, evaluator *entity.Evaluator, cid string) (int64, error)

CreateEvaluator 创建 evaluator_version

func (*EvaluatorServiceImpl) DebugEvaluator

func (e *EvaluatorServiceImpl) DebugEvaluator(ctx context.Context, evaluatorDO *entity.Evaluator, inputData *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64) (*entity.EvaluatorOutputData, error)

DebugEvaluator 调试 evaluator_version

func (*EvaluatorServiceImpl) DeleteEvaluator

func (e *EvaluatorServiceImpl) DeleteEvaluator(ctx context.Context, evaluatorIDs []int64, userID string) error

DeleteEvaluator 删除 evaluator_version

func (*EvaluatorServiceImpl) GetBuiltinEvaluator

func (e *EvaluatorServiceImpl) GetBuiltinEvaluator(ctx context.Context, evaluatorID int64) (*entity.Evaluator, error)

GetBuiltinEvaluator 根据 evaluatorID 查询元信息,若为预置评估器则按 builtin_visible_version 组装返回 非预置评估器或条件不满足时返回 nil

func (*EvaluatorServiceImpl) GetEvaluator

func (e *EvaluatorServiceImpl) GetEvaluator(ctx context.Context, spaceID, evaluatorID int64, includeDeleted bool) (*entity.Evaluator, error)

GetEvaluator 按 id 单个查询 evaluator元信息和草稿

func (*EvaluatorServiceImpl) GetEvaluatorVersion

func (e *EvaluatorServiceImpl) GetEvaluatorVersion(ctx context.Context, spaceID *int64, evaluatorVersionID int64, includeDeleted bool, withTags bool) (*entity.Evaluator, error)

GetEvaluatorVersion 按 id 和版本号单个查询 evaluator_version version

func (*EvaluatorServiceImpl) ListBuiltinEvaluator

func (e *EvaluatorServiceImpl) ListBuiltinEvaluator(ctx context.Context, request *entity.ListBuiltinEvaluatorRequest) ([]*entity.Evaluator, int64, error)

ListBuiltinEvaluator 查询内置评估器

func (*EvaluatorServiceImpl) ListEvaluator

ListEvaluator 按查询条件查询 evaluator_version

func (*EvaluatorServiceImpl) ListEvaluatorTags

func (e *EvaluatorServiceImpl) ListEvaluatorTags(ctx context.Context, tagType entity.EvaluatorTagKeyType) (map[entity.EvaluatorTagKey][]string, error)

ListEvaluatorTags 根据 tagType 聚合标签并按字母序排序

func (*EvaluatorServiceImpl) ListEvaluatorVersion

func (e *EvaluatorServiceImpl) ListEvaluatorVersion(ctx context.Context, request *entity.ListEvaluatorVersionRequest) (evaluatorVersions []*entity.Evaluator, total int64, err error)

ListEvaluatorVersion 按查询条件查询 evaluator_version version

func (*EvaluatorServiceImpl) RunEvaluator

RunEvaluator evaluator_version 运行

func (*EvaluatorServiceImpl) SubmitEvaluatorVersion

func (e *EvaluatorServiceImpl) SubmitEvaluatorVersion(ctx context.Context, evaluatorDO *entity.Evaluator, version, description, cid string) (*entity.Evaluator, error)

SubmitEvaluatorVersion 提交 evaluator_version 版本

func (*EvaluatorServiceImpl) UpdateBuiltinEvaluatorTags

func (e *EvaluatorServiceImpl) UpdateBuiltinEvaluatorTags(ctx context.Context, evaluatorID int64, tags map[entity.EvaluatorTagLangType]map[entity.EvaluatorTagKey][]string) error

UpdateBuiltinEvaluatorTags 根据 evaluatorID 全量对齐标签(多语言)

func (*EvaluatorServiceImpl) UpdateEvaluatorDraft

func (e *EvaluatorServiceImpl) UpdateEvaluatorDraft(ctx context.Context, versionDO *entity.Evaluator) error

UpdateEvaluatorDraft 修改 evaluator_version

func (*EvaluatorServiceImpl) UpdateEvaluatorMeta

func (e *EvaluatorServiceImpl) UpdateEvaluatorMeta(ctx context.Context, req *entity.UpdateEvaluatorMetaRequest) error

UpdateEvaluatorMeta 修改 evaluator_version

type EvaluatorSourceCodeServiceImpl

type EvaluatorSourceCodeServiceImpl struct {
	// contains filtered or unexported fields
}

EvaluatorSourceCodeServiceImpl Code评估器服务实现

func NewEvaluatorSourceCodeServiceImpl

func NewEvaluatorSourceCodeServiceImpl(
	runtimeManager component.IRuntimeManager,
	codeBuilderFactory CodeBuilderFactory,
	metric metrics.EvaluatorExecMetrics,
) *EvaluatorSourceCodeServiceImpl

NewEvaluatorSourceCodeServiceImpl 创建Code评估器服务实例

func (*EvaluatorSourceCodeServiceImpl) Debug

func (c *EvaluatorSourceCodeServiceImpl) Debug(ctx context.Context, evaluator *entity.Evaluator, input *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64) (output *entity.EvaluatorOutputData, err error)

Debug 调试Code评估器

func (*EvaluatorSourceCodeServiceImpl) EvaluatorType

EvaluatorType 返回评估器类型

func (*EvaluatorSourceCodeServiceImpl) PreHandle

func (c *EvaluatorSourceCodeServiceImpl) PreHandle(ctx context.Context, evaluator *entity.Evaluator) error

PreHandle 预处理Code评估器(语法检查等)

func (*EvaluatorSourceCodeServiceImpl) Run

func (c *EvaluatorSourceCodeServiceImpl) Run(ctx context.Context, evaluator *entity.Evaluator, input *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64, disableTracing bool) (output *entity.EvaluatorOutputData, runStatus entity.EvaluatorRunStatus, traceID string)

Run 执行Code评估器

func (*EvaluatorSourceCodeServiceImpl) Validate

func (c *EvaluatorSourceCodeServiceImpl) Validate(ctx context.Context, evaluator *entity.Evaluator) error

Validate 验证代码评估器

type EvaluatorSourcePromptServiceImpl

type EvaluatorSourcePromptServiceImpl struct {
	// contains filtered or unexported fields
}

func (*EvaluatorSourcePromptServiceImpl) Debug

func (p *EvaluatorSourcePromptServiceImpl) Debug(ctx context.Context, evaluator *entity.Evaluator, input *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64) (output *entity.EvaluatorOutputData, err error)

func (*EvaluatorSourcePromptServiceImpl) EvaluatorType

func (*EvaluatorSourcePromptServiceImpl) PreHandle

func (p *EvaluatorSourcePromptServiceImpl) PreHandle(ctx context.Context, evaluator *entity.Evaluator) error

func (*EvaluatorSourcePromptServiceImpl) Run

func (p *EvaluatorSourcePromptServiceImpl) Run(ctx context.Context, evaluator *entity.Evaluator, input *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64, disableTracing bool) (output *entity.EvaluatorOutputData, runStatus entity.EvaluatorRunStatus, traceID string)

func (*EvaluatorSourcePromptServiceImpl) Validate

Validate 验证Prompt评估器(Prompt评估器暂时提供空实现)

type EvaluatorSourceService

type EvaluatorSourceService interface {
	EvaluatorType() entity.EvaluatorType
	Run(ctx context.Context, evaluator *entity.Evaluator, input *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64, disableTracing bool) (output *entity.EvaluatorOutputData, runStatus entity.EvaluatorRunStatus, traceID string)
	Debug(ctx context.Context, evaluator *entity.Evaluator, input *entity.EvaluatorInputData, evaluatorRunConf *entity.EvaluatorRunConfig, exptSpaceID int64) (output *entity.EvaluatorOutputData, err error)
	PreHandle(ctx context.Context, evaluator *entity.Evaluator) error
	// Validate 验证评估器
	Validate(ctx context.Context, evaluator *entity.Evaluator) error
}

EvaluatorSourceService 定义 Evaluator 的 DO 接口

func NewEvaluatorSourcePromptServiceImpl

func NewEvaluatorSourcePromptServiceImpl(
	llmProvider rpc.ILLMProvider,
	metric metrics.EvaluatorExecMetrics,
	configer conf.IConfiger,
) EvaluatorSourceService

type EvaluatorTemplateService

type EvaluatorTemplateService interface {
	// CreateEvaluatorTemplate 创建评估器模板
	CreateEvaluatorTemplate(ctx context.Context, req *entity.CreateEvaluatorTemplateRequest) (*entity.CreateEvaluatorTemplateResponse, error)

	// UpdateEvaluatorTemplate 更新评估器模板
	UpdateEvaluatorTemplate(ctx context.Context, req *entity.UpdateEvaluatorTemplateRequest) (*entity.UpdateEvaluatorTemplateResponse, error)

	// DeleteEvaluatorTemplate 删除评估器模板
	DeleteEvaluatorTemplate(ctx context.Context, req *entity.DeleteEvaluatorTemplateRequest) (*entity.DeleteEvaluatorTemplateResponse, error)

	// GetEvaluatorTemplate 获取评估器模板详情
	GetEvaluatorTemplate(ctx context.Context, req *entity.GetEvaluatorTemplateRequest) (*entity.GetEvaluatorTemplateResponse, error)

	// ListEvaluatorTemplate 查询评估器模板列表
	ListEvaluatorTemplate(ctx context.Context, req *entity.ListEvaluatorTemplateRequest) (*entity.ListEvaluatorTemplateResponse, error)
}

EvaluatorTemplateService 定义 EvaluatorTemplate 的 Service 接口

func NewEvaluatorTemplateService

func NewEvaluatorTemplateService(templateRepo repo.EvaluatorTemplateRepo) EvaluatorTemplateService

NewEvaluatorTemplateService 创建 EvaluatorTemplateService 实例

type EvaluatorTemplateServiceImpl

type EvaluatorTemplateServiceImpl struct {
	// contains filtered or unexported fields
}

EvaluatorTemplateServiceImpl 实现 EvaluatorTemplateService 接口

func (*EvaluatorTemplateServiceImpl) CreateEvaluatorTemplate

CreateEvaluatorTemplate 创建评估器模板

func (*EvaluatorTemplateServiceImpl) DeleteEvaluatorTemplate

DeleteEvaluatorTemplate 删除评估器模板

func (*EvaluatorTemplateServiceImpl) GetEvaluatorTemplate

GetEvaluatorTemplate 获取评估器模板详情

func (*EvaluatorTemplateServiceImpl) ListEvaluatorTemplate

ListEvaluatorTemplate 查询评估器模板列表

func (*EvaluatorTemplateServiceImpl) UpdateEvaluatorTemplate

UpdateEvaluatorTemplate 更新评估器模板

type ExptAggrResultService

type ExptAggrResultService interface {
	BatchGetExptAggrResultByExperimentIDs(ctx context.Context, spaceID int64, experimentIDs []int64) ([]*entity.ExptAggregateResult, error)
	// Calculate and persist aggregate results upon experiment completion.
	// Note: consider timing issues when updating scores.
	CreateExptAggrResult(ctx context.Context, spaceID, experimentID int64) error
	// Update aggregate results upon manual score correction.
	UpdateExptAggrResult(ctx context.Context, param *entity.UpdateExptAggrResultParam) error
	CreateAnnotationAggrResult(ctx context.Context, param *entity.CreateSpecificFieldAggrResultParam) error
	UpdateAnnotationAggrResult(ctx context.Context, param *entity.UpdateExptAggrResultParam) (err error)
	PublishExptAggrResultEvent(ctx context.Context, event *entity.AggrCalculateEvent, duration *time.Duration) error
}

func NewExptAggrResultService

func NewExptAggrResultService(
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptAggrResultRepo repo.IExptAggrResultRepo,
	experimentRepo repo.IExperimentRepo, metric metrics.ExptMetric,
	evaluatorService EvaluatorService,
	evaluatorRecordService EvaluatorRecordService,
	tagRPCAdapter rpc.ITagRPCAdapter,
	exptAnnotateRepo repo.IExptAnnotateRepo,
	ets IEvalTargetService,
	pub events.ExptEventPublisher,
	locker lock.ILocker,
) ExptAggrResultService

type ExptAggrResultServiceImpl

type ExptAggrResultServiceImpl struct {
	// contains filtered or unexported fields
}

func (*ExptAggrResultServiceImpl) BatchGetExptAggrResultByExperimentIDs

func (e *ExptAggrResultServiceImpl) BatchGetExptAggrResultByExperimentIDs(ctx context.Context, spaceID int64, exptIDs []int64) ([]*entity.ExptAggregateResult, error)

func (*ExptAggrResultServiceImpl) CreateAnnotationAggrResult

func (e *ExptAggrResultServiceImpl) CreateAnnotationAggrResult(ctx context.Context, param *entity.CreateSpecificFieldAggrResultParam) (err error)

func (*ExptAggrResultServiceImpl) CreateExptAggrResult

func (e *ExptAggrResultServiceImpl) CreateExptAggrResult(ctx context.Context, spaceID, experimentID int64) (err error)

func (*ExptAggrResultServiceImpl) CreateOrUpdateExptAggrResult

func (e *ExptAggrResultServiceImpl) CreateOrUpdateExptAggrResult(ctx context.Context, spaceID, experimentID int64,
	evaluatorVersionID2AggregatorGroup map[int64]*AggregatorGroup, tmag *targetMtrAggrGroup, existedAggrResults []*entity.ExptAggrResult,
) error

func (*ExptAggrResultServiceImpl) MakeCalcExptAggrResultLockKey

func (e *ExptAggrResultServiceImpl) MakeCalcExptAggrResultLockKey(exptID int64) string

func (*ExptAggrResultServiceImpl) PublishExptAggrResultEvent

func (e *ExptAggrResultServiceImpl) PublishExptAggrResultEvent(ctx context.Context, event *entity.AggrCalculateEvent, duration *time.Duration) error

func (*ExptAggrResultServiceImpl) UpdateAnnotationAggrResult

func (e *ExptAggrResultServiceImpl) UpdateAnnotationAggrResult(ctx context.Context, param *entity.UpdateExptAggrResultParam) (err error)

func (*ExptAggrResultServiceImpl) UpdateExptAggrResult

func (e *ExptAggrResultServiceImpl) UpdateExptAggrResult(ctx context.Context, param *entity.UpdateExptAggrResultParam) (err error)

type ExptAnnotateServiceImpl

type ExptAnnotateServiceImpl struct {
	// contains filtered or unexported fields
}

func (ExptAnnotateServiceImpl) CreateExptTurnResultTagRefs

func (e ExptAnnotateServiceImpl) CreateExptTurnResultTagRefs(ctx context.Context, refs []*entity.ExptTurnResultTagRef) error

func (ExptAnnotateServiceImpl) DeleteExptTurnResultTagRef

func (e ExptAnnotateServiceImpl) DeleteExptTurnResultTagRef(ctx context.Context, exptID, spaceID, tagKeyID int64) error

func (ExptAnnotateServiceImpl) GetAnnotateRecordsByIDs

func (e ExptAnnotateServiceImpl) GetAnnotateRecordsByIDs(ctx context.Context, spaceID int64, recordIDs []int64) ([]*entity.AnnotateRecord, error)

func (ExptAnnotateServiceImpl) GetExptTurnResultTagRefs

func (e ExptAnnotateServiceImpl) GetExptTurnResultTagRefs(ctx context.Context, exptID, spaceID int64) ([]*entity.ExptTurnResultTagRef, error)

func (ExptAnnotateServiceImpl) SaveAnnotateRecord

func (e ExptAnnotateServiceImpl) SaveAnnotateRecord(ctx context.Context, exptID, itemID, turnID int64, record *entity.AnnotateRecord) error

func (ExptAnnotateServiceImpl) UpdateAnnotateRecord

func (e ExptAnnotateServiceImpl) UpdateAnnotateRecord(ctx context.Context, itemID, turnID int64, record *entity.AnnotateRecord) error

type ExptAppendExec

type ExptAppendExec struct {
	// contains filtered or unexported fields
}

func NewExptAppendMode

func NewExptAppendMode(
	manager IExptManager,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	idgenerator idgen.IIDGenerator,
	evaluationSetItemService EvaluationSetItemService,
	exptRepo repo.IExperimentRepo,
	idem idem.IdempotentService,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	evaluatorRecordService EvaluatorRecordService,
	templateManager IExptTemplateManager,
) *ExptAppendExec

func (*ExptAppendExec) ExptEnd

func (e *ExptAppendExec) ExptEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) (nextTick bool, err error)

func (*ExptAppendExec) ExptStart

func (e *ExptAppendExec) ExptStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

func (*ExptAppendExec) Mode

func (e *ExptAppendExec) Mode() entity.ExptRunMode

func (*ExptAppendExec) NextTick

func (e *ExptAppendExec) NextTick(ctx context.Context, event *entity.ExptScheduleEvent, nextTick bool) error

func (*ExptAppendExec) PublishResult

func (e *ExptAppendExec) PublishResult(ctx context.Context, turnEvaluatorRefs []*entity.ExptTurnEvaluatorResultRef, event *entity.ExptScheduleEvent) error

func (*ExptAppendExec) ScanEvalItems

func (e *ExptAppendExec) ScanEvalItems(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) (toSubmit, incomplete, complete []*entity.ExptEvalItem, err error)

func (*ExptAppendExec) ScheduleEnd

func (e *ExptAppendExec) ScheduleEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) error

func (*ExptAppendExec) ScheduleStart

func (e *ExptAppendExec) ScheduleStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

type ExptCheckFn

type ExptCheckFn = func(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

type ExptFailRetryExec

type ExptFailRetryExec struct {
	// contains filtered or unexported fields
}

func NewExptFailRetryMode

func NewExptFailRetryMode(
	manager IExptManager,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	idgenerator idgen.IIDGenerator,
	exptRepo repo.IExperimentRepo,
	idem idem.IdempotentService,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	evaluatorRecordService EvaluatorRecordService,
	templateManager IExptTemplateManager,
) *ExptFailRetryExec

func (*ExptFailRetryExec) ExptEnd

func (e *ExptFailRetryExec) ExptEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) (nextTick bool, err error)

func (*ExptFailRetryExec) ExptStart

func (*ExptFailRetryExec) Mode

func (*ExptFailRetryExec) NextTick

func (e *ExptFailRetryExec) NextTick(ctx context.Context, event *entity.ExptScheduleEvent, nextTick bool) error

func (*ExptFailRetryExec) PublishResult

func (e *ExptFailRetryExec) PublishResult(ctx context.Context, turnEvaluatorRefs []*entity.ExptTurnEvaluatorResultRef, event *entity.ExptScheduleEvent) error

func (*ExptFailRetryExec) ScanEvalItems

func (e *ExptFailRetryExec) ScanEvalItems(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) (toSubmit, incomplete, complete []*entity.ExptEvalItem, err error)

func (*ExptFailRetryExec) ScheduleEnd

func (e *ExptFailRetryExec) ScheduleEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) error

func (*ExptFailRetryExec) ScheduleStart

func (e *ExptFailRetryExec) ScheduleStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

type ExptInsightAnalysisServiceImpl

type ExptInsightAnalysisServiceImpl struct {
	// contains filtered or unexported fields
}

func (ExptInsightAnalysisServiceImpl) CreateAnalysisRecord

func (e ExptInsightAnalysisServiceImpl) CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, session *entity.Session) (int64, error)

func (ExptInsightAnalysisServiceImpl) DeleteAnalysisRecord

func (e ExptInsightAnalysisServiceImpl) DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error

func (ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysis

func (ExptInsightAnalysisServiceImpl) GenAnalysisReport

func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID, CreateAt int64) (err error)

func (ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID

func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error)

func (ExptInsightAnalysisServiceImpl) GetAnalysisRecordFeedbackVoteByUser

func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordFeedbackVoteByUser(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisFeedbackVote, error)

func (ExptInsightAnalysisServiceImpl) ListAnalysisRecord

func (e ExptInsightAnalysisServiceImpl) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error)

func (ExptInsightAnalysisServiceImpl) ListExptInsightAnalysisFeedbackComment

func (e ExptInsightAnalysisServiceImpl) ListExptInsightAnalysisFeedbackComment(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error)

type ExptItemEvalCtxExecutor

type ExptItemEvalCtxExecutor struct {
	TurnResultRepo repo.IExptTurnResultRepo
	ItemResultRepo repo.IExptItemResultRepo
	Configer       component.IConfiger
	Metric         metrics.ExptMetric
	// contains filtered or unexported fields
}

func (*ExptItemEvalCtxExecutor) CompleteItemRun

func (e *ExptItemEvalCtxExecutor) CompleteItemRun(ctx context.Context, event *entity.ExptItemEvalEvent, evalErr error) error

func (*ExptItemEvalCtxExecutor) Eval

func (*ExptItemEvalCtxExecutor) EvalTurns

func (e *ExptItemEvalCtxExecutor) EvalTurns(ctx context.Context, eiec *entity.ExptItemEvalCtx) (asyncAbort bool, err error)

func (*ExptItemEvalCtxExecutor) SetItemRunProcessing

func (e *ExptItemEvalCtxExecutor) SetItemRunProcessing(ctx context.Context, exptID, exptRunID, itemID, spaceID int64, session *entity.Session) error

type ExptItemEvalEvent

type ExptItemEvalEvent interface {
	Eval(ctx context.Context, event *entity.ExptItemEvalEvent) error
}

func NewExptRecordEvalService

func NewExptRecordEvalService(
	manager IExptManager,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	experimentRepo repo.IExperimentRepo,
	quotaRepo repo.QuotaRepo,
	mutex lock.ILocker,
	idem idem.IdempotentService,
	auditClient audit.IAuditService,
	metric metrics.ExptMetric,
	resultSvc ExptResultService,
	evaTargetService IEvalTargetService,
	evaluationSetItemService EvaluationSetItemService,
	evaluatorRecordService EvaluatorRecordService,
	evaluatorService EvaluatorService,
	idgen idgen.IIDGenerator,
	benefitService benefit.IBenefitService,
	evalAsyncRepo repo.IEvalAsyncRepo,
) ExptItemEvalEvent

type ExptItemEvaluation

type ExptItemEvaluation interface {
	Eval(ctx context.Context, eiec *entity.ExptItemEvalCtx) error
}

func NewExptItemEvaluation

func NewExptItemEvaluation(
	turnResultRepo repo.IExptTurnResultRepo,
	itemResultRepo repo.IExptItemResultRepo,
	configer component.IConfiger,
	metric metrics.ExptMetric,
	evalTargetService IEvalTargetService,
	evaluatorRecordService EvaluatorRecordService,
	evaluatorService EvaluatorService,
	benefitService benefit.IBenefitService,
	evalAsyncRepo repo.IEvalAsyncRepo,
	evalSetItemSvc EvaluationSetItemService,
) ExptItemEvaluation

type ExptItemEventEvalServiceImpl

type ExptItemEventEvalServiceImpl struct {
	// contains filtered or unexported fields
}

func (*ExptItemEventEvalServiceImpl) BuildExptRecordEvalCtx

func (*ExptItemEventEvalServiceImpl) Eval

func (*ExptItemEventEvalServiceImpl) GetExistExptRecordEvalResult

func (e *ExptItemEventEvalServiceImpl) GetExistExptRecordEvalResult(ctx context.Context, event *entity.ExptItemEvalEvent) (*entity.ExptItemEvalResult, error)

func (*ExptItemEventEvalServiceImpl) HandleEventCheck

func (*ExptItemEventEvalServiceImpl) HandleEventErr

func (*ExptItemEventEvalServiceImpl) HandleEventExec

func (*ExptItemEventEvalServiceImpl) HandleEventLock

func (*ExptItemEventEvalServiceImpl) WithCtx

type ExptItemTurnEvaluation

type ExptItemTurnEvaluation interface {
	Eval(ctx context.Context, etec *entity.ExptTurnEvalCtx) *entity.ExptTurnRunResult
}

ExptItemTurnEvaluation evaluation execution process

func NewExptTurnEvaluation

func NewExptTurnEvaluation(
	metric metrics.ExptMetric,
	evalTargetService IEvalTargetService,
	evaluatorService EvaluatorService,
	benefitService benefit.IBenefitService,
	evalAsyncRepo repo.IEvalAsyncRepo,
	evalSetItemSvc EvaluationSetItemService,
) ExptItemTurnEvaluation

type ExptMangerImpl

type ExptMangerImpl struct {
	// contains filtered or unexported fields
}

func (*ExptMangerImpl) CheckBenefit

func (e *ExptMangerImpl) CheckBenefit(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

func (*ExptMangerImpl) CheckConnector

func (e *ExptMangerImpl) CheckConnector(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

func (*ExptMangerImpl) CheckEvalSet

func (e *ExptMangerImpl) CheckEvalSet(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

func (*ExptMangerImpl) CheckExpt

func (e *ExptMangerImpl) CheckExpt(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

func (*ExptMangerImpl) CheckName

func (e *ExptMangerImpl) CheckName(ctx context.Context, name string, spaceID int64, session *entity.Session) (pass bool, err error)

func (*ExptMangerImpl) CheckRun

func (e *ExptMangerImpl) CheckRun(ctx context.Context, expt *entity.Experiment, spaceID int64, session *entity.Session, opts ...entity.ExptRunCheckOptionFn) error

func (*ExptMangerImpl) Clone

func (e *ExptMangerImpl) Clone(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.Experiment, error)

func (*ExptMangerImpl) CompleteExpt

func (e *ExptMangerImpl) CompleteExpt(ctx context.Context, exptID, spaceID int64, session *entity.Session, opts ...entity.CompleteExptOptionFn) error

func (*ExptMangerImpl) CompleteRun

func (e *ExptMangerImpl) CompleteRun(ctx context.Context, exptID, exptRunID int64, spaceID int64, session *entity.Session, opts ...entity.CompleteExptOptionFn) error

func (*ExptMangerImpl) Create

func (e *ExptMangerImpl) Create(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

func (*ExptMangerImpl) CreateExpt

func (e *ExptMangerImpl) CreateExpt(ctx context.Context, req *entity.CreateExptParam, session *entity.Session) (*entity.Experiment, error)

func (*ExptMangerImpl) Delete

func (e *ExptMangerImpl) Delete(ctx context.Context, exptID, spaceID int64, session *entity.Session) error

func (*ExptMangerImpl) Finish

func (e *ExptMangerImpl) Finish(ctx context.Context, expt *entity.Experiment, exptRunID int64, session *entity.Session) error

func (*ExptMangerImpl) Get

func (e *ExptMangerImpl) Get(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.Experiment, error)

func (*ExptMangerImpl) GetDetail

func (e *ExptMangerImpl) GetDetail(ctx context.Context, exptID, spaceID int64, session *entity.Session, opts ...entity.GetExptTupleOptionFn) (*entity.Experiment, error)

func (*ExptMangerImpl) GetRunLog

func (e *ExptMangerImpl) GetRunLog(ctx context.Context, exptID, exptRunID, spaceID int64, session *entity.Session) (*entity.ExptRunLog, error)

func (*ExptMangerImpl) Invoke

func (e *ExptMangerImpl) Invoke(ctx context.Context, invokeExptReq *entity.InvokeExptReq) error

func (*ExptMangerImpl) IsCompletingRun

func (e *ExptMangerImpl) IsCompletingRun(ctx context.Context, exptID, exptRunID, spaceID int64) (bool, error)

func (*ExptMangerImpl) Kill

func (e *ExptMangerImpl) Kill(ctx context.Context, exptID, spaceID int64, msg string, session *entity.Session) error

func (*ExptMangerImpl) List

func (e *ExptMangerImpl) List(ctx context.Context, page, pageSize int32, spaceID int64, filter *entity.ExptListFilter, orderBys []*entity.OrderBy, session *entity.Session) ([]*entity.Experiment, int64, error)

func (*ExptMangerImpl) ListExptRaw

func (e *ExptMangerImpl) ListExptRaw(ctx context.Context, page, pageSize int32, spaceID int64, filter *entity.ExptListFilter) ([]*entity.Experiment, int64, error)

func (*ExptMangerImpl) LogRetryItemsRun

func (e *ExptMangerImpl) LogRetryItemsRun(ctx context.Context, exptID int64, mode entity.ExptRunMode, spaceID int64, itemIDs []int64, session *entity.Session) (runID int64, retried bool, err error)

func (*ExptMangerImpl) LogRun

func (e *ExptMangerImpl) LogRun(ctx context.Context, exptID, exptRunID int64, mode entity.ExptRunMode, spaceID int64, itemIDs []int64, session *entity.Session) error

func (*ExptMangerImpl) MDelete

func (e *ExptMangerImpl) MDelete(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) error

func (*ExptMangerImpl) MGet

func (e *ExptMangerImpl) MGet(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) ([]*entity.Experiment, error)

func (*ExptMangerImpl) MGetDetail

func (e *ExptMangerImpl) MGetDetail(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) ([]*entity.Experiment, error)

func (*ExptMangerImpl) PendExpt

func (e *ExptMangerImpl) PendExpt(ctx context.Context, exptID, spaceID int64, session *entity.Session, opts ...entity.CompleteExptOptionFn) error

func (*ExptMangerImpl) PendRun

func (e *ExptMangerImpl) PendRun(ctx context.Context, exptID, exptRunID, spaceID int64, session *entity.Session) error

func (*ExptMangerImpl) RetryItems

func (e *ExptMangerImpl) RetryItems(ctx context.Context, exptID, runID, spaceID int64, itemRetryNum int, itemIDs []int64, session *entity.Session, ext map[string]string) error

func (*ExptMangerImpl) Run

func (e *ExptMangerImpl) Run(ctx context.Context, exptID, runID, spaceID int64, itemRetryNum int, session *entity.Session, runMode entity.ExptRunMode, ext map[string]string) error

func (*ExptMangerImpl) SetExptTerminating

func (e *ExptMangerImpl) SetExptTerminating(ctx context.Context, exptID, exptRunID, spaceID int64, session *entity.Session) error

func (*ExptMangerImpl) Update

func (e *ExptMangerImpl) Update(ctx context.Context, expt *entity.Experiment, session *entity.Session) error

type ExptRecordEvalModeFailRetry

type ExptRecordEvalModeFailRetry struct {
	// contains filtered or unexported fields
}

func (*ExptRecordEvalModeFailRetry) PostEval

func (*ExptRecordEvalModeFailRetry) PreEval

type ExptRecordEvalModeRetryIgnoreResult

type ExptRecordEvalModeRetryIgnoreResult struct {
	// contains filtered or unexported fields
}

func (*ExptRecordEvalModeRetryIgnoreResult) PostEval

func (*ExptRecordEvalModeRetryIgnoreResult) PreEval

type ExptRecordEvalModeSubmit

type ExptRecordEvalModeSubmit struct {
	// contains filtered or unexported fields
}

func (*ExptRecordEvalModeSubmit) PostEval

func (*ExptRecordEvalModeSubmit) PreEval

type ExptResultBuilder

type ExptResultBuilder struct {
	ExptID                    int64
	BaselineExptID            int64
	SpaceID                   int64
	ItemIDs                   []int64        // 基准实验的itemID, 未匹配的不展示
	TurnIDMap                 map[int64]bool // 由于是itemID查询,对于多轮需要用turnID过滤. 对于单轮长度为0
	ItemIDTurnID2TurnResultID map[int64]map[int64]int64

	// 错误信息
	Err error

	ExperimentRepo     repo.IExperimentRepo
	ExptTurnResultRepo repo.IExptTurnResultRepo
	ExptAnnotateRepo   repo.IExptAnnotateRepo

	// 控制是否保留 trajectory 字段
	FullTrajectory bool
	// contains filtered or unexported fields
}

ExptResultBuilder 构建单实验结果

type ExptResultExportService

type ExptResultExportService struct {
	// contains filtered or unexported fields
}

func (ExptResultExportService) DoExportCSV

func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptID int64, fileName string, withLogID bool) (err error)

func (ExptResultExportService) ExportCSV

func (e ExptResultExportService) ExportCSV(ctx context.Context, spaceID, exptID int64, session *entity.Session) (int64, error)

func (ExptResultExportService) GetExptExportRecord

func (e ExptResultExportService) GetExptExportRecord(ctx context.Context, spaceID, exportID int64) (*entity.ExptResultExportRecord, error)

func (ExptResultExportService) HandleExportEvent

func (e ExptResultExportService) HandleExportEvent(ctx context.Context, spaceID, exptID, exportID int64) (err error)

func (ExptResultExportService) ListExportRecord

func (e ExptResultExportService) ListExportRecord(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*entity.ExptResultExportRecord, int64, error)

func (ExptResultExportService) UpdateExportRecord

func (e ExptResultExportService) UpdateExportRecord(ctx context.Context, exportRecord *entity.ExptResultExportRecord) error

type ExptResultService

type ExptResultService interface {
	MGetExperimentResult(ctx context.Context, param *entity.MGetExperimentResultParam) (*entity.MGetExperimentReportResult, error)
	// RecordItemRunLogs sync results from run_log table to result table
	RecordItemRunLogs(ctx context.Context, exptID, exptRunID, itemID, spaceID int64) ([]*entity.ExptTurnEvaluatorResultRef, error)
	GetExptItemTurnResults(ctx context.Context, exptID, itemID, spaceID int64, session *entity.Session) ([]*entity.ExptTurnResult, error)

	CreateStats(ctx context.Context, exptStats *entity.ExptStats, session *entity.Session) error
	GetStats(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.ExptStats, error)
	MGetStats(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) ([]*entity.ExptStats, error)
	CalculateStats(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.ExptCalculateStats, error)
	GetIncompleteTurns(ctx context.Context, exptID, spaceID int64, session *entity.Session) ([]*entity.ItemTurnID, error)

	ManualUpsertExptTurnResultFilter(ctx context.Context, spaceID, exptID int64, itemIDs []int64) error
	UpsertExptTurnResultFilter(ctx context.Context, spaceID, exptID int64, itemID []int64) error
	InsertExptTurnResultFilterKeyMappings(ctx context.Context, mappings []*entity.ExptTurnResultFilterKeyMapping) error
	CompareExptTurnResultFilters(ctx context.Context, spaceID, exptID int64, itemIDs []int64, retryTimes int32) error
	// RecalculateWeightedScore 重新计算指定轮次的加权得分并更新到 expt_turn_result
	RecalculateWeightedScore(ctx context.Context, spaceID, exptID, itemID, turnID int64) error
}

func NewExptResultService

func NewExptResultService(
	exptItemResultRepo repo.IExptItemResultRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptAnnotateRepo repo.IExptAnnotateRepo,
	exptStatsRepo repo.IExptStatsRepo,
	experimentRepo repo.IExperimentRepo,
	metric metrics.ExptMetric,
	lwt platestwrite.ILatestWriteTracker,
	idgen idgen.IIDGenerator,
	exptTurnResultFilterRepo repo.IExptTurnResultFilterRepo,
	evaluatorService EvaluatorService,
	evalTargetService IEvalTargetService,
	evaluationSetVersionService EvaluationSetVersionService,
	evaluationSetService IEvaluationSetService,
	evaluatorRecordService EvaluatorRecordService,
	evaluationSetItemService EvaluationSetItemService,
	publisher events.ExptEventPublisher,
	tagRPCAdapter rpc.ITagRPCAdapter,
	analysisService IEvaluationAnalysisService,
) ExptResultService

type ExptResultServiceImpl

type ExptResultServiceImpl struct {
	ExptItemResultRepo repo.IExptItemResultRepo
	ExptTurnResultRepo repo.IExptTurnResultRepo
	ExptStatsRepo      repo.IExptStatsRepo
	ExperimentRepo     repo.IExperimentRepo
	Metric             metrics.ExptMetric

	ExptAnnotateRepo repo.IExptAnnotateRepo
	// contains filtered or unexported fields
}

func (ExptResultServiceImpl) CalculateStats

func (e ExptResultServiceImpl) CalculateStats(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.ExptCalculateStats, error)

func (ExptResultServiceImpl) CompareExptTurnResultFilters

func (e ExptResultServiceImpl) CompareExptTurnResultFilters(ctx context.Context, spaceID, exptID int64, itemIDs []int64, retryTimes int32) error

func (ExptResultServiceImpl) CreateStats

func (e ExptResultServiceImpl) CreateStats(ctx context.Context, exptStats *entity.ExptStats, session *entity.Session) error

func (ExptResultServiceImpl) GetExptItemTurnResults

func (e ExptResultServiceImpl) GetExptItemTurnResults(ctx context.Context, exptID, itemID, spaceID int64, session *entity.Session) ([]*entity.ExptTurnResult, error)

func (ExptResultServiceImpl) GetIncompleteTurns

func (e ExptResultServiceImpl) GetIncompleteTurns(ctx context.Context, exptID, spaceID int64, session *entity.Session) ([]*entity.ItemTurnID, error)

func (ExptResultServiceImpl) GetStats

func (e ExptResultServiceImpl) GetStats(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.ExptStats, error)

func (ExptResultServiceImpl) InsertExptTurnResultFilterKeyMappings

func (e ExptResultServiceImpl) InsertExptTurnResultFilterKeyMappings(ctx context.Context, mappings []*entity.ExptTurnResultFilterKeyMapping) error

func (ExptResultServiceImpl) ListTurnResult

func (e ExptResultServiceImpl) ListTurnResult(ctx context.Context, param *entity.MGetExperimentResultParam, expt *entity.Experiment) (turnResultDAOs []*entity.ExptTurnResult, itemID2ItemRunState map[int64]entity.ItemRunState, totalTurn int64, err error)

func (ExptResultServiceImpl) MGetExperimentResult

func (ExptResultServiceImpl) MGetStats

func (e ExptResultServiceImpl) MGetStats(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) ([]*entity.ExptStats, error)

func (ExptResultServiceImpl) ManualUpsertExptTurnResultFilter

func (e ExptResultServiceImpl) ManualUpsertExptTurnResultFilter(ctx context.Context, spaceID, exptID int64, itemIDs []int64) error

ManualUpsertExptTurnResultFilter 手动更新实验结果过滤条件

func (*ExptResultServiceImpl) RecalculateWeightedScore

func (e *ExptResultServiceImpl) RecalculateWeightedScore(ctx context.Context, spaceID, exptID, itemID, turnID int64) error

RecalculateWeightedScore 重新计算指定轮次的加权得分并更新到 expt_turn_result

func (ExptResultServiceImpl) RecordItemRunLogs

func (e ExptResultServiceImpl) RecordItemRunLogs(ctx context.Context, exptID, exptRunID, itemID, spaceID int64) ([]*entity.ExptTurnEvaluatorResultRef, error)

func (ExptResultServiceImpl) UpsertExptTurnResultFilter

func (e ExptResultServiceImpl) UpsertExptTurnResultFilter(ctx context.Context, spaceID, exptID int64, itemIDs []int64) error

type ExptRetryAllExec

type ExptRetryAllExec struct {
	// contains filtered or unexported fields
}

func NewExptRetryAllExec

func NewExptRetryAllExec(
	manager IExptManager,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	idgenerator idgen.IIDGenerator,
	evaluationSetItemService EvaluationSetItemService,
	exptRepo repo.IExperimentRepo,
	idem idem.IdempotentService,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	evaluatorRecordService EvaluatorRecordService,
	templateManager IExptTemplateManager,
) *ExptRetryAllExec

func (*ExptRetryAllExec) ExptEnd

func (e *ExptRetryAllExec) ExptEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) (nextTick bool, err error)

func (*ExptRetryAllExec) ExptStart

func (*ExptRetryAllExec) Mode

func (*ExptRetryAllExec) NextTick

func (e *ExptRetryAllExec) NextTick(ctx context.Context, event *entity.ExptScheduleEvent, nextTick bool) error

func (*ExptRetryAllExec) PublishResult

func (e *ExptRetryAllExec) PublishResult(ctx context.Context, turnEvaluatorRefs []*entity.ExptTurnEvaluatorResultRef, event *entity.ExptScheduleEvent) error

func (*ExptRetryAllExec) ScanEvalItems

func (e *ExptRetryAllExec) ScanEvalItems(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) (toSubmit, incomplete, complete []*entity.ExptEvalItem, err error)

func (*ExptRetryAllExec) ScheduleEnd

func (e *ExptRetryAllExec) ScheduleEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) error

func (*ExptRetryAllExec) ScheduleStart

func (e *ExptRetryAllExec) ScheduleStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

type ExptRetryItemsExec

type ExptRetryItemsExec struct {
	// contains filtered or unexported fields
}

func NewExptRetryItemsExec

func NewExptRetryItemsExec(
	manager IExptManager,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	idgenerator idgen.IIDGenerator,
	evaluationSetItemService EvaluationSetItemService,
	exptRepo repo.IExperimentRepo,
	idem idem.IdempotentService,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	evaluatorRecordService EvaluatorRecordService,
	templateManager IExptTemplateManager,
	exptRunLogRepo repo.IExptRunLogRepo,
) *ExptRetryItemsExec

func (*ExptRetryItemsExec) ExptEnd

func (e *ExptRetryItemsExec) ExptEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) (nextTick bool, err error)

func (*ExptRetryItemsExec) ExptStart

func (*ExptRetryItemsExec) Mode

func (*ExptRetryItemsExec) NextTick

func (e *ExptRetryItemsExec) NextTick(ctx context.Context, event *entity.ExptScheduleEvent, nextTick bool) error

func (*ExptRetryItemsExec) PublishResult

func (e *ExptRetryItemsExec) PublishResult(ctx context.Context, turnEvaluatorRefs []*entity.ExptTurnEvaluatorResultRef, event *entity.ExptScheduleEvent) error

func (*ExptRetryItemsExec) ScanEvalItems

func (e *ExptRetryItemsExec) ScanEvalItems(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) (toSubmit, incomplete, complete []*entity.ExptEvalItem, err error)

func (*ExptRetryItemsExec) ScheduleEnd

func (e *ExptRetryItemsExec) ScheduleEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) error

func (*ExptRetryItemsExec) ScheduleStart

func (e *ExptRetryItemsExec) ScheduleStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

type ExptSchedulerEvent

type ExptSchedulerEvent interface {
	Schedule(ctx context.Context, event *entity.ExptScheduleEvent) error
}

func NewExptSchedulerSvc

func NewExptSchedulerSvc(
	manager IExptManager,
	exptRepo repo.IExperimentRepo,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptRunLogRepo repo.IExptRunLogRepo,
	Idem idem.IdempotentService,
	configer component.IConfiger,
	quotaRepo repo.QuotaRepo,
	mutex lock.ILocker,
	publisher events.ExptEventPublisher,
	auditClient audit.IAuditService,
	metric metrics.ExptMetric,
	resultSvc ExptResultService,
	idGen idgen.IIDGenerator,
	evaluationSetItemService EvaluationSetItemService,
	schedulerModeFactory SchedulerModeFactory,
) ExptSchedulerEvent

type ExptSchedulerImpl

type ExptSchedulerImpl struct {
	Manager            IExptManager
	ExptRepo           repo.IExperimentRepo
	Publisher          events.ExptEventPublisher
	ExptItemResultRepo repo.IExptItemResultRepo
	ExptTurnResultRepo repo.IExptTurnResultRepo
	ExptStatsRepo      repo.IExptStatsRepo
	ExptRunLogRepo     repo.IExptRunLogRepo
	Idem               idem.IdempotentService
	Configer           component.IConfiger
	QuotaRepo          repo.QuotaRepo
	Mutex              lock.ILocker
	AuditClient        audit.IAuditService
	Metric             metrics.ExptMetric
	Endpoints          SchedulerEndPoint
	ResultSvc          ExptResultService
	IDGen              idgen.IIDGenerator
	// contains filtered or unexported fields
}

func (*ExptSchedulerImpl) HandleEventCheck

func (e *ExptSchedulerImpl) HandleEventCheck(next SchedulerEndPoint) SchedulerEndPoint

func (*ExptSchedulerImpl) HandleEventEndpoint

func (e *ExptSchedulerImpl) HandleEventEndpoint(next SchedulerEndPoint) SchedulerEndPoint

func (*ExptSchedulerImpl) HandleEventErr

func (e *ExptSchedulerImpl) HandleEventErr(next SchedulerEndPoint) SchedulerEndPoint

func (*ExptSchedulerImpl) HandleEventLock

func (e *ExptSchedulerImpl) HandleEventLock(next SchedulerEndPoint) SchedulerEndPoint

func (*ExptSchedulerImpl) Schedule

func (*ExptSchedulerImpl) SysOps

type ExptSubmitExec

type ExptSubmitExec struct {
	// contains filtered or unexported fields
}

func NewExptSubmitMode

func NewExptSubmitMode(
	manager IExptManager,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	idgenerator idgen.IIDGenerator,
	evaluationSetItemService EvaluationSetItemService,
	exptRepo repo.IExperimentRepo,
	idem idem.IdempotentService,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	evaluatorRecordService EvaluatorRecordService,
	resultSvc ExptResultService,
	templateManager IExptTemplateManager,
) *ExptSubmitExec

func (*ExptSubmitExec) ExptEnd

func (e *ExptSubmitExec) ExptEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) (nextTick bool, err error)

func (*ExptSubmitExec) ExptStart

func (e *ExptSubmitExec) ExptStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

func (*ExptSubmitExec) Mode

func (e *ExptSubmitExec) Mode() entity.ExptRunMode

func (*ExptSubmitExec) NextTick

func (e *ExptSubmitExec) NextTick(ctx context.Context, event *entity.ExptScheduleEvent, nextTick bool) error

func (*ExptSubmitExec) PublishResult

func (e *ExptSubmitExec) PublishResult(ctx context.Context, turnEvaluatorRefs []*entity.ExptTurnEvaluatorResultRef, event *entity.ExptScheduleEvent) error

func (*ExptSubmitExec) ScanEvalItems

func (e *ExptSubmitExec) ScanEvalItems(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) (toSubmit, incomplete, complete []*entity.ExptEvalItem, err error)

func (*ExptSubmitExec) ScheduleEnd

func (e *ExptSubmitExec) ScheduleEnd(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment, toSubmit, incomplete int) error

func (*ExptSubmitExec) ScheduleStart

func (e *ExptSubmitExec) ScheduleStart(ctx context.Context, event *entity.ExptScheduleEvent, expt *entity.Experiment) error

type ExptTemplateManagerImpl

type ExptTemplateManagerImpl struct {
	// contains filtered or unexported fields
}

func (*ExptTemplateManagerImpl) CheckName

func (e *ExptTemplateManagerImpl) CheckName(ctx context.Context, name string, spaceID int64, session *entity.Session) (bool, error)

func (*ExptTemplateManagerImpl) Create

func (*ExptTemplateManagerImpl) Delete

func (e *ExptTemplateManagerImpl) Delete(ctx context.Context, templateID, spaceID int64, session *entity.Session) error

func (*ExptTemplateManagerImpl) Get

func (e *ExptTemplateManagerImpl) Get(ctx context.Context, templateID, spaceID int64, session *entity.Session) (*entity.ExptTemplate, error)

func (*ExptTemplateManagerImpl) List

func (e *ExptTemplateManagerImpl) List(ctx context.Context, page, pageSize int32, spaceID int64, filter *entity.ExptTemplateListFilter, orderBys []*entity.OrderBy, session *entity.Session) ([]*entity.ExptTemplate, int64, error)

func (*ExptTemplateManagerImpl) MGet

func (e *ExptTemplateManagerImpl) MGet(ctx context.Context, templateIDs []int64, spaceID int64, session *entity.Session) ([]*entity.ExptTemplate, error)

func (*ExptTemplateManagerImpl) Update

func (*ExptTemplateManagerImpl) UpdateExptInfo

func (e *ExptTemplateManagerImpl) UpdateExptInfo(ctx context.Context, templateID, spaceID int64, exptID int64, exptStatus entity.ExptStatus, adjustCount int64) error

UpdateExptInfo 更新实验模板的 ExptInfo adjustCount: 实验数量的增量(创建实验时为 +1,删除实验时为 -1,状态变更时为 0)

func (*ExptTemplateManagerImpl) UpdateMeta

type IEvalTargetService

type IEvalTargetService interface {
	CreateEvalTarget(ctx context.Context, spaceID int64, sourceTargetID, sourceTargetVersion string, targetType entity.EvalTargetType, opts ...entity.Option) (id, versionID int64, err error)
	GetEvalTarget(ctx context.Context, targetID int64) (do *entity.EvalTarget, err error)
	GetEvalTargetVersion(ctx context.Context, spaceID, versionID int64, needSourceInfo bool) (do *entity.EvalTarget, err error)
	GetEvalTargetVersionBySource(ctx context.Context, spaceID, targetID int64, sourceVersion string, needSourceInfo bool) (do *entity.EvalTarget, err error)
	GetEvalTargetVersionByTarget(ctx context.Context, spaceID, targetID int64, sourceTargetVersion string, needSourceInfo bool) (do *entity.EvalTarget, err error)
	GetEvalTargetVersionBySourceTarget(ctx context.Context, spaceID int64, sourceTargetID, sourceTargetVersion string, targetType entity.EvalTargetType, needSourceInfo bool) (do *entity.EvalTarget, err error)
	BatchGetEvalTargetBySource(ctx context.Context, param *entity.BatchGetEvalTargetBySourceParam) (dos []*entity.EvalTarget, err error)
	BatchGetEvalTargetVersion(ctx context.Context, spaceID int64, versionIDs []int64, needSourceInfo bool) (dos []*entity.EvalTarget, err error)

	ExecuteTarget(ctx context.Context, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (*entity.EvalTargetRecord, error)
	AsyncExecuteTarget(ctx context.Context, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (record *entity.EvalTargetRecord, callee string, err error)
	DebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, err error)
	AsyncDebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, callee string, err error)
	GetRecordByID(ctx context.Context, spaceID int64, recordID int64) (*entity.EvalTargetRecord, error)
	CreateRecord(ctx context.Context, record *entity.EvalTargetRecord) error
	BatchGetRecordByIDs(ctx context.Context, spaceID int64, recordIDs []int64) ([]*entity.EvalTargetRecord, error)
	ReportInvokeRecords(ctx context.Context, recordID2Params *entity.ReportTargetRecordParam) error
	ValidateRuntimeParam(ctx context.Context, targetType entity.EvalTargetType, runtimeParam string) error
	GenerateMockOutputData(outputSchemas []*entity.ArgsSchema) (map[string]string, error)
	ExtractTrajectory(ctx context.Context, spaceID int64, traceID string, startTimeMS *int64) (*entity.Trajectory, error)
}

func NewEvalTargetServiceImpl

func NewEvalTargetServiceImpl(evalTargetRepo repo.IEvalTargetRepo,
	idgen idgen.IIDGenerator,
	metric metrics.EvalTargetMetrics,
	typedOperators map[entity.EvalTargetType]ISourceEvalTargetOperateService,
	trajectoryAdapter rpc.ITrajectoryAdapter,
	configer component.IConfiger,
) IEvalTargetService

type IEvaluationAnalysisService

type IEvaluationAnalysisService interface {
	GetAnalysisRecord(ctx context.Context, id, spaceID int64) (record *entity.AnalysisRecord, err error)
	BatchGetAnalysisRecordByUniqueKeys(ctx context.Context, uniqueKey []string) (record map[string]*entity.AnalysisRecord, err error) // 批量获取
	TrajectoryAnalysis(ctx context.Context, param TrajectoryAnalysisParam) (recordID int64, err error)
}

func NewEvaluationAnalysisService

func NewEvaluationAnalysisService() IEvaluationAnalysisService

type IEvaluationSetService

type IEvaluationSetService interface {
	CreateEvaluationSet(ctx context.Context, param *entity.CreateEvaluationSetParam) (id int64, err error)
	CreateEvaluationSetWithImport(ctx context.Context, param *entity.CreateEvaluationSetWithImportParam) (id int64, jobID int64, err error)
	ParseImportSourceFile(ctx context.Context, param *entity.ParseImportSourceFileParam) (*entity.ParseImportSourceFileResult, error)
	UpdateEvaluationSet(ctx context.Context, param *entity.UpdateEvaluationSetParam) (err error)
	DeleteEvaluationSet(ctx context.Context, spaceID, evaluationSetID int64) (err error)
	GetEvaluationSet(ctx context.Context, spaceID *int64, evaluationSetID int64, deletedAt *bool) (set *entity.EvaluationSet, err error)
	BatchGetEvaluationSets(ctx context.Context, spaceID *int64, evaluationSetID []int64, deletedAt *bool) (set []*entity.EvaluationSet, err error)
	ListEvaluationSets(ctx context.Context, param *entity.ListEvaluationSetsParam) (sets []*entity.EvaluationSet, total *int64, nextPageToken *string, err error)
	QueryItemSnapshotMappings(ctx context.Context, spaceID, datasetID int64, versionID *int64) (fieldMappings []*entity.ItemSnapshotFieldMapping, syncCkDate string, err error)
}

func NewEvaluationSetServiceImpl

func NewEvaluationSetServiceImpl(datasetRPCAdapter rpc.IDatasetRPCAdapter) IEvaluationSetService

type IExptAnnotateService

type IExptAnnotateService interface {
	CreateExptTurnResultTagRefs(ctx context.Context, refs []*entity.ExptTurnResultTagRef) error
	GetExptTurnResultTagRefs(ctx context.Context, exptID, spaceID int64) ([]*entity.ExptTurnResultTagRef, error)
	SaveAnnotateRecord(ctx context.Context, exptID, itemID, turnID int64, record *entity.AnnotateRecord) error
	UpdateAnnotateRecord(ctx context.Context, itemID, turnID int64, record *entity.AnnotateRecord) error
	GetAnnotateRecordsByIDs(ctx context.Context, spaceID int64, recordIDs []int64) ([]*entity.AnnotateRecord, error)
	DeleteExptTurnResultTagRef(ctx context.Context, exptID, spaceID, tagKeyID int64) error
}

func NewExptAnnotateService

func NewExptAnnotateService(txDB db.Provider, repo repo.IExptAnnotateRepo, exptTurnResultRepo repo.IExptTurnResultRepo, exptPublisher events.ExptEventPublisher, evaluationSetItemService EvaluationSetItemService, exptRepo repo.IExperimentRepo, exptResultService ExptResultService, exptTurnResultFilterRepo repo.IExptTurnResultFilterRepo, exptAggrResultRepo repo.IExptAggrResultRepo) IExptAnnotateService

type IExptConfigManager

type IExptConfigManager interface {
	CheckName(ctx context.Context, name string, spaceID int64, session *entity.Session) (bool, error)

	CreateExpt(ctx context.Context, req *entity.CreateExptParam, session *entity.Session) (*entity.Experiment, error)

	Update(ctx context.Context, expt *entity.Experiment, session *entity.Session) error
	Delete(ctx context.Context, exptID, spaceID int64, session *entity.Session) error
	MDelete(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) error

	List(ctx context.Context, page, pageSize int32, spaceID int64, filter *entity.ExptListFilter, orders []*entity.OrderBy, session *entity.Session) ([]*entity.Experiment, int64, error)
	ListExptRaw(ctx context.Context, page, pageSize int32, spaceID int64, filter *entity.ExptListFilter) ([]*entity.Experiment, int64, error)
	GetDetail(ctx context.Context, exptID, spaceID int64, session *entity.Session, opts ...entity.GetExptTupleOptionFn) (*entity.Experiment, error)
	MGetDetail(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) ([]*entity.Experiment, error)

	Get(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.Experiment, error)
	MGet(ctx context.Context, exptIDs []int64, spaceID int64, session *entity.Session) ([]*entity.Experiment, error)

	Clone(ctx context.Context, exptID, spaceID int64, session *entity.Session) (*entity.Experiment, error)
}

IExptConfigManager 实验配置管理接口(负责实验元数据的增删改查)

type IExptExecutionManager

type IExptExecutionManager interface {
	CheckRun(ctx context.Context, expt *entity.Experiment, spaceID int64, session *entity.Session, opts ...entity.ExptRunCheckOptionFn) error
	Run(ctx context.Context, exptID, runID, spaceID int64, itemRetryNum int, session *entity.Session, runMode entity.ExptRunMode, ext map[string]string) error
	RetryItems(ctx context.Context, exptID, runID, spaceID int64, itemRetryNum int, itemIDs []int64, session *entity.Session, ext map[string]string) error

	Invoke(ctx context.Context, invokeExptReq *entity.InvokeExptReq) error
	Finish(ctx context.Context, exptID *entity.Experiment, exptRunID int64, session *entity.Session) error

	PendRun(ctx context.Context, exptID, exptRunID, spaceID int64, session *entity.Session) error
	PendExpt(ctx context.Context, exptID, spaceID int64, session *entity.Session, opts ...entity.CompleteExptOptionFn) error

	// IsCompletingRun returns true if the given run is currently in the completing phase.
	IsCompletingRun(ctx context.Context, exptID, exptRunID, spaceID int64) (bool, error)
	CompleteRun(ctx context.Context, exptID, exptRunID int64, spaceID int64, session *entity.Session, opts ...entity.CompleteExptOptionFn) error
	CompleteExpt(ctx context.Context, exptID, spaceID int64, session *entity.Session, opts ...entity.CompleteExptOptionFn) error
	// SetExptTerminating Set experiment/run_log status to "terminating".
	SetExptTerminating(ctx context.Context, exptID, exptRunID, spaceID int64, session *entity.Session) error

	LogRun(ctx context.Context, exptID, exptRunID int64, mode entity.ExptRunMode, spaceID int64, itemIDs []int64, session *entity.Session) error
	LogRetryItemsRun(ctx context.Context, exptID int64, mode entity.ExptRunMode, spaceID int64, itemIDs []int64, session *entity.Session) (int64, bool, error)
	GetRunLog(ctx context.Context, exptID, exptRunID, spaceID int64, session *entity.Session) (*entity.ExptRunLog, error)
}

IExptExecutionManager 实验执行控制接口(负责实验的运行、监控和状态管理)

type IExptInsightAnalysisService

type IExptInsightAnalysisService interface {
	CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, session *entity.Session) (int64, error)
	GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID, CreateAt int64) error
	GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error)
	ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error)
	DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error
	FeedbackExptInsightAnalysis(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error
	ListExptInsightAnalysisFeedbackComment(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error)
	GetAnalysisRecordFeedbackVoteByUser(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisFeedbackVote, error)
}

func NewInsightAnalysisService

func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo,
	exptPublisher events.ExptEventPublisher,
	fileClient fileserver.ObjectStorage,
	agentAdapter rpc.IAgentAdapter,
	exptResultExportService IExptResultExportService,
	notifyRPCAdapter rpc.INotifyRPCAdapter,
	userProvider rpc.IUserProvider,
	exptRepo repo.IExperimentRepo,
	targetRepo repo.IEvalTargetRepo,
) IExptInsightAnalysisService

type IExptManager

type IExptManager interface {
	IExptConfigManager
	IExptExecutionManager
}

func NewExptManager

func NewExptManager(
	exptResultService ExptResultService,
	exptRepo repo.IExperimentRepo,
	exptRunLogRepo repo.IExptRunLogRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	configer component.IConfiger,
	quotaRepo repo.QuotaRepo,
	mutex lock.ILocker,
	idem idem.IdempotentService,
	publisher events.ExptEventPublisher,
	audit audit.IAuditService,
	idgen idgen.IIDGenerator,
	metric metrics.ExptMetric,
	lwt platestwrite.ILatestWriteTracker,
	evaluationSetVersionService EvaluationSetVersionService,
	evaluationSetService IEvaluationSetService,
	evalTargetService IEvalTargetService,
	evaluatorService EvaluatorService,
	benefitService benefit.IBenefitService,
	exptAggrResultService ExptAggrResultService,
	templateRepo repo.IExptTemplateRepo,
	templateManager IExptTemplateManager,
	notifyRPCAdapter rpc.INotifyRPCAdapter,
	userProvider rpc.IUserProvider,
) IExptManager

type IExptResultExportService

type IExptResultExportService interface {
	ExportCSV(ctx context.Context, spaceID, exptID int64, session *entity.Session) (int64, error)
	DoExportCSV(ctx context.Context, spaceID, exptID int64, fileName string, withLogID bool) error
	HandleExportEvent(ctx context.Context, spaceID, exptID, exportID int64) (err error)
	UpdateExportRecord(ctx context.Context, exportRecord *entity.ExptResultExportRecord) error
	ListExportRecord(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*entity.ExptResultExportRecord, int64, error)
	GetExptExportRecord(ctx context.Context, spaceID, exportID int64) (*entity.ExptResultExportRecord, error)
}

func NewExptResultExportService

func NewExptResultExportService(
	txDB db.Provider,
	repo repo.IExptResultExportRecordRepo,
	exptRepo repo.IExperimentRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptPublisher events.ExptEventPublisher,
	exptResultService ExptResultService,
	fileClient fileserver.ObjectStorage,
	configer component.IConfiger,
	benefitService benefit.IBenefitService,
	urlProcessor component.IURLProcessor,
	esis EvaluationSetItemService,
) IExptResultExportService

type IExptTemplateManager

type IExptTemplateManager interface {
	CheckName(ctx context.Context, name string, spaceID int64, session *entity.Session) (bool, error)
	Create(ctx context.Context, param *entity.CreateExptTemplateParam, session *entity.Session) (*entity.ExptTemplate, error)
	Get(ctx context.Context, templateID, spaceID int64, session *entity.Session) (*entity.ExptTemplate, error)
	MGet(ctx context.Context, templateIDs []int64, spaceID int64, session *entity.Session) ([]*entity.ExptTemplate, error)
	Update(ctx context.Context, param *entity.UpdateExptTemplateParam, session *entity.Session) (*entity.ExptTemplate, error)
	UpdateMeta(ctx context.Context, param *entity.UpdateExptTemplateMetaParam, session *entity.Session) (*entity.ExptTemplate, error)
	// adjustCount: 实验数量的增量(创建实验时为 +1,删除实验时为 -1,状态变更时为 0)
	UpdateExptInfo(ctx context.Context, templateID, spaceID int64, exptID int64, exptStatus entity.ExptStatus, adjustCount int64) error
	Delete(ctx context.Context, templateID, spaceID int64, session *entity.Session) error
	List(ctx context.Context, page, pageSize int32, spaceID int64, filter *entity.ExptTemplateListFilter, orderBys []*entity.OrderBy, session *entity.Session) ([]*entity.ExptTemplate, int64, error)
}

func NewExptTemplateManager

func NewExptTemplateManager(
	templateRepo repo.IExptTemplateRepo,
	idgen idgen.IIDGenerator,
	evaluatorService EvaluatorService,
	evalTargetService IEvalTargetService,
	evaluationSetService IEvaluationSetService,
	evaluationSetVersionService EvaluationSetVersionService,
	lwt platestwrite.ILatestWriteTracker,
) IExptTemplateManager

type ISourceEvalTargetOperateService

type ISourceEvalTargetOperateService interface {
	EvalType() entity.EvalTargetType
	// BuildBySource 根据source target构建eval target实体
	BuildBySource(ctx context.Context, spaceID int64, sourceTargetID, sourceTargetVersion string, opts ...entity.Option) (*entity.EvalTarget, error)
	// ListSource 查询source target列表
	ListSource(ctx context.Context, param *entity.ListSourceParam) (targets []*entity.EvalTarget, nextCursor string, hasMore bool, err error)
	// BatchGetSource 查询source target列表
	BatchGetSource(ctx context.Context, spaceID int64, ids []string) (targets []*entity.EvalTarget, err error)
	// ListSourceVersion 查询source target版本列表
	ListSourceVersion(ctx context.Context, param *entity.ListSourceVersionParam) (versions []*entity.EvalTargetVersion, nextCursor string, hasMore bool, err error)
	// PackSourceInfo 拼装源信息
	PackSourceInfo(ctx context.Context, spaceID int64, dos []*entity.EvalTarget) (err error)
	// PackSourceVersionInfo 拼装源版本信息
	PackSourceVersionInfo(ctx context.Context, spaceID int64, dos []*entity.EvalTarget) (err error)
	// ValidateInput
	ValidateInput(ctx context.Context, spaceID int64, inputSchema []*entity.ArgsSchema, input *entity.EvalTargetInputData) error
	// Execute
	Execute(ctx context.Context, spaceID int64, param *entity.ExecuteEvalTargetParam) (outputData *entity.EvalTargetOutputData, status entity.EvalTargetRunStatus, err error)
	AsyncExecute(ctx context.Context, spaceID int64, param *entity.ExecuteEvalTargetParam) (invokeID int64, callee string, err error)
	RuntimeParam() entity.IRuntimeParam
	// 搜索自定义评测对象
	SearchCustomEvalTarget(ctx context.Context, param *entity.SearchCustomEvalTargetParam) (targets []*entity.CustomEvalTarget, nextCursor string, hasMore bool, err error)
}

func NewPromptSourceEvalTargetServiceImpl

func NewPromptSourceEvalTargetServiceImpl(promptRPCAdapter rpc.IPromptRPCAdapter) ISourceEvalTargetOperateService

type JavaScriptCodeBuilder

type JavaScriptCodeBuilder struct {
	// contains filtered or unexported fields
}

JavaScriptCodeBuilder JavaScript代码构建器

func NewJavaScriptCodeBuilder

func NewJavaScriptCodeBuilder() *JavaScriptCodeBuilder

NewJavaScriptCodeBuilder 创建JavaScript代码构建器实例

func (*JavaScriptCodeBuilder) BuildCode

BuildCode 构建可执行的JavaScript代码

func (*JavaScriptCodeBuilder) BuildSyntaxCheckCode

func (b *JavaScriptCodeBuilder) BuildSyntaxCheckCode(userCode string) string

BuildSyntaxCheckCode 构建JavaScript语法检查代码

func (*JavaScriptCodeBuilder) GetLanguageType

func (b *JavaScriptCodeBuilder) GetLanguageType() entity.LanguageType

GetLanguageType 获取支持的语言类型

func (*JavaScriptCodeBuilder) SetRuntime

func (b *JavaScriptCodeBuilder) SetRuntime(runtime component.IRuntime)

SetRuntime 设置运行时实例

type MaliciousPattern

type MaliciousPattern struct {
	Pattern     string                   // 正则表达式
	Category    MaliciousPatternCategory // 威胁类型
	Description string                   // 模式描述
	Languages   []string                 // 适用语言
	Severity    string                   // 严重程度
	Risk        string                   // 风险说明
	Suggestion  string                   // 修复建议
}

MaliciousPattern 恶意模式定义

type MaliciousPatternCategory

type MaliciousPatternCategory string

MaliciousPatternCategory 恶意模式类别

const (
	CategoryInfiniteLoop   MaliciousPatternCategory = "infinite_loop"   // 无限循环
	CategoryProcessControl MaliciousPatternCategory = "process_control" // 进程控制
	CategoryAsyncOperation MaliciousPatternCategory = "async_operation" // 异步操作
	CategoryResourceAccess MaliciousPatternCategory = "resource_access" // 资源访问
)

type NewAggregatorGroupOption

type NewAggregatorGroupOption func(aggregatorGroup *AggregatorGroup)

func WithBucketScoreDistributionAggregator

func WithBucketScoreDistributionAggregator(numBuckets int) NewAggregatorGroupOption

func WithScoreDistributionAggregator

func WithScoreDistributionAggregator() NewAggregatorGroupOption

type OptionCount

type OptionCount struct {
	Option string
	Count  int64
}

OptionCount option and its count

func GetTopNOptions

func GetTopNOptions(option2Count map[string]int64, n int) []OptionCount

GetTopNOptions get top N options with highest counts

type OptionDistributionAggregator

type OptionDistributionAggregator struct {
	Option2Count map[string]int64 // optionID -> count
	Total        int64
}

OptionDistributionAggregator option distribution aggregator

func (*OptionDistributionAggregator) Append

func (a *OptionDistributionAggregator) Append(option string)

Append adds an option to the aggregator

func (*OptionDistributionAggregator) Result

Result calculates and returns the option distribution result

type PayloadBuilder

type PayloadBuilder struct {
	BaselineExptID       int64
	SpaceID              int64
	ExptIDs              []int64
	BaseExptTurnResultDO []*entity.ExptTurnResult
	BaseExptItemResultDO []*entity.ExptItemResult

	ItemIDs   []int64
	TurnIDMap map[int64]bool

	ItemResults           []*entity.ItemResult // 最终结果
	ExptTurnResultFilters []*entity.ExptTurnResultFilterEntity
	ExptResultBuilders    []*ExptResultBuilder // 每个实验的结果builder以及build result

	ExperimentRepo     repo.IExperimentRepo
	ExptTurnResultRepo repo.IExptTurnResultRepo
	ExptAnnotateRepo   repo.IExptAnnotateRepo

	EvaluationSetItemService                    EvaluationSetItemService
	EvalTargetService                           IEvalTargetService
	EvaluatorRecordService                      EvaluatorRecordService
	AnalysisService                             IEvaluationAnalysisService
	ExptTurnResultFilterKeyMappingEvaluatorMap  map[string]*entity.ExptTurnResultFilterKeyMapping
	ExptTurnResultFilterKeyMappingAnnotationMap map[string]*entity.ExptTurnResultFilterKeyMapping

	// 控制是否在构建 eval_target_result 时保留 trajectory 字段
	FullTrajectory bool
}

func NewPayloadBuilder

func NewPayloadBuilder(ctx context.Context, param *entity.MGetExperimentResultParam, baselineExptID int64, baselineTurnResults []*entity.ExptTurnResult,
	baselineItemResults []*entity.ExptItemResult, experimentRepo repo.IExperimentRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptAnnotateRepo repo.IExptAnnotateRepo,
	evalTargetService IEvalTargetService,
	evaluatorRecordService EvaluatorRecordService,
	evaluationSetItemService EvaluationSetItemService,
	analysisService IEvaluationAnalysisService,
	exptTurnResultFilterKeyMappingEvaluatorMap map[string]*entity.ExptTurnResultFilterKeyMapping,
	exptTurnResultFilterKeyMappingAnnotationMap map[string]*entity.ExptTurnResultFilterKeyMapping,
	itemID2ItemRunState map[int64]entity.ItemRunState,
) *PayloadBuilder

func (*PayloadBuilder) BuildItemResults

func (b *PayloadBuilder) BuildItemResults(ctx context.Context) ([]*entity.ItemResult, error)

1.确定当前分页下数据范围 2.分实验batch get 所需数据 3.组装数据

func (*PayloadBuilder) BuildTurnResultFilter

func (b *PayloadBuilder) BuildTurnResultFilter(ctx context.Context) ([]*entity.ExptTurnResultFilterEntity, error)

type PromptSourceEvalTargetServiceImpl

type PromptSourceEvalTargetServiceImpl struct {
	// contains filtered or unexported fields
}

func (*PromptSourceEvalTargetServiceImpl) AsyncExecute

func (*PromptSourceEvalTargetServiceImpl) BatchGetSource

func (t *PromptSourceEvalTargetServiceImpl) BatchGetSource(ctx context.Context, spaceID int64, ids []string) (targets []*entity.EvalTarget, err error)

func (*PromptSourceEvalTargetServiceImpl) BuildBySource

func (t *PromptSourceEvalTargetServiceImpl) BuildBySource(ctx context.Context, spaceID int64, sourceTargetID, sourceTargetVersion string, opts ...entity.Option) (*entity.EvalTarget, error)

func (*PromptSourceEvalTargetServiceImpl) EvalType

func (*PromptSourceEvalTargetServiceImpl) Execute

func (*PromptSourceEvalTargetServiceImpl) ListSource

func (t *PromptSourceEvalTargetServiceImpl) ListSource(ctx context.Context, param *entity.ListSourceParam) (targets []*entity.EvalTarget, nextCursor string, hasMore bool, err error)

func (*PromptSourceEvalTargetServiceImpl) ListSourceVersion

func (t *PromptSourceEvalTargetServiceImpl) ListSourceVersion(ctx context.Context, param *entity.ListSourceVersionParam) (versions []*entity.EvalTargetVersion, nextCursor string, hasMore bool, err error)

func (*PromptSourceEvalTargetServiceImpl) PackSourceInfo

func (t *PromptSourceEvalTargetServiceImpl) PackSourceInfo(ctx context.Context, spaceID int64, dos []*entity.EvalTarget) (err error)

func (*PromptSourceEvalTargetServiceImpl) PackSourceVersionInfo

func (t *PromptSourceEvalTargetServiceImpl) PackSourceVersionInfo(ctx context.Context, spaceID int64, dos []*entity.EvalTarget) (err error)

func (*PromptSourceEvalTargetServiceImpl) RuntimeParam

func (*PromptSourceEvalTargetServiceImpl) SearchCustomEvalTarget

func (t *PromptSourceEvalTargetServiceImpl) SearchCustomEvalTarget(ctx context.Context, param *entity.SearchCustomEvalTargetParam) (targets []*entity.CustomEvalTarget, nextCursor string, hasMore bool, err error)

func (*PromptSourceEvalTargetServiceImpl) ValidateInput

func (t *PromptSourceEvalTargetServiceImpl) ValidateInput(ctx context.Context, spaceID int64, inputSchema []*entity.ArgsSchema, input *entity.EvalTargetInputData) error

type PythonCodeBuilder

type PythonCodeBuilder struct {
	// contains filtered or unexported fields
}

PythonCodeBuilder Python代码构建器

func NewPythonCodeBuilder

func NewPythonCodeBuilder() *PythonCodeBuilder

NewPythonCodeBuilder 创建Python代码构建器实例

func (*PythonCodeBuilder) BuildCode

func (b *PythonCodeBuilder) BuildCode(input *entity.EvaluatorInputData, codeVersion *entity.CodeEvaluatorVersion) (string, error)

BuildCode 构建可执行的Python代码

func (*PythonCodeBuilder) BuildSyntaxCheckCode

func (b *PythonCodeBuilder) BuildSyntaxCheckCode(userCode string) string

BuildSyntaxCheckCode 构建Python语法检查代码

func (*PythonCodeBuilder) GetLanguageType

func (b *PythonCodeBuilder) GetLanguageType() entity.LanguageType

GetLanguageType 获取支持的语言类型

func (*PythonCodeBuilder) SetRuntime

func (b *PythonCodeBuilder) SetRuntime(runtime component.IRuntime)

SetRuntime 设置运行时实例

type QuotaService

type QuotaService interface {
	AllowExptRun(ctx context.Context, exptID, spaceID int64, session *entity.Session) error
	ReleaseExptRun(ctx context.Context, exptID, spaceID int64, session *entity.Session) error
}

func NewQuotaService

func NewQuotaService(quotaRepo repo.QuotaRepo,
	configer component.IConfiger,
) QuotaService

type QuotaServiceImpl

type QuotaServiceImpl struct {
	QuotaRepo repo.QuotaRepo
	Configer  component.IConfiger
}

func (*QuotaServiceImpl) AllowExptRun

func (q *QuotaServiceImpl) AllowExptRun(ctx context.Context, exptID, spaceID int64, session *entity.Session) error

func (*QuotaServiceImpl) ReleaseExptRun

func (q *QuotaServiceImpl) ReleaseExptRun(ctx context.Context, exptID, spaceID int64, session *entity.Session) error

type RecordEvalEndPoint

type RecordEvalEndPoint func(ctx context.Context, event *entity.ExptItemEvalEvent) error

type RecordEvalMiddleware

type RecordEvalMiddleware func(next RecordEvalEndPoint) RecordEvalEndPoint

func RecordEvalChain

func RecordEvalChain(mws ...RecordEvalMiddleware) RecordEvalMiddleware

type RecordEvalMode

type RecordEvalMode interface {
	PreEval(ctx context.Context, eiec *entity.ExptItemEvalCtx) error
	PostEval(ctx context.Context, eiec *entity.ExptItemEvalCtx) error
}

RecordEvalMode task execution mode

func NewRecordEvalMode

func NewRecordEvalMode(
	event *entity.ExptItemEvalEvent, exptItemResultRepo repo.IExptItemResultRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	experimentRepo repo.IExperimentRepo,
	metric metrics.ExptMetric,
	resultSvc ExptResultService,
	idgen idgen.IIDGenerator,
) (RecordEvalMode, error)

type ReportCodeRootSpanRequest

type ReportCodeRootSpanRequest struct {
	// contains filtered or unexported fields
}

ReportCodeRootSpanRequest Code评估器专用的上报请求结构

type ReportRootSpanRequest

type ReportRootSpanRequest struct {
	// contains filtered or unexported fields
}

type SchedulerEndPoint

type SchedulerEndPoint func(ctx context.Context, event *entity.ExptScheduleEvent) error

type SchedulerMiddleware

type SchedulerMiddleware func(next SchedulerEndPoint) SchedulerEndPoint

func SchedulerChain

func SchedulerChain(mws ...SchedulerMiddleware) SchedulerMiddleware

type SchedulerModeFactory

type SchedulerModeFactory interface {
	NewSchedulerMode(
		mode entity.ExptRunMode,
	) (entity.ExptSchedulerMode, error)
}

SchedulerModeFactory 定义创建 ExptSchedulerMode 实例的接口

func NewSchedulerModeFactory

func NewSchedulerModeFactory(
	manager IExptManager,
	exptItemResultRepo repo.IExptItemResultRepo,
	exptStatsRepo repo.IExptStatsRepo,
	exptTurnResultRepo repo.IExptTurnResultRepo,
	idgenerator idgen.IIDGenerator,
	evaluationSetItemService EvaluationSetItemService,
	exptRepo repo.IExperimentRepo,
	idem idem.IdempotentService,
	configer component.IConfiger,
	publisher events.ExptEventPublisher,
	evaluatorRecordService EvaluatorRecordService,
	resultSvc ExptResultService,
	templateManager IExptTemplateManager,
	exptRunLogRepo repo.IExptRunLogRepo,
) SchedulerModeFactory

type ScoreCount

type ScoreCount struct {
	Score string
	Count int64
}

func GetTopNScores

func GetTopNScores(score2Count map[float64]int64, n int) []ScoreCount

GetTopNScores get top N scores with highest counts

type ScoreDistributionAggregator

type ScoreDistributionAggregator struct {
	Score2Count map[float64]int64
	Total       int64
}

ScoreDistributionAggregator distribution aggregator.

func (*ScoreDistributionAggregator) Append

func (a *ScoreDistributionAggregator) Append(score float64)

func (*ScoreDistributionAggregator) Result

type SecurityViolationDetails

type SecurityViolationDetails struct {
	Category    MaliciousPatternCategory // 威胁类型
	Pattern     string                   // 匹配的模式
	Description string                   // 详细描述
	Language    string                   // 检测语言
	Risk        string                   // 风险说明
	Suggestion  string                   // 修复建议
}

SecurityViolationDetails 安全违规详细信息

type TrajectoryAnalysisParam

type TrajectoryAnalysisParam struct {
	WorkspaceID int64
	ExptID      int64
	ItemID      int64
	TurnID      int64
}

type TurnKeyComponents

type TurnKeyComponents struct {
	SpaceID int64
	ExptID  int64
	ItemID  int64
	TurnID  int64
}

TurnKeyComponents turnKey组件结构

func ParseTurnKey

func ParseTurnKey(turnKey string) (*TurnKeyComponents, error)

ParseTurnKey 解析turnKey

type UserCodeBuilder

type UserCodeBuilder interface {
	// BuildCode 构建可执行代码
	BuildCode(input *entity.EvaluatorInputData, codeVersion *entity.CodeEvaluatorVersion) (string, error)
	// BuildSyntaxCheckCode 构建语法检查代码
	BuildSyntaxCheckCode(userCode string) string
	// GetLanguageType 获取支持的语言类型
	GetLanguageType() entity.LanguageType
	// SetRuntime 设置运行时实例(用于获取return_val函数)
	SetRuntime(runtime component.IRuntime)
}

UserCodeBuilder 用户代码构建器接口

type ValidationResult

type ValidationResult struct {
	Valid    bool
	ErrorMsg string
}

ValidationResult 验证结果结构体

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL