update openi dataset

This commit is contained in:
tzwang 2025-07-30 14:56:42 +08:00
parent 8d4960a62f
commit cf8b2760ff
4 changed files with 89 additions and 65 deletions

View File

@ -22,7 +22,7 @@ type CreateResp struct {
}
type OpenI struct {
Repo string `json:"repo,omitempty"`
RepoName string `json:"repoName,omitempty"`
}
func (o OpenI) DatasetCreateParam() {

View File

@ -106,64 +106,80 @@ type Algorithm struct {
}
type AlgorithmCreateParam struct {
AdvancedConfig struct {
} `json:"advanced_config,omitempty"`
JobConfig struct {
CodeDir string `json:"code_dir,omitempty"`
BootFile string `json:"boot_file,omitempty"`
Engine struct {
EngineName string `json:"engine_name,omitempty"`
EngineVersion string `json:"engine_version,omitempty"`
ImageUrl string `json:"image_url,omitempty"`
InstallSysPackages bool `json:"install_sys_packages,omitempty"`
} `json:"engine"`
Command string `json:"command,omitempty"`
Inputs []struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
AccessMethod string `json:"access_method,omitempty"`
I18NDescription []struct {
} `json:"i18n_description,omitempty"`
RemoteConstraints []struct {
DataType string `json:"data_type,omitempty"`
Attributes *struct {
DataFormat []string `json:"data_format,omitempty"`
DataSegmentation []string `json:"data_segmentation,omitempty"`
DatasetType []string `json:"dataset_type,omitempty"`
} `json:"attributes,omitempty"`
} `json:"remote_constraints,omitempty"`
} `json:"inputs,omitempty"`
Outputs []struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
AccessMethod string `json:"access_method,omitempty"`
I18NDescription []struct {
} `json:"i18n_description,omitempty"`
} `json:"outputs,omitempty"`
Parameters []struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Value string `json:"value,omitempty"`
Constraint struct {
Editable bool `json:"editable,omitempty"`
Required bool `json:"required,omitempty"`
Sensitive bool `json:"sensitive,omitempty"`
Type string `json:"type,omitempty"`
ValidRange []interface{} `json:"valid_range,omitempty"`
ValidType string `json:"valid_type,omitempty"`
} `json:"constraint,omitempty"`
} `json:"parameters,omitempty"`
ParametersCustomization bool `json:"parameters_customization,omitempty"`
} `json:"job_config"`
Metadata struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Tags interface{} `json:"tags,omitempty"`
WorkspaceId string `json:"workspace_id,omitempty"`
} `json:"metadata"`
ResourceRequirements []struct {
Key string `json:"key,omitempty"`
Operator string `json:"operator,omitempty"`
Values []string `json:"values,omitempty"`
} `json:"resource_requirements,omitempty"`
AdvancedConfig *AlgorithmAdvancedConfig `json:"advanced_config,omitempty"`
JobConfig *AlgorithmJobConfig `json:"job_config,omitempty"`
Metadata *AlgorithmMetadata `json:"metadata"`
ResourceRequirements []*AlgorithmResourceRequirement `json:"resource_requirements,omitempty"`
}
type AlgorithmAdvancedConfig struct {
}
type AlgorithmResourceRequirement struct {
Key string `json:"key,omitempty"`
Operator string `json:"operator,omitempty"`
Values []string `json:"values,omitempty"`
}
type AlgorithmMetadata struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Tags interface{} `json:"tags,omitempty"`
WorkspaceId string `json:"workspace_id,omitempty"`
}
type AlgorithmJobConfig struct {
CodeDir string `json:"code_dir,omitempty"`
BootFile string `json:"boot_file,omitempty"`
Engine *AlgorithmJobConfigEngine `json:"engine,omitempty"`
Command string `json:"command,omitempty"`
Inputs []*AlgorithmJobConfigInput `json:"inputs,omitempty"`
Outputs []*AlgorithmJobConfigOutput `json:"outputs,omitempty"`
Parameters []*AlgorithmJobConfigParameter `json:"parameters,omitempty"`
ParametersCustomization bool `json:"parameters_customization,omitempty"`
}
type AlgorithmJobConfigParameter struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Value string `json:"value,omitempty"`
Constraint struct {
Editable bool `json:"editable,omitempty"`
Required bool `json:"required,omitempty"`
Sensitive bool `json:"sensitive,omitempty"`
Type string `json:"type,omitempty"`
ValidRange []interface{} `json:"valid_range,omitempty"`
ValidType string `json:"valid_type,omitempty"`
} `json:"constraint,omitempty"`
}
type AlgorithmJobConfigOutput struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
AccessMethod string `json:"access_method,omitempty"`
I18NDescription []struct {
} `json:"i18n_description,omitempty"`
}
type AlgorithmJobConfigInput struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
AccessMethod string `json:"access_method,omitempty"`
I18NDescription []struct {
} `json:"i18n_description,omitempty"`
RemoteConstraints []struct {
DataType string `json:"data_type,omitempty"`
Attributes *struct {
DataFormat []string `json:"data_format,omitempty"`
DataSegmentation []string `json:"data_segmentation,omitempty"`
DatasetType []string `json:"dataset_type,omitempty"`
} `json:"attributes,omitempty"`
} `json:"remote_constraints,omitempty"`
}
type AlgorithmJobConfigEngine struct {
EngineName string `json:"engine_name,omitempty"`
EngineVersion string `json:"engine_version,omitempty"`
ImageUrl string `json:"image_url,omitempty"`
InstallSysPackages bool `json:"install_sys_packages,omitempty"`
}

View File

@ -36,8 +36,16 @@ func TestAlgorithm(t *testing.T) {
})
convey.Convey("AlgorithmCreate", t, func() {
param := &model.AlgorithmCreateParam{}
requirements := make([]*model.AlgorithmResourceRequirement, 0)
param := &model.AlgorithmCreateParam{
JobConfig: &model.AlgorithmJobConfig{
Inputs: []*model.AlgorithmJobConfigInput{
{Name: ""},
},
},
Metadata: &model.AlgorithmMetadata{},
ResourceRequirements: requirements,
}
resp, err := AlgorithmCreate(url, projectId, param)
if err != nil {
fmt.Println(err.Error())

View File

@ -1548,7 +1548,7 @@ func (d *Dataset) Create(ctx context.Context, param *dataset.CreateParam) (*data
return nil, errors.New("param is not a openi param")
}
if openi.Repo == "" {
if openi.RepoName == "" {
return nil, errors.New("Repo is required")
}
@ -1565,7 +1565,7 @@ func (d *Dataset) Create(ctx context.Context, param *dataset.CreateParam) (*data
return nil, errors.New("userID is required")
}
resp, err := d.bindDataset(ctx, param.Name, openi.Repo, param.Src.Jcs.PackageId, param.Src.Jcs.UserID)
resp, err := d.bindDataset(ctx, param.Name, openi.RepoName, param.Src.Jcs.PackageId, param.Src.Jcs.UserID)
if err != nil {
return nil, err
}