mirror of
https://github.com/mudler/LocalAI.git
synced 2025-05-20 10:35:01 +00:00
feat(grammar): add llama3.1 schema (#3015)
* wip Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * get rid of panics Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * expose it properly from the config Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Simplify Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * forgot to commit Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Remove focus on test Signed-off-by: Ettore Di Giacinto <mudler@localai.io> * Small fixups Signed-off-by: Ettore Di Giacinto <mudler@localai.io> --------- Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
This commit is contained in:
parent
fee52942eb
commit
2169c3497d
14 changed files with 609 additions and 148 deletions
65
pkg/functions/grammars/options.go
Normal file
65
pkg/functions/grammars/options.go
Normal file
|
@ -0,0 +1,65 @@
|
|||
package grammars
|
||||
|
||||
type GrammarOption struct {
|
||||
PropOrder string
|
||||
Prefix string
|
||||
MaybeArray bool
|
||||
DisableParallelNewLines bool
|
||||
MaybeString bool
|
||||
NoMixedFreeString bool
|
||||
ExpectStringsAfterJSON bool
|
||||
|
||||
FunctionName string
|
||||
SchemaType SchemaConverterType
|
||||
}
|
||||
|
||||
func (o *GrammarOption) Apply(options ...func(*GrammarOption)) {
|
||||
for _, l := range options {
|
||||
l(o)
|
||||
}
|
||||
}
|
||||
|
||||
var EnableMaybeArray = func(o *GrammarOption) {
|
||||
o.MaybeArray = true
|
||||
}
|
||||
|
||||
var DisableParallelNewLines = func(o *GrammarOption) {
|
||||
o.DisableParallelNewLines = true
|
||||
}
|
||||
|
||||
var EnableMaybeString = func(o *GrammarOption) {
|
||||
o.MaybeString = true
|
||||
}
|
||||
|
||||
var NoMixedFreeString func(*GrammarOption) = func(o *GrammarOption) {
|
||||
o.NoMixedFreeString = true
|
||||
}
|
||||
|
||||
// ExpectStringsAfterJSON enables mixed string suffix
|
||||
var ExpectStringsAfterJSON func(*GrammarOption) = func(o *GrammarOption) {
|
||||
o.ExpectStringsAfterJSON = true
|
||||
}
|
||||
|
||||
func SetPrefix(suffix string) func(*GrammarOption) {
|
||||
return func(o *GrammarOption) {
|
||||
o.Prefix = suffix
|
||||
}
|
||||
}
|
||||
|
||||
func SetPropOrder(order string) func(*GrammarOption) {
|
||||
return func(o *GrammarOption) {
|
||||
o.PropOrder = order
|
||||
}
|
||||
}
|
||||
|
||||
func WithSchemaType(schemaType SchemaConverterType) func(*GrammarOption) {
|
||||
return func(o *GrammarOption) {
|
||||
o.SchemaType = schemaType
|
||||
}
|
||||
}
|
||||
|
||||
func WithFunctionName(name string) func(*GrammarOption) {
|
||||
return func(o *GrammarOption) {
|
||||
o.FunctionName = name
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue