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
d5eec16d
"tests/config/dir1/dir1_b.py" did not exist on "5b3792fc3ef9ab6a6f8f30634ab2e52fb0941af3"
Unverified
Commit
d5eec16d
authored
May 09, 2024
by
Jeffrey Morgan
Committed by
GitHub
May 09, 2024
Browse files
use model defaults for `num_gqa`, `rope_frequency_base ` and `rope_frequency_scale` (#1983)
parent
daa1a032
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
83 deletions
+58
-83
api/types.go
api/types.go
+58
-68
docs/api.md
docs/api.md
+0
-3
server/routes.go
server/routes.go
+0
-12
No files found.
api/types.go
View file @
d5eec16d
...
...
@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"log/slog"
"math"
"os"
"reflect"
...
...
@@ -161,7 +162,6 @@ type Runner struct {
UseNUMA
bool
`json:"numa,omitempty"`
NumCtx
int
`json:"num_ctx,omitempty"`
NumBatch
int
`json:"num_batch,omitempty"`
NumGQA
int
`json:"num_gqa,omitempty"`
NumGPU
int
`json:"num_gpu,omitempty"`
MainGPU
int
`json:"main_gpu,omitempty"`
LowVRAM
bool
`json:"low_vram,omitempty"`
...
...
@@ -171,11 +171,6 @@ type Runner struct {
UseMMap
bool
`json:"use_mmap,omitempty"`
UseMLock
bool
`json:"use_mlock,omitempty"`
NumThread
int
`json:"num_thread,omitempty"`
// Unused: RopeFrequencyBase is ignored. Instead the value in the model will be used
RopeFrequencyBase
float32
`json:"rope_frequency_base,omitempty"`
// Unused: RopeFrequencyScale is ignored. Instead the value in the model will be used
RopeFrequencyScale
float32
`json:"rope_frequency_scale,omitempty"`
}
// EmbeddingRequest is the request passed to [Client.Embeddings].
...
...
@@ -359,8 +354,6 @@ func (m *Metrics) Summary() {
}
}
// ErrInvalidOpts is returned when invalid options are passed to the client.
var
ErrInvalidOpts
=
errors
.
New
(
"invalid options"
)
var
ErrInvalidHostPort
=
errors
.
New
(
"invalid port specified in OLLAMA_HOST"
)
func
(
opts
*
Options
)
FromMap
(
m
map
[
string
]
interface
{})
error
{
...
...
@@ -376,9 +369,13 @@ func (opts *Options) FromMap(m map[string]interface{}) error {
}
}
invalidOpts
:=
[]
string
{}
for
key
,
val
:=
range
m
{
if
opt
,
ok
:=
jsonOpts
[
key
];
ok
{
opt
,
ok
:=
jsonOpts
[
key
]
if
!
ok
{
slog
.
Warn
(
"invalid option provided"
,
"option"
,
opt
.
Name
)
continue
}
field
:=
valueOpts
.
FieldByName
(
opt
.
Name
)
if
field
.
IsValid
()
&&
field
.
CanSet
()
{
if
val
==
nil
{
...
...
@@ -435,14 +432,8 @@ func (opts *Options) FromMap(m map[string]interface{}) error {
return
fmt
.
Errorf
(
"unknown type loading config params: %v"
,
field
.
Kind
())
}
}
}
else
{
invalidOpts
=
append
(
invalidOpts
,
key
)
}
}
if
len
(
invalidOpts
)
>
0
{
return
fmt
.
Errorf
(
"%w: %v"
,
ErrInvalidOpts
,
strings
.
Join
(
invalidOpts
,
", "
))
}
return
nil
}
...
...
@@ -475,7 +466,6 @@ func DefaultOptions() Options {
NumCtx
:
2048
,
NumBatch
:
512
,
NumGPU
:
-
1
,
// -1 here indicates that NumGPU should be set dynamically
NumGQA
:
1
,
NumThread
:
0
,
// let the runtime decide
LowVRAM
:
false
,
F16KV
:
true
,
...
...
docs/api.md
View file @
d5eec16d
...
...
@@ -313,7 +313,6 @@ curl http://localhost:11434/api/generate -d '{
"numa": false,
"num_ctx": 1024,
"num_batch": 2,
"num_gqa": 1,
"num_gpu": 1,
"main_gpu": 0,
"low_vram": false,
...
...
@@ -321,8 +320,6 @@ curl http://localhost:11434/api/generate -d '{
"vocab_only": false,
"use_mmap": true,
"use_mlock": false,
"rope_frequency_base": 1.1,
"rope_frequency_scale": 0.8,
"num_thread": 8
}
}'
...
...
server/routes.go
View file @
d5eec16d
...
...
@@ -127,10 +127,6 @@ func (s *Server) GenerateHandler(c *gin.Context) {
opts
,
err
:=
modelOptions
(
model
,
req
.
Options
)
if
err
!=
nil
{
if
errors
.
Is
(
err
,
api
.
ErrInvalidOpts
)
{
c
.
JSON
(
http
.
StatusBadRequest
,
gin
.
H
{
"error"
:
err
.
Error
()})
return
}
c
.
JSON
(
http
.
StatusInternalServerError
,
gin
.
H
{
"error"
:
err
.
Error
()})
return
}
...
...
@@ -370,10 +366,6 @@ func (s *Server) EmbeddingsHandler(c *gin.Context) {
opts
,
err
:=
modelOptions
(
model
,
req
.
Options
)
if
err
!=
nil
{
if
errors
.
Is
(
err
,
api
.
ErrInvalidOpts
)
{
c
.
JSON
(
http
.
StatusBadRequest
,
gin
.
H
{
"error"
:
err
.
Error
()})
return
}
c
.
JSON
(
http
.
StatusInternalServerError
,
gin
.
H
{
"error"
:
err
.
Error
()})
return
}
...
...
@@ -1177,10 +1169,6 @@ func (s *Server) ChatHandler(c *gin.Context) {
opts
,
err
:=
modelOptions
(
model
,
req
.
Options
)
if
err
!=
nil
{
if
errors
.
Is
(
err
,
api
.
ErrInvalidOpts
)
{
c
.
JSON
(
http
.
StatusBadRequest
,
gin
.
H
{
"error"
:
err
.
Error
()})
return
}
c
.
JSON
(
http
.
StatusInternalServerError
,
gin
.
H
{
"error"
:
err
.
Error
()})
return
}
...
...
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