This commit is contained in:
Michael Yang
2024-06-06 08:59:04 -07:00
parent a017cf2fea
commit 5a28b9cf5f
6 changed files with 331 additions and 15 deletions

View File

@@ -66,6 +66,10 @@ type Converter interface {
writeFile(io.WriteSeeker, llm.KV, []llm.Tensor) error
}
type moreParser interface {
parseMore(fs.FS) error
}
// Convert writes an Ollama compatible model to the provided io.WriteSeeker based on configurations
// and files it finds in the input path.
// Supported input model formats include safetensors.
@@ -95,6 +99,8 @@ func Convert(fsys fs.FS, ws io.WriteSeeker) error {
conv = &gemma{}
case "Phi3ForCausalLM":
conv = &phi3{}
case "BertModel":
conv = &bert{}
default:
return errors.New("unsupported architecture")
}
@@ -103,6 +109,12 @@ func Convert(fsys fs.FS, ws io.WriteSeeker) error {
return err
}
if t, ok := conv.(moreParser); ok {
if err := t.parseMore(fsys); err != nil {
return err
}
}
t, err := parseTokenizer(fsys, conv.specialTokenTypes())
if err != nil {
return err