Merge pull request #3714 from ollama/mxyng/model-name-host

types/model: support : in PartHost for host:port
This commit is contained in:
Michael Yang 2024-04-17 15:34:03 -07:00 committed by GitHub
commit 52ebe67a98
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View file

@ -521,6 +521,8 @@ func parts(s string) iter_Seq2[PartKind, string] {
return return
} }
state, j, partLen = PartModel, i, 0 state, j, partLen = PartModel, i, 0
case PartHost:
// noop: support for host:port
default: default:
yield(PartExtraneous, s[i+1:j]) yield(PartExtraneous, s[i+1:j])
return return
@ -678,6 +680,9 @@ func isValidByteFor(kind PartKind, c byte) bool {
if kind == PartNamespace && c == '.' { if kind == PartNamespace && c == '.' {
return false return false
} }
if kind == PartHost && c == ':' {
return true
}
if c == '.' || c == '-' { if c == '.' || c == '-' {
return true return true
} }

View file

@ -40,6 +40,7 @@ var testNames = map[string]fields{
"user/model": {namespace: "user", model: "model"}, "user/model": {namespace: "user", model: "model"},
"example.com/ns/mistral:7b+Q4_0": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "Q4_0"}, "example.com/ns/mistral:7b+Q4_0": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "Q4_0"},
"example.com/ns/mistral:7b+X": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "X"}, "example.com/ns/mistral:7b+X": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "X"},
"localhost:5000/ns/mistral": {host: "localhost:5000", namespace: "ns", model: "mistral"},
// invalid digest // invalid digest
"mistral:latest@invalid256-": {}, "mistral:latest@invalid256-": {},