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
chenpangpang
open-webui
Commits
3d0f4573
"examples/community/iadb.py" did not exist on "eadf0e2555cfa19b033e02de53553f71ac33536f"
Commit
3d0f4573
authored
Jul 17, 2024
by
Timothy J. Baek
Browse files
refac
parent
ca5f1c1e
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
93 additions
and
42 deletions
+93
-42
backend/apps/ollama/main.py
backend/apps/ollama/main.py
+74
-22
backend/apps/openai/main.py
backend/apps/openai/main.py
+19
-20
No files found.
backend/apps/ollama/main.py
View file @
3d0f4573
...
@@ -743,52 +743,85 @@ async def generate_chat_completion(
...
@@ -743,52 +743,85 @@ async def generate_chat_completion(
model_info
.
params
=
model_info
.
params
.
model_dump
()
model_info
.
params
=
model_info
.
params
.
model_dump
()
if
model_info
.
params
:
if
model_info
.
params
:
if
payload
.
get
(
"options"
)
is
None
:
payload
[
"options"
]
=
{}
payload
[
"options"
]
=
{}
if
model_info
.
params
.
get
(
"mirostat"
,
None
):
if
(
model_info
.
params
.
get
(
"mirostat"
,
None
)
and
payload
[
"options"
].
get
(
"mirostat"
)
is
None
):
payload
[
"options"
][
"mirostat"
]
=
model_info
.
params
.
get
(
"mirostat"
,
None
)
payload
[
"options"
][
"mirostat"
]
=
model_info
.
params
.
get
(
"mirostat"
,
None
)
if
model_info
.
params
.
get
(
"mirostat_eta"
,
None
):
if
(
model_info
.
params
.
get
(
"mirostat_eta"
,
None
)
and
payload
[
"options"
].
get
(
"mirostat_eta"
)
is
None
):
payload
[
"options"
][
"mirostat_eta"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"mirostat_eta"
]
=
model_info
.
params
.
get
(
"mirostat_eta"
,
None
"mirostat_eta"
,
None
)
)
if
model_info
.
params
.
get
(
"mirostat_tau"
,
None
):
if
(
model_info
.
params
.
get
(
"mirostat_tau"
,
None
)
and
payload
[
"options"
].
get
(
"mirostat_tau"
)
is
None
):
payload
[
"options"
][
"mirostat_tau"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"mirostat_tau"
]
=
model_info
.
params
.
get
(
"mirostat_tau"
,
None
"mirostat_tau"
,
None
)
)
if
model_info
.
params
.
get
(
"num_ctx"
,
None
):
if
(
model_info
.
params
.
get
(
"num_ctx"
,
None
)
and
payload
[
"options"
].
get
(
"num_ctx"
)
is
None
):
payload
[
"options"
][
"num_ctx"
]
=
model_info
.
params
.
get
(
"num_ctx"
,
None
)
payload
[
"options"
][
"num_ctx"
]
=
model_info
.
params
.
get
(
"num_ctx"
,
None
)
if
model_info
.
params
.
get
(
"num_batch"
,
None
):
if
(
model_info
.
params
.
get
(
"num_batch"
,
None
)
and
payload
[
"options"
].
get
(
"num_batch"
)
is
None
):
payload
[
"options"
][
"num_batch"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"num_batch"
]
=
model_info
.
params
.
get
(
"num_batch"
,
None
"num_batch"
,
None
)
)
if
model_info
.
params
.
get
(
"num_keep"
,
None
):
if
(
model_info
.
params
.
get
(
"num_keep"
,
None
)
and
payload
[
"options"
].
get
(
"num_keep"
)
is
None
):
payload
[
"options"
][
"num_keep"
]
=
model_info
.
params
.
get
(
"num_keep"
,
None
)
payload
[
"options"
][
"num_keep"
]
=
model_info
.
params
.
get
(
"num_keep"
,
None
)
if
model_info
.
params
.
get
(
"repeat_last_n"
,
None
):
if
(
model_info
.
params
.
get
(
"repeat_last_n"
,
None
)
and
payload
[
"options"
].
get
(
"repeat_last_n"
)
is
None
):
payload
[
"options"
][
"repeat_last_n"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"repeat_last_n"
]
=
model_info
.
params
.
get
(
"repeat_last_n"
,
None
"repeat_last_n"
,
None
)
)
if
model_info
.
params
.
get
(
"frequency_penalty"
,
None
):
if
(
model_info
.
params
.
get
(
"frequency_penalty"
,
None
)
and
payload
[
"options"
].
get
(
"frequency_penalty"
)
is
None
):
payload
[
"options"
][
"repeat_penalty"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"repeat_penalty"
]
=
model_info
.
params
.
get
(
"frequency_penalty"
,
None
"frequency_penalty"
,
None
)
)
if
model_info
.
params
.
get
(
"temperature"
,
None
)
is
not
None
:
if
(
model_info
.
params
.
get
(
"temperature"
,
None
)
and
payload
[
"options"
].
get
(
"temperature"
)
is
None
):
payload
[
"options"
][
"temperature"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"temperature"
]
=
model_info
.
params
.
get
(
"temperature"
,
None
"temperature"
,
None
)
)
if
model_info
.
params
.
get
(
"seed"
,
None
):
if
(
model_info
.
params
.
get
(
"seed"
,
None
)
and
payload
[
"options"
].
get
(
"seed"
)
is
None
):
payload
[
"options"
][
"seed"
]
=
model_info
.
params
.
get
(
"seed"
,
None
)
payload
[
"options"
][
"seed"
]
=
model_info
.
params
.
get
(
"seed"
,
None
)
if
model_info
.
params
.
get
(
"stop"
,
None
):
if
(
model_info
.
params
.
get
(
"stop"
,
None
)
and
payload
[
"options"
].
get
(
"stop"
)
is
None
):
payload
[
"options"
][
"stop"
]
=
(
payload
[
"options"
][
"stop"
]
=
(
[
[
bytes
(
stop
,
"utf-8"
).
decode
(
"unicode_escape"
)
bytes
(
stop
,
"utf-8"
).
decode
(
"unicode_escape"
)
...
@@ -798,37 +831,56 @@ async def generate_chat_completion(
...
@@ -798,37 +831,56 @@ async def generate_chat_completion(
else
None
else
None
)
)
if
model_info
.
params
.
get
(
"tfs_z"
,
None
):
if
(
model_info
.
params
.
get
(
"tfs_z"
,
None
)
and
payload
[
"options"
].
get
(
"tfs_z"
)
is
None
):
payload
[
"options"
][
"tfs_z"
]
=
model_info
.
params
.
get
(
"tfs_z"
,
None
)
payload
[
"options"
][
"tfs_z"
]
=
model_info
.
params
.
get
(
"tfs_z"
,
None
)
if
model_info
.
params
.
get
(
"max_tokens"
,
None
):
if
(
model_info
.
params
.
get
(
"max_tokens"
,
None
)
and
payload
[
"options"
].
get
(
"max_tokens"
)
is
None
):
payload
[
"options"
][
"num_predict"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"num_predict"
]
=
model_info
.
params
.
get
(
"max_tokens"
,
None
"max_tokens"
,
None
)
)
if
model_info
.
params
.
get
(
"top_k"
,
None
):
if
(
model_info
.
params
.
get
(
"top_k"
,
None
)
and
payload
[
"options"
].
get
(
"top_k"
)
is
None
):
payload
[
"options"
][
"top_k"
]
=
model_info
.
params
.
get
(
"top_k"
,
None
)
payload
[
"options"
][
"top_k"
]
=
model_info
.
params
.
get
(
"top_k"
,
None
)
if
model_info
.
params
.
get
(
"top_p"
,
None
):
if
(
model_info
.
params
.
get
(
"top_p"
,
None
)
and
payload
[
"options"
].
get
(
"top_p"
)
is
None
):
payload
[
"options"
][
"top_p"
]
=
model_info
.
params
.
get
(
"top_p"
,
None
)
payload
[
"options"
][
"top_p"
]
=
model_info
.
params
.
get
(
"top_p"
,
None
)
if
model_info
.
params
.
get
(
"use_mmap"
,
None
):
if
(
model_info
.
params
.
get
(
"use_mmap"
,
None
)
and
payload
[
"options"
].
get
(
"use_mmap"
)
is
None
):
payload
[
"options"
][
"use_mmap"
]
=
model_info
.
params
.
get
(
"use_mmap"
,
None
)
payload
[
"options"
][
"use_mmap"
]
=
model_info
.
params
.
get
(
"use_mmap"
,
None
)
if
model_info
.
params
.
get
(
"use_mlock"
,
None
):
if
(
model_info
.
params
.
get
(
"use_mlock"
,
None
)
and
payload
[
"options"
].
get
(
"use_mlock"
)
is
None
):
payload
[
"options"
][
"use_mlock"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"use_mlock"
]
=
model_info
.
params
.
get
(
"use_mlock"
,
None
"use_mlock"
,
None
)
)
if
model_info
.
params
.
get
(
"num_thread"
,
None
):
if
(
model_info
.
params
.
get
(
"num_thread"
,
None
)
and
payload
[
"options"
].
get
(
"num_thread"
)
is
None
):
payload
[
"options"
][
"num_thread"
]
=
model_info
.
params
.
get
(
payload
[
"options"
][
"num_thread"
]
=
model_info
.
params
.
get
(
"num_thread"
,
None
"num_thread"
,
None
)
)
system
=
model_info
.
params
.
get
(
"system"
,
None
)
system
=
model_info
.
params
.
get
(
"system"
,
None
)
if
system
:
if
system
:
# Check if the payload already has a system message
# If not, add a system message to the payload
system
=
prompt_template
(
system
=
prompt_template
(
system
,
system
,
**
(
**
(
...
...
backend/apps/openai/main.py
View file @
3d0f4573
...
@@ -21,6 +21,7 @@ from utils.utils import (
...
@@ -21,6 +21,7 @@ from utils.utils import (
get_admin_user
,
get_admin_user
,
)
)
from
utils.task
import
prompt_template
from
utils.task
import
prompt_template
from
utils.misc
import
add_or_update_system_message
from
config
import
(
from
config
import
(
SRC_LOG_LEVELS
,
SRC_LOG_LEVELS
,
...
@@ -370,24 +371,33 @@ async def generate_chat_completion(
...
@@ -370,24 +371,33 @@ async def generate_chat_completion(
model_info
.
params
=
model_info
.
params
.
model_dump
()
model_info
.
params
=
model_info
.
params
.
model_dump
()
if
model_info
.
params
:
if
model_info
.
params
:
if
model_info
.
params
.
get
(
"temperature"
,
None
)
is
not
None
:
if
(
model_info
.
params
.
get
(
"temperature"
,
None
)
and
payload
.
get
(
"temperature"
)
is
None
):
payload
[
"temperature"
]
=
float
(
model_info
.
params
.
get
(
"temperature"
))
payload
[
"temperature"
]
=
float
(
model_info
.
params
.
get
(
"temperature"
))
if
model_info
.
params
.
get
(
"top_p"
,
None
):
if
model_info
.
params
.
get
(
"top_p"
,
None
)
and
payload
.
get
(
"top_p"
)
is
None
:
payload
[
"top_p"
]
=
int
(
model_info
.
params
.
get
(
"top_p"
,
None
))
payload
[
"top_p"
]
=
int
(
model_info
.
params
.
get
(
"top_p"
,
None
))
if
model_info
.
params
.
get
(
"max_tokens"
,
None
):
if
(
model_info
.
params
.
get
(
"max_tokens"
,
None
)
and
payload
.
get
(
"max_tokens"
)
is
None
):
payload
[
"max_tokens"
]
=
int
(
model_info
.
params
.
get
(
"max_tokens"
,
None
))
payload
[
"max_tokens"
]
=
int
(
model_info
.
params
.
get
(
"max_tokens"
,
None
))
if
model_info
.
params
.
get
(
"frequency_penalty"
,
None
):
if
(
model_info
.
params
.
get
(
"frequency_penalty"
,
None
)
and
payload
.
get
(
"frequency_penalty"
)
is
None
):
payload
[
"frequency_penalty"
]
=
int
(
payload
[
"frequency_penalty"
]
=
int
(
model_info
.
params
.
get
(
"frequency_penalty"
,
None
)
model_info
.
params
.
get
(
"frequency_penalty"
,
None
)
)
)
if
model_info
.
params
.
get
(
"seed"
,
None
):
if
model_info
.
params
.
get
(
"seed"
,
None
)
and
payload
.
get
(
"seed"
)
is
None
:
payload
[
"seed"
]
=
model_info
.
params
.
get
(
"seed"
,
None
)
payload
[
"seed"
]
=
model_info
.
params
.
get
(
"seed"
,
None
)
if
model_info
.
params
.
get
(
"stop"
,
None
):
if
model_info
.
params
.
get
(
"stop"
,
None
)
and
payload
.
get
(
"stop"
)
is
None
:
payload
[
"stop"
]
=
(
payload
[
"stop"
]
=
(
[
[
bytes
(
stop
,
"utf-8"
).
decode
(
"unicode_escape"
)
bytes
(
stop
,
"utf-8"
).
decode
(
"unicode_escape"
)
...
@@ -412,20 +422,9 @@ async def generate_chat_completion(
...
@@ -412,20 +422,9 @@ async def generate_chat_completion(
else
{}
else
{}
),
),
)
)
# Check if the payload already has a system message
# If not, add a system message to the payload
if
payload
.
get
(
"messages"
):
if
payload
.
get
(
"messages"
):
for
message
in
payload
[
"messages"
]:
payload
[
"messages"
]
=
add_or_update_system_message
(
if
message
.
get
(
"role"
)
==
"system"
:
system
,
payload
[
"messages"
]
message
[
"content"
]
=
system
+
message
[
"content"
]
break
else
:
payload
[
"messages"
].
insert
(
0
,
{
"role"
:
"system"
,
"content"
:
system
,
},
)
)
else
:
else
:
...
...
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