Use map for generated model registry data
Replaces []ModelDefinition with map[string]ModelDefinition so model ID uniqueness is enforced by the data structure itself and lookups do not require a linear scan. Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
committed by
Sacha Al Himdani
parent
3f4ef7b104
commit
02c719dfdd
@@ -118,7 +118,7 @@ func main() {
|
||||
|
||||
package llm
|
||||
|
||||
var generatedModels = []ModelDefinition{
|
||||
var generatedModels = map[string]ModelDefinition{
|
||||
`,
|
||||
iscHeader,
|
||||
openRouterURL,
|
||||
@@ -134,8 +134,7 @@ var generatedModels = []ModelDefinition{
|
||||
|
||||
fmt.Fprintf(
|
||||
&buf,
|
||||
` {
|
||||
ID: %q,
|
||||
` %q: {
|
||||
Name: %q,
|
||||
Provider: %q,
|
||||
ContextLength: %d,
|
||||
|
||||
@@ -19,8 +19,6 @@ import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
//go:generate go run go.probo.inc/probo/internal/cmd/genmodels
|
||||
|
||||
type (
|
||||
// ModelDefinition describes a model's capabilities and limits.
|
||||
ModelDefinition struct {
|
||||
@@ -61,11 +59,11 @@ var (
|
||||
)
|
||||
|
||||
// NewRegistry builds a registry from the given model definitions.
|
||||
func NewRegistry(models []ModelDefinition) *Registry {
|
||||
func NewRegistry(models map[string]ModelDefinition) *Registry {
|
||||
r := &Registry{byID: make(map[string]*ModelDefinition, len(models)*3)}
|
||||
for i := range models {
|
||||
m := &models[i]
|
||||
r.index(m)
|
||||
for id, m := range models {
|
||||
m.ID = id
|
||||
r.index(&m)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user