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
5ce421e7
Unverified
Commit
5ce421e7
authored
Mar 15, 2024
by
Timothy Jaeryang Baek
Committed by
GitHub
Mar 15, 2024
Browse files
Merge pull request #1144 from open-webui/dev
0.1.112
parents
7ae4669f
51ef5cfa
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
58 additions
and
30 deletions
+58
-30
CHANGELOG.md
CHANGELOG.md
+8
-0
backend/apps/images/main.py
backend/apps/images/main.py
+8
-5
backend/apps/ollama/main.py
backend/apps/ollama/main.py
+11
-4
backend/apps/rag/utils.py
backend/apps/rag/utils.py
+2
-3
backend/apps/web/routers/utils.py
backend/apps/web/routers/utils.py
+1
-1
backend/constants.py
backend/constants.py
+1
-0
package.json
package.json
+1
-1
src/lib/components/chat/Settings/Images.svelte
src/lib/components/chat/Settings/Images.svelte
+4
-2
src/routes/(app)/+page.svelte
src/routes/(app)/+page.svelte
+6
-3
src/routes/(app)/c/[id]/+page.svelte
src/routes/(app)/c/[id]/+page.svelte
+12
-4
src/tailwind.css
src/tailwind.css
+4
-7
No files found.
CHANGELOG.md
View file @
5ce421e7
...
...
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on
[
Keep a Changelog
](
https://keepachangelog.com/en/1.1.0/
)
,
and this project adheres to
[
Semantic Versioning
](
https://semver.org/spec/v2.0.0.html
)
.
## [0.1.112] - 2024-03-15
### Fixed
-
🗨️ Resolved chat malfunction after image generation.
-
🎨 Fixed various RAG issues.
-
🧪 Rectified experimental broken GGUF upload logic.
## [0.1.111] - 2024-03-10
### Added
...
...
backend/apps/images/main.py
View file @
5ce421e7
...
...
@@ -293,6 +293,7 @@ def generate_image(
"size"
:
form_data
.
size
if
form_data
.
size
else
app
.
state
.
IMAGE_SIZE
,
"response_format"
:
"b64_json"
,
}
r
=
requests
.
post
(
url
=
f
"https://api.openai.com/v1/images/generations"
,
json
=
data
,
...
...
@@ -300,7 +301,6 @@ def generate_image(
)
r
.
raise_for_status
()
res
=
r
.
json
()
images
=
[]
...
...
@@ -356,7 +356,10 @@ def generate_image(
return
images
except
Exception
as
e
:
print
(
e
)
if
r
:
print
(
r
.
json
())
raise
HTTPException
(
status_code
=
400
,
detail
=
ERROR_MESSAGES
.
DEFAULT
(
e
))
error
=
e
if
r
!=
None
:
data
=
r
.
json
()
if
"error"
in
data
:
error
=
data
[
"error"
][
"message"
]
raise
HTTPException
(
status_code
=
400
,
detail
=
ERROR_MESSAGES
.
DEFAULT
(
error
))
backend/apps/ollama/main.py
View file @
5ce421e7
...
...
@@ -123,6 +123,7 @@ async def get_all_models():
map
(
lambda
response
:
response
[
"models"
],
responses
)
)
}
app
.
state
.
MODELS
=
{
model
[
"model"
]:
model
for
model
in
models
[
"models"
]}
return
models
...
...
@@ -181,11 +182,17 @@ async def get_ollama_versions(url_idx: Optional[int] = None):
responses
=
await
asyncio
.
gather
(
*
tasks
)
responses
=
list
(
filter
(
lambda
x
:
x
is
not
None
,
responses
))
if
len
(
responses
)
>
0
:
lowest_version
=
min
(
responses
,
key
=
lambda
x
:
tuple
(
map
(
int
,
x
[
"version"
].
split
(
"."
)))
)
return
{
"version"
:
lowest_version
[
"version"
]}
else
:
raise
HTTPException
(
status_code
=
500
,
detail
=
ERROR_MESSAGES
.
OLLAMA_NOT_FOUND
,
)
else
:
url
=
app
.
state
.
OLLAMA_BASE_URLS
[
url_idx
]
try
:
...
...
backend/apps/rag/utils.py
View file @
5ce421e7
...
...
@@ -91,9 +91,8 @@ def query_collection(
def
rag_template
(
template
:
str
,
context
:
str
,
query
:
str
):
template
=
re
.
sub
(
r
"\[context\]"
,
context
,
template
)
template
=
re
.
sub
(
r
"\[query\]"
,
query
,
template
)
template
=
template
.
replace
(
"[context]"
,
context
)
template
=
template
.
replace
(
"[query]"
,
query
)
return
template
...
...
backend/apps/web/routers/utils.py
View file @
5ce421e7
...
...
@@ -75,7 +75,7 @@ async def download_file_stream(url, file_path, file_name, chunk_size=1024 * 1024
hashed
=
calculate_sha256
(
file
)
file
.
seek
(
0
)
url
=
f
"
{
OLLAMA_BASE_URLS
[
0
]
}
/blobs/sha256:
{
hashed
}
"
url
=
f
"
{
OLLAMA_BASE_URLS
[
0
]
}
/
api/
blobs/sha256:
{
hashed
}
"
response
=
requests
.
post
(
url
,
data
=
file
)
if
response
.
ok
:
...
...
backend/constants.py
View file @
5ce421e7
...
...
@@ -52,3 +52,4 @@ class ERROR_MESSAGES(str, Enum):
MODEL_NOT_FOUND
=
lambda
name
=
""
:
f
"Model '
{
name
}
' was not found"
OPENAI_NOT_FOUND
=
lambda
name
=
""
:
f
"OpenAI API was not found"
OLLAMA_NOT_FOUND
=
"WebUI could not connect to Ollama"
package.json
View file @
5ce421e7
{
"name"
:
"open-webui"
,
"version"
:
"0.1.11
1
"
,
"version"
:
"0.1.11
2
"
,
"private"
:
true
,
"scripts"
:
{
"dev"
:
"vite dev --host"
,
...
...
src/lib/components/chat/Settings/Images.svelte
View file @
5ce421e7
...
...
@@ -116,11 +116,13 @@
class="flex flex-col h-full justify-between space-y-3 text-sm"
on:submit|preventDefault={async () => {
loading = true;
if (imageGenerationEngine === 'openai') {
await updateOpenAIKey(localStorage.token, OPENAI_API_KEY);
}
await updateDefaultImageGenerationModel(localStorage.token, selectedModel);
await updateDefaultImageGenerationModel(localStorage.token, selectedModel);
await updateImageSize(localStorage.token, imageSize).catch((error) => {
toast.error(error);
return null;
...
...
src/routes/(app)/+page.svelte
View file @
5ce421e7
...
...
@@ -140,7 +140,9 @@
};
const
scrollToBottom
=
()
=>
{
if
(
messagesContainerElement
)
{
messagesContainerElement
.
scrollTop
=
messagesContainerElement
.
scrollHeight
;
}
};
//////////////////////////
...
...
@@ -308,7 +310,7 @@
.
map
((
file
)
=>
file
.
url
.
slice
(
file
.
url
.
indexOf
(
','
)
+
1
));
//
Add
images
array
only
if
it
contains
elements
if
(
imageUrls
&&
imageUrls
.
length
>
0
)
{
if
(
imageUrls
&&
imageUrls
.
length
>
0
&&
message
.
role
===
'user'
)
{
baseMessage
.
images
=
imageUrls
;
}
...
...
@@ -532,7 +534,8 @@
.
filter
((
message
)
=>
message
)
.
map
((
message
,
idx
,
arr
)
=>
({
role
:
message
.
role
,
...(
message
.
files
?.
filter
((
file
)
=>
file
.
type
===
'image'
).
length
>
0
??
false
...((
message
.
files
?.
filter
((
file
)
=>
file
.
type
===
'image'
).
length
>
0
??
false
)
&&
message
.
role
===
'user'
?
{
content
:
[
{
...
...
src/routes/(app)/c/[id]/+page.svelte
View file @
5ce421e7
...
...
@@ -160,7 +160,9 @@
};
const
scrollToBottom
=
()
=>
{
if
(
messagesContainerElement
)
{
messagesContainerElement
.
scrollTop
=
messagesContainerElement
.
scrollHeight
;
}
};
//////////////////////////
...
...
@@ -321,7 +323,7 @@
.
map
((
file
)
=>
file
.
url
.
slice
(
file
.
url
.
indexOf
(
','
)
+
1
));
//
Add
images
array
only
if
it
contains
elements
if
(
imageUrls
&&
imageUrls
.
length
>
0
)
{
if
(
imageUrls
&&
imageUrls
.
length
>
0
&&
message
.
role
===
'user'
)
{
baseMessage
.
images
=
imageUrls
;
}
...
...
@@ -545,7 +547,8 @@
.
filter
((
message
)
=>
message
)
.
map
((
message
,
idx
,
arr
)
=>
({
role
:
message
.
role
,
...(
message
.
files
?.
filter
((
file
)
=>
file
.
type
===
'image'
).
length
>
0
??
false
...((
message
.
files
?.
filter
((
file
)
=>
file
.
type
===
'image'
).
length
>
0
??
false
)
&&
message
.
role
===
'user'
?
{
content
:
[
{
...
...
@@ -688,8 +691,13 @@
if
(
messages
.
length
==
2
)
{
window
.
history
.
replaceState
(
history
.
state
,
''
,
`/
c
/${
_chatId
}`);
if
($
settings
?.
titleAutoGenerateModel
)
{
await
generateChatTitle
(
_chatId
,
userPrompt
);
}
else
{
await
setChatTitle
(
_chatId
,
userPrompt
);
}
}
};
const
stopResponse
=
()
=>
{
...
...
src/tailwind.css
View file @
5ce421e7
...
...
@@ -3,16 +3,13 @@
@tailwind
utilities
;
@layer
base
{
html
{
html
,
pre
{
font-family
:
-apple-system
,
'Arimo'
,
ui-sans-serif
,
system-ui
,
'Segoe UI'
,
Roboto
,
Ubuntu
,
Cantarell
,
'Noto Sans'
,
sans-serif
,
'Helvetica Neue'
,
Arial
,
'Apple Color Emoji'
,
'Segoe UI Emoji'
,
'Segoe UI Symbol'
,
'Noto Color Emoji'
;
}
pre
{
font-family
:
-apple-system
,
'Arimo'
,
ui-sans-serif
,
system-ui
,
'Segoe UI'
,
Roboto
,
Ubuntu
,
Cantarell
,
'Noto Sans'
,
sans-serif
,
'Helvetica Neue'
,
Arial
,
'Apple Color Emoji'
,
'Segoe UI Emoji'
,
'Segoe UI Symbol'
,
'Noto Color Emoji'
;
white-space
:
pre-wrap
;
}
}
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