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
00ebda8c
Unverified
Commit
00ebda8c
authored
Mar 21, 2025
by
Parth Sareen
Committed by
GitHub
Mar 21, 2025
Browse files
Revert "parser: remove role validation from Modelfile parser" (#9917)
This reverts commit
ffbfe833
.
parent
d14ce75b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
12 deletions
+16
-12
parser/parser.go
parser/parser.go
+11
-7
parser/parser_test.go
parser/parser_test.go
+5
-5
No files found.
parser/parser.go
View file @
00ebda8c
...
...
@@ -7,7 +7,6 @@ import (
"errors"
"fmt"
"io"
"log/slog"
"net/http"
"os"
"os/user"
...
...
@@ -301,8 +300,9 @@ const (
)
var
(
errMissingFrom
=
errors
.
New
(
"no FROM line"
)
errInvalidCommand
=
errors
.
New
(
"command must be one of
\"
from
\"
,
\"
license
\"
,
\"
template
\"
,
\"
system
\"
,
\"
adapter
\"
,
\"
parameter
\"
, or
\"
message
\"
"
)
errMissingFrom
=
errors
.
New
(
"no FROM line"
)
errInvalidMessageRole
=
errors
.
New
(
"message role must be one of
\"
system
\"
,
\"
user
\"
, or
\"
assistant
\"
"
)
errInvalidCommand
=
errors
.
New
(
"command must be one of
\"
from
\"
,
\"
license
\"
,
\"
template
\"
,
\"
system
\"
,
\"
adapter
\"
,
\"
parameter
\"
, or
\"
message
\"
"
)
)
type
ParserError
struct
{
...
...
@@ -379,10 +379,14 @@ func ParseFile(r io.Reader) (*Modelfile, error) {
case
stateParameter
:
cmd
.
Name
=
b
.
String
()
case
stateMessage
:
role
=
b
.
String
()
if
!
isKnownMessageRole
(
b
.
String
())
{
slog
.
Warn
(
"received non-standard role"
,
"role"
,
role
)
if
!
isValidMessageRole
(
b
.
String
())
{
return
nil
,
&
ParserError
{
LineNumber
:
currLine
,
Msg
:
errInvalidMessageRole
.
Error
(),
}
}
role
=
b
.
String
()
case
stateComment
,
stateNil
:
// pass
case
stateValue
:
...
...
@@ -552,7 +556,7 @@ func isNewline(r rune) bool {
return
r
==
'\r'
||
r
==
'\n'
}
func
is
Known
MessageRole
(
role
string
)
bool
{
func
is
Valid
MessageRole
(
role
string
)
bool
{
return
role
==
"system"
||
role
==
"user"
||
role
==
"assistant"
}
...
...
parser/parser_test.go
View file @
00ebda8c
...
...
@@ -256,13 +256,13 @@ You are a multiline file parser. Always parse things.
{
`
FROM foo
MESSAGE
somerandomrole I'm ok with you adding any role message now
!
MESSAGE
badguy I'm a bad guy
!
`
,
[]
Command
{
{
Name
:
"model"
,
Args
:
"foo"
},
{
Name
:
"message"
,
Args
:
"somerandomrole: I'm ok with you adding any role message now!"
},
},
nil
,
&
ParserError
{
LineNumber
:
3
,
Msg
:
errInvalidMessageRole
.
Error
(),
},
},
{
`
...
...
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