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
123620bc
Unverified
Commit
123620bc
authored
May 19, 2024
by
Timothy Jaeryang Baek
Committed by
GitHub
May 19, 2024
Browse files
Merge branch 'dev' into dev
parents
99dd81d7
dbdf83c5
Changes
44
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
86 deletions
+90
-86
src/routes/(app)/+page.svelte
src/routes/(app)/+page.svelte
+43
-42
src/routes/(app)/c/[id]/+page.svelte
src/routes/(app)/c/[id]/+page.svelte
+45
-42
src/routes/(app)/workspace/modelfiles/create/+page.svelte
src/routes/(app)/workspace/modelfiles/create/+page.svelte
+1
-1
src/routes/(app)/workspace/modelfiles/edit/+page.svelte
src/routes/(app)/workspace/modelfiles/edit/+page.svelte
+1
-1
No files found.
src/routes/(app)/+page.svelte
View file @
123620bc
...
@@ -202,6 +202,7 @@
...
@@ -202,6 +202,7 @@
user
:
_user
??
undefined
,
user
:
_user
??
undefined
,
content
:
userPrompt
,
content
:
userPrompt
,
files
:
files
.
length
>
0
?
files
:
undefined
,
files
:
files
.
length
>
0
?
files
:
undefined
,
models
:
selectedModels
.
filter
((
m
,
mIdx
)
=>
selectedModels
.
indexOf
(
m
)
===
mIdx
),
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
};
};
...
@@ -250,48 +251,50 @@
...
@@ -250,48 +251,50 @@
}
}
};
};
const
sendPrompt
=
async
(
prompt
,
parentId
)
=>
{
const
sendPrompt
=
async
(
prompt
,
parentId
,
modelId
=
null
)
=>
{
const
_chatId
=
JSON
.
parse
(
JSON
.
stringify
($
chatId
));
const
_chatId
=
JSON
.
parse
(
JSON
.
stringify
($
chatId
));
await
Promise
.
all
(
await
Promise
.
all
(
(
atSelectedModel
!== '' ? [atSelectedModel.id] : selectedModels).map(async (modelId) => {
(
modelId
?
[
modelId
]
:
atSelectedModel
!== '' ? [atSelectedModel.id] : selectedModels).map(
console
.
log
(
'modelId'
,
modelId
);
async
(
modelId
)
=>
{
const
model
=
$
models
.
filter
((
m
)
=>
m
.
id
===
modelId
).
at
(
0
);
console
.
log
(
'modelId'
,
modelId
);
const
model
=
$
models
.
filter
((
m
)
=>
m
.
id
===
modelId
).
at
(
0
);
if
(
model
)
{
//
Create
response
message
if
(
model
)
{
let
responseMessageId
=
uuidv4
();
//
Create
response
message
let
responseMessage
=
{
let
responseMessageId
=
uuidv4
();
parentId
:
parentId
,
let
responseMessage
=
{
id
:
responseMessageId
,
parentId
:
parentId
,
childrenIds
:
[],
id
:
responseMessageId
,
role
:
'assistant'
,
childrenIds
:
[],
content
:
''
,
role
:
'assistant'
,
model
:
model
.
id
,
content
:
''
,
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
model
:
model
.
id
,
};
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
};
//
Add
message
to
history
and
Set
currentId
to
messageId
history
.
messages
[
responseMessageId
]
=
responseMessage
;
//
Add
message
to
history
and
Set
currentId
to
messageId
history
.
currentId
=
responseMessageId
;
history
.
messages
[
responseMessageId
]
=
responseMessage
;
history
.
currentId
=
responseMessageId
;
//
Append
messageId
to
childrenIds
of
parent
message
if
(
parentId
!== null) {
//
Append
messageId
to
childrenIds
of
parent
message
history
.
messages
[
parentId
].
childrenIds
=
[
if
(
parentId
!== null) {
...
history
.
messages
[
parentId
].
childrenIds
,
history
.
messages
[
parentId
].
childrenIds
=
[
responseMessageId
...
history
.
messages
[
parentId
].
childrenIds
,
];
responseMessageId
}
];
}
if
(
model
?.
external
)
{
if
(
model
?.
external
)
{
await
sendPromptOpenAI
(
model
,
prompt
,
responseMessageId
,
_chatId
);
await
sendPromptOpenAI
(
model
,
prompt
,
responseMessageId
,
_chatId
);
}
else
if
(
model
)
{
}
else
if
(
model
)
{
await
sendPromptOllama
(
model
,
prompt
,
responseMessageId
,
_chatId
);
await
sendPromptOllama
(
model
,
prompt
,
responseMessageId
,
_chatId
);
}
}
else
{
toast
.
error
($
i18n
.
t
(`
Model
{{
modelId
}}
not
found
`,
{
modelId
}));
}
}
}
else
{
toast
.
error
($
i18n
.
t
(`
Model
{{
modelId
}}
not
found
`,
{
modelId
}));
}
}
}
)
)
);
);
await
chats
.
set
(
await
getChatList
(
localStorage
.
token
));
await
chats
.
set
(
await
getChatList
(
localStorage
.
token
));
...
@@ -756,16 +759,14 @@
...
@@ -756,16 +759,14 @@
console.log('
stopResponse
');
console.log('
stopResponse
');
};
};
const regenerateResponse = async () => {
const regenerateResponse = async (
message
) => {
console.log('
regenerateResponse
');
console.log('
regenerateResponse
');
if (messages.length != 0 && messages.at(-1).done == true) {
messages.splice(messages.length - 1, 1);
messages = messages;
let userMessage = messages.at(-1);
if (messages.length != 0) {
let userMessage = history.messages[message.parentId];
let userPrompt = userMessage.content;
let userPrompt = userMessage.content;
await sendPrompt(userPrompt, userMessage.id);
await sendPrompt(userPrompt, userMessage.id
, message.model
);
}
}
};
};
...
...
src/routes/(app)/c/[id]/+page.svelte
View file @
123620bc
...
@@ -210,7 +210,8 @@
...
@@ -210,7 +210,8 @@
user
:
_user
??
undefined
,
user
:
_user
??
undefined
,
content
:
userPrompt
,
content
:
userPrompt
,
files
:
files
.
length
>
0
?
files
:
undefined
,
files
:
files
.
length
>
0
?
files
:
undefined
,
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
),
//
Unix
epoch
models
:
selectedModels
};
};
//
Add
message
to
history
and
Set
currentId
to
messageId
//
Add
message
to
history
and
Set
currentId
to
messageId
...
@@ -255,47 +256,51 @@
...
@@ -255,47 +256,51 @@
await
sendPrompt
(
userPrompt
,
userMessageId
);
await
sendPrompt
(
userPrompt
,
userMessageId
);
}
}
};
};
const
sendPrompt
=
async
(
prompt
,
parentId
)
=>
{
const
sendPrompt
=
async
(
prompt
,
parentId
,
modelId
=
null
)
=>
{
const
_chatId
=
JSON
.
parse
(
JSON
.
stringify
($
chatId
));
const
_chatId
=
JSON
.
parse
(
JSON
.
stringify
($
chatId
));
await
Promise
.
all
(
await
Promise
.
all
(
(
atSelectedModel
!== '' ? [atSelectedModel.id] : selectedModels).map(async (modelId) => {
(
modelId
?
[
modelId
]
:
atSelectedModel
!== '' ? [atSelectedModel.id] : selectedModels).map(
const
model
=
$
models
.
filter
((
m
)
=>
m
.
id
===
modelId
).
at
(
0
);
async
(
modelId
)
=>
{
console
.
log
(
'modelId'
,
modelId
);
if
(
model
)
{
const
model
=
$
models
.
filter
((
m
)
=>
m
.
id
===
modelId
).
at
(
0
);
//
Create
response
message
let
responseMessageId
=
uuidv4
();
if
(
model
)
{
let
responseMessage
=
{
//
Create
response
message
parentId
:
parentId
,
let
responseMessageId
=
uuidv4
();
id
:
responseMessageId
,
let
responseMessage
=
{
childrenIds
:
[],
parentId
:
parentId
,
role
:
'assistant'
,
id
:
responseMessageId
,
content
:
''
,
childrenIds
:
[],
model
:
model
.
id
,
role
:
'assistant'
,
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
content
:
''
,
};
model
:
model
.
id
,
timestamp
:
Math
.
floor
(
Date
.
now
()
/
1000
)
//
Unix
epoch
//
Add
message
to
history
and
Set
currentId
to
messageId
};
history
.
messages
[
responseMessageId
]
=
responseMessage
;
history
.
currentId
=
responseMessageId
;
//
Add
message
to
history
and
Set
currentId
to
messageId
history
.
messages
[
responseMessageId
]
=
responseMessage
;
//
Append
messageId
to
childrenIds
of
parent
message
history
.
currentId
=
responseMessageId
;
if
(
parentId
!== null) {
history
.
messages
[
parentId
].
childrenIds
=
[
//
Append
messageId
to
childrenIds
of
parent
message
...
history
.
messages
[
parentId
].
childrenIds
,
if
(
parentId
!== null) {
responseMessageId
history
.
messages
[
parentId
].
childrenIds
=
[
];
...
history
.
messages
[
parentId
].
childrenIds
,
}
responseMessageId
];
}
if
(
model
?.
external
)
{
if
(
model
?.
external
)
{
await
sendPromptOpenAI
(
model
,
prompt
,
responseMessageId
,
_chatId
);
await
sendPromptOpenAI
(
model
,
prompt
,
responseMessageId
,
_chatId
);
}
else
if
(
model
)
{
}
else
if
(
model
)
{
await
sendPromptOllama
(
model
,
prompt
,
responseMessageId
,
_chatId
);
await
sendPromptOllama
(
model
,
prompt
,
responseMessageId
,
_chatId
);
}
}
else
{
toast
.
error
($
i18n
.
t
(`
Model
{{
modelId
}}
not
found
`,
{
modelId
}));
}
}
}
else
{
toast
.
error
($
i18n
.
t
(`
Model
{{
modelId
}}
not
found
`,
{
modelId
}));
}
}
}
)
)
);
);
await
chats
.
set
(
await
getChatList
(
localStorage
.
token
));
await
chats
.
set
(
await
getChatList
(
localStorage
.
token
));
...
@@ -759,16 +764,14 @@
...
@@ -759,16 +764,14 @@
console.log('
stopResponse
');
console.log('
stopResponse
');
};
};
const regenerateResponse = async () => {
const regenerateResponse = async (
message
) => {
console.log('
regenerateResponse
');
console.log('
regenerateResponse
');
if (messages.length != 0 && messages.at(-1).done == true) {
messages.splice(messages.length - 1, 1);
messages = messages;
let userMessage = messages.at(-1);
if (messages.length != 0) {
let userMessage = history.messages[message.parentId];
let userPrompt = userMessage.content;
let userPrompt = userMessage.content;
await sendPrompt(userPrompt, userMessage.id);
await sendPrompt(userPrompt, userMessage.id
, message.model
);
}
}
};
};
...
...
src/routes/(app)/workspace/modelfiles/create/+page.svelte
View file @
123620bc
...
@@ -339,7 +339,7 @@ SYSTEM """${system}"""`.replace(/^\s*\n/gm, '');
...
@@ -339,7 +339,7 @@ SYSTEM """${system}"""`.replace(/^\s*\n/gm, '');
if (
if (
inputFiles &&
inputFiles &&
inputFiles.length > 0 &&
inputFiles.length > 0 &&
['image/gif', 'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
['image/gif',
'image/webp',
'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
) {
) {
reader.readAsDataURL(inputFiles[0]);
reader.readAsDataURL(inputFiles[0]);
} else {
} else {
...
...
src/routes/(app)/workspace/modelfiles/edit/+page.svelte
View file @
123620bc
...
@@ -238,7 +238,7 @@
...
@@ -238,7 +238,7 @@
if (
if (
inputFiles &&
inputFiles &&
inputFiles.length > 0 &&
inputFiles.length > 0 &&
['image/gif', 'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
['image/gif',
'image/webp',
'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
) {
) {
reader.readAsDataURL(inputFiles[0]);
reader.readAsDataURL(inputFiles[0]);
} else {
} else {
...
...
Prev
1
2
3
Next
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