MCPcopy
hub / github.com/mudler/LocalAI / resolveChatModel

Function resolveChatModel

core/cli/chat/session.go:87–111  ·  view source on GitHub ↗
(requested string, models []string)

Source from the content-addressed store, hash-verified

85}
86
87func resolveChatModel(requested string, models []string) (string, error) {
88 switch {
89 case requested == "" && len(models) == 0:
90 return "", errors.New(`no chat models are installed.
91
92Install a model first, for example:
93 local-ai models list
94 local-ai models install <model>
95 local-ai run
96
97Then start a chat session:
98 local-ai chat --model <model>`)
99 case requested == "" && len(models) == 1:
100 return models[0], nil
101 case requested == "" && len(models) > 1:
102 var b strings.Builder
103 b.WriteString("multiple models are available; choose one with --model:\n")
104 b.WriteString(formatChatModelList(models, ""))
105 return "", errors.New(b.String())
106 case !modelExists(models, requested):
107 return "", fmt.Errorf("model %q is not available. Use `local-ai models list` and `local-ai models install <model>`, or pass an installed model with --model", requested)
108 default:
109 return requested, nil
110 }
111}
112
113func modelExists(models []string, name string) bool {
114 for _, model := range models {

Callers 1

newChatSessionFunction · 0.85

Calls 3

formatChatModelListFunction · 0.85
modelExistsFunction · 0.85
StringMethod · 0.65

Tested by

no test coverage detected