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

Method OnInit

module/ai-local/iml.go:504–606  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

502}
503
504func (i *imlLocalModel) OnInit() {
505 register.Handle(func(v server.Server) {
506 ctx := context.Background()
507
508 list, err := i.localModelPackageService.List(ctx)
509 if err != nil {
510 return
511 }
512 oldModels := utils.SliceToMapO(list, func(s *ai_local.LocalModelPackage) (string, *ai_local.LocalModelPackage) {
513 return s.Id, s
514 })
515 models, version := ai_provider_local.ModelsCanInstall()
516 for _, model := range models {
517 if v, ok := oldModels[model.Id]; ok {
518 delete(oldModels, model.Id)
519 if v.Version == version {
520 continue
521 }
522 err = i.localModelPackageService.Save(ctx, model.Id, &ai_local.EditLocalModelPackage{
523 Size: &model.Size,
524 Hash: &model.Digest,
525 Description: &model.Description,
526 Version: &version,
527 Popular: &model.IsPopular,
528 })
529 if err != nil {
530 return
531 }
532 } else {
533 err = i.localModelPackageService.Create(ctx, &ai_local.CreateLocalModelPackage{
534 Id: model.Id,
535 Name: model.Name,
536 Size: model.Size,
537 Hash: model.Digest,
538 Description: model.Description,
539 Version: version,
540 Popular: model.IsPopular,
541 })
542 if err != nil {
543 return
544 }
545 }
546
547 }
548 for id := range oldModels {
549 err = i.localModelPackageService.Delete(ctx, id)
550 if err != nil {
551 return
552 }
553 }
554 //installModels, err := ai_provider_local.ModelsInstalled()
555 //if err != nil {
556 // return
557 //}
558 //for _, model := range installModels {
559 //
560 // id := strings.TrimSuffix(model.Name, ":latest")
561 // name := strings.TrimSuffix(model.Name, ":latest")

Callers

nothing calls this directly

Calls 7

ListMethod · 0.65
SaveMethod · 0.65
CreateMethod · 0.65
DeleteMethod · 0.65
SearchMethod · 0.65
UpdateProviderMethod · 0.65
UpdateAIProviderMethod · 0.65

Tested by

no test coverage detected