|
@@ -27,6 +27,7 @@ import (
|
|
|
"github.com/ollama/ollama/auth"
|
|
|
"github.com/ollama/ollama/format"
|
|
|
"github.com/ollama/ollama/llm"
|
|
|
+ "github.com/ollama/ollama/parser"
|
|
|
"github.com/ollama/ollama/server/envconfig"
|
|
|
"github.com/ollama/ollama/types/errtypes"
|
|
|
"github.com/ollama/ollama/types/model"
|
|
@@ -61,36 +62,36 @@ func (m *Model) IsEmbedding() bool {
|
|
|
}
|
|
|
|
|
|
func (m *Model) String() string {
|
|
|
- var modelfile model.File
|
|
|
+ var modelfile parser.File
|
|
|
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "model",
|
|
|
Args: m.ModelPath,
|
|
|
})
|
|
|
|
|
|
for _, adapter := range m.AdapterPaths {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "adapter",
|
|
|
Args: adapter,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
for _, projector := range m.ProjectorPaths {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "model",
|
|
|
Args: projector,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
if m.Template != "" {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "template",
|
|
|
Args: m.Template,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
if m.System != "" {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "system",
|
|
|
Args: m.System,
|
|
|
})
|
|
@@ -100,13 +101,13 @@ func (m *Model) String() string {
|
|
|
switch v := v.(type) {
|
|
|
case []any:
|
|
|
for _, s := range v {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: k,
|
|
|
Args: fmt.Sprintf("%v", s),
|
|
|
})
|
|
|
}
|
|
|
default:
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: k,
|
|
|
Args: fmt.Sprintf("%v", v),
|
|
|
})
|
|
@@ -114,14 +115,14 @@ func (m *Model) String() string {
|
|
|
}
|
|
|
|
|
|
for _, license := range m.License {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "license",
|
|
|
Args: license,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
for _, msg := range m.Messages {
|
|
|
- modelfile.Commands = append(modelfile.Commands, model.Command{
|
|
|
+ modelfile.Commands = append(modelfile.Commands, parser.Command{
|
|
|
Name: "message",
|
|
|
Args: fmt.Sprintf("%s %s", msg.Role, msg.Content),
|
|
|
})
|
|
@@ -314,7 +315,7 @@ func realpath(rel, from string) string {
|
|
|
return abspath
|
|
|
}
|
|
|
|
|
|
-func CreateModel(ctx context.Context, name, modelFileDir, quantization string, modelfile *model.File, fn func(resp api.ProgressResponse)) (err error) {
|
|
|
+func CreateModel(ctx context.Context, name, modelFileDir, quantization string, modelfile *parser.File, fn func(resp api.ProgressResponse)) (err error) {
|
|
|
config := ConfigV2{
|
|
|
OS: "linux",
|
|
|
Architecture: "amd64",
|