LookupModelInfo searches dynamic registry (provider-specific > global) then static definitions.
(modelID string, provider ...string)
| 171 | |
| 172 | // LookupModelInfo searches dynamic registry (provider-specific > global) then static definitions. |
| 173 | func LookupModelInfo(modelID string, provider ...string) *ModelInfo { |
| 174 | modelID = strings.TrimSpace(modelID) |
| 175 | if modelID == "" { |
| 176 | return nil |
| 177 | } |
| 178 | |
| 179 | p := "" |
| 180 | if len(provider) > 0 { |
| 181 | p = strings.ToLower(strings.TrimSpace(provider[0])) |
| 182 | } |
| 183 | |
| 184 | if info := GetGlobalRegistry().GetModelInfo(modelID, p); info != nil { |
| 185 | return cloneModelInfo(info) |
| 186 | } |
| 187 | return cloneModelInfo(LookupStaticModelInfo(modelID)) |
| 188 | } |
| 189 | |
| 190 | // SetHook sets an optional hook for observing model registration changes. |
| 191 | func (r *ModelRegistry) SetHook(hook ModelRegistryHook) { |