mirror of
https://github.com/ollama/ollama.git
synced 2025-06-12 18:11:14 +02:00
parser: fix parsing Modelfiles with multiple FROM commands (#8449)
This commit is contained in:
parent
93a8daf285
commit
42cf4db601
@ -62,7 +62,13 @@ func (f Modelfile) CreateRequest(relativeDir string) (*api.CreateRequest, error)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if req.Files == nil {
|
||||||
req.Files = digestMap
|
req.Files = digestMap
|
||||||
|
} else {
|
||||||
|
for k, v := range digestMap {
|
||||||
|
req.Files[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
case "adapter":
|
case "adapter":
|
||||||
path, err := expandPath(c.Args, relativeDir)
|
path, err := expandPath(c.Args, relativeDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -793,15 +793,20 @@ func createBinFile(t *testing.T, kv map[string]any, ti []llm.Tensor) (string, st
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCreateRequestFiles(t *testing.T) {
|
func TestCreateRequestFiles(t *testing.T) {
|
||||||
name, digest := createBinFile(t, nil, nil)
|
n1, d1 := createBinFile(t, nil, nil)
|
||||||
|
n2, d2 := createBinFile(t, map[string]any{"foo": "bar"}, nil)
|
||||||
|
|
||||||
cases := []struct {
|
cases := []struct {
|
||||||
input string
|
input string
|
||||||
expected *api.CreateRequest
|
expected *api.CreateRequest
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
fmt.Sprintf("FROM %s", name),
|
fmt.Sprintf("FROM %s", n1),
|
||||||
&api.CreateRequest{Files: map[string]string{name: digest}},
|
&api.CreateRequest{Files: map[string]string{n1: d1}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fmt.Sprintf("FROM %s\nFROM %s", n1, n2),
|
||||||
|
&api.CreateRequest{Files: map[string]string{n1: d1, n2: d2}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user