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

Function LoadProvider

ai-provider/model-runtime/loader.go:102–136  ·  view source on GitHub ↗
(name string)

Source from the content-addressed store, hash-verified

100}
101
102func LoadProvider(name string) error {
103 files, err := providerDir.ReadDir(name)
104 if err != nil {
105 return err
106 }
107 var providerFile string
108 models := make(map[string]eosc.Untyped[string, string])
109 for _, file := range files {
110 if file.IsDir() {
111 result, err := ReadFile(providerDir, fmt.Sprintf("%s/%s", name, file.Name()))
112 if err != nil {
113 return err
114 }
115 models[file.Name()] = result
116 continue
117 }
118 if strings.HasSuffix(file.Name(), ".yaml") {
119 data, err := providerDir.ReadFile(fmt.Sprintf("%s/%s", name, file.Name()))
120 if err != nil {
121 return err
122 }
123 providerFile = string(data)
124 }
125 }
126 provider, err := NewProvider(providerFile, models)
127 if err != nil {
128 return err
129 }
130 //gateway.RegisterDynamicResourceDriver(provider.ID(), gateway.Worker{
131 // Profession: gateway.ProfessionAIProvider,
132 // Driver: provider.ID(),
133 //})
134 Register(provider.ID(), provider)
135 return nil
136}
137
138func ReadFile(dir embed.FS, name string) (eosc.Untyped[string, string], error) {
139

Callers 1

LoadFunction · 0.85

Calls 5

IDMethod · 0.95
ReadFileFunction · 0.85
NewProviderFunction · 0.70
RegisterFunction · 0.70
NameMethod · 0.65

Tested by

no test coverage detected