Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
3591bbe5
Commit
3591bbe5
authored
May 21, 2024
by
Michael Yang
Browse files
add test
parent
34d5ef29
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
103 additions
and
0 deletions
+103
-0
convert/convert_test.go
convert/convert_test.go
+103
-0
No files found.
convert/convert_test.go
0 → 100644
View file @
3591bbe5
//go:build slow
package
convert
import
(
"os"
"path/filepath"
"testing"
"github.com/ollama/ollama/llm"
)
func
convertFull
(
t
*
testing
.
T
,
p
string
)
(
llm
.
KV
,
llm
.
Tensors
)
{
t
.
Helper
()
mf
,
err
:=
GetModelFormat
(
p
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
params
,
err
:=
mf
.
GetParams
(
p
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
arch
,
err
:=
mf
.
GetModelArch
(
""
,
p
,
params
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
err
:=
arch
.
LoadVocab
();
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
err
:=
arch
.
GetTensors
();
err
!=
nil
{
t
.
Fatal
(
err
)
}
f
,
err
:=
os
.
CreateTemp
(
t
.
TempDir
(),
"f16"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
f
.
Close
()
if
err
:=
arch
.
WriteGGUF
(
f
);
err
!=
nil
{
t
.
Fatal
(
err
)
}
r
,
err
:=
os
.
Open
(
f
.
Name
())
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
r
.
Close
()
m
,
_
,
err
:=
llm
.
DecodeGGML
(
r
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
return
m
.
KV
(),
m
.
Tensors
()
}
func
TestConvertFull
(
t
*
testing
.
T
)
{
cases
:=
[]
struct
{
path
string
arch
string
tensors
int
layers
int
}{
{
"Meta-Llama-3-8B-Instruct"
,
"llama"
,
291
,
35
},
{
"Mistral-7B-Instruct-v0.2"
,
"llama"
,
291
,
35
},
{
"Mixtral-8x7B-Instruct-v0.1"
,
"llama"
,
291
,
35
},
{
"gemma-2b-it"
,
"gemma"
,
164
,
20
},
}
for
_
,
tt
:=
range
cases
{
t
.
Run
(
tt
.
path
,
func
(
t
*
testing
.
T
)
{
p
:=
filepath
.
Join
(
"testdata"
,
tt
.
path
)
if
_
,
err
:=
os
.
Stat
(
p
);
err
!=
nil
{
t
.
Skipf
(
"%s not found"
,
p
)
}
kv
,
tensors
:=
convertFull
(
t
,
p
)
if
kv
.
Architecture
()
!=
tt
.
arch
{
t
.
Fatalf
(
"expected llama, got %s"
,
kv
.
Architecture
())
}
if
kv
.
FileType
()
.
String
()
!=
"F16"
{
t
.
Fatalf
(
"expected F16, got %s"
,
kv
.
FileType
())
}
if
len
(
tensors
)
!=
tt
.
tensors
{
t
.
Fatalf
(
"expected %d tensors, got %d"
,
tt
.
tensors
,
len
(
tensors
))
}
layers
:=
tensors
.
Layers
()
if
len
(
layers
)
!=
tt
.
layers
{
t
.
Fatalf
(
"expected %d layers, got %d"
,
tt
.
layers
,
len
(
layers
))
}
})
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment