MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / UpdateProviderModel

Method UpdateProviderModel

module/ai-model/iml.go:59–100  ·  view source on GitHub ↗
(ctx *gin.Context, provider string, input *model_dto.EditModel)

Source from the content-addressed store, hash-verified

57}
58
59func (i *imlProviderModelModule) UpdateProviderModel(ctx *gin.Context, provider string, input *model_dto.EditModel) error {
60 p, has := model_runtime.GetProvider(provider)
61 if !has {
62 return fmt.Errorf("ai provider not found")
63 }
64 // check provider exist
65 _, err := i.providerService.Get(ctx, provider)
66 if err != nil {
67 return err
68 }
69 modelInfo, _ := i.providerModelService.Get(ctx, input.Id)
70 if modelInfo == nil || modelInfo.Provider != provider {
71 return fmt.Errorf("model not found")
72 }
73 return i.transaction.Transaction(ctx, func(ctx context.Context) error {
74 if err = i.providerModelService.Save(ctx, input.Id, &ai_model.Model{
75 AccessConfiguration: &input.AccessConfiguration,
76 ModelParameters: &input.ModelParameters,
77 }); err != nil {
78 return err
79 }
80
81 // update provider model
82 iModel, err := model_runtime.NewCustomizeModel(input.Id, input.Name, p.Logo(), input.AccessConfiguration, input.ModelParameters)
83 if err != nil {
84 return err
85 }
86 // 判断是否需要发布model
87 if p.GetModelConfig().AccessConfigurationStatus {
88 if err := i.syncGateway(ctx, cluster.DefaultClusterID, []*gateway.DynamicRelease{
89 newModel(provider, input.Name, input.AccessConfiguration),
90 }, true); err != nil {
91 return err
92 }
93 }
94
95 p.SetModel(input.Id, iModel)
96 return nil
97 })
98
99 return nil
100}
101
102func (i *imlProviderModelModule) DeleteProviderModel(ctx *gin.Context, provider string, id string) error {
103 p, has := model_runtime.GetProvider(provider)

Callers

nothing calls this directly

Calls 7

syncGatewayMethod · 0.95
newModelFunction · 0.85
GetMethod · 0.65
SaveMethod · 0.65
LogoMethod · 0.65
GetModelConfigMethod · 0.65
SetModelMethod · 0.65

Tested by

no test coverage detected