types/model: fix tag case

This commit is contained in:
Michael Yang 2024-05-08 08:47:09 -07:00
parent 2a5302a1cf
commit 486a2c1d94
2 changed files with 19 additions and 7 deletions

View file

@ -290,12 +290,14 @@ func (n Name) Filepath() string {
if !n.IsFullyQualified() { if !n.IsFullyQualified() {
panic("illegal attempt to get filepath of invalid name") panic("illegal attempt to get filepath of invalid name")
} }
return strings.ToLower(filepath.Join( return filepath.Join(
n.Host, strings.ToLower(filepath.Join(
n.Namespace, n.Host,
n.Model, n.Namespace,
n.Model,
)),
n.Tag, n.Tag,
)) )
} }
// LogValue returns a slog.Value that represents the name as a string. // LogValue returns a slog.Value that represents the name as a string.

View file

@ -19,6 +19,16 @@ func TestParseNameParts(t *testing.T) {
wantFilepath string wantFilepath string
wantValidDigest bool wantValidDigest bool
}{ }{
{
in: "registry.ollama.ai/library/dolphin-mistral:7b-v2.6-dpo-laser-q6_K",
want: Name{
Host: "registry.ollama.ai",
Namespace: "library",
Model: "dolphin-mistral",
Tag: "7b-v2.6-dpo-laser-q6_K",
},
wantFilepath: filepath.Join("registry.ollama.ai", "library", "dolphin-mistral", "7b-v2.6-dpo-laser-q6_K"),
},
{ {
in: "scheme://host:port/namespace/model:tag", in: "scheme://host:port/namespace/model:tag",
want: Name{ want: Name{
@ -266,9 +276,9 @@ func TestFilepathAllocs(t *testing.T) {
allocs := testing.AllocsPerRun(1000, func() { allocs := testing.AllocsPerRun(1000, func() {
n.Filepath() n.Filepath()
}) })
allowedAllocs := 2.0 var allowedAllocs float64 = 3
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
allowedAllocs = 4 allowedAllocs = 5
} }
if allocs > allowedAllocs { if allocs > allowedAllocs {
t.Errorf("allocs = %v; allowed %v", allocs, allowedAllocs) t.Errorf("allocs = %v; allowed %v", allocs, allowedAllocs)