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
c095a7c2
Commit
c095a7c2
authored
Apr 20, 2024
by
Jun Siang Cheah
Browse files
feat: abort openai text completion when stopping responses
parent
c1d85f8a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
8 deletions
+20
-8
src/lib/apis/openai/index.ts
src/lib/apis/openai/index.ts
+4
-2
src/routes/(app)/+page.svelte
src/routes/(app)/+page.svelte
+6
-1
src/routes/(app)/c/[id]/+page.svelte
src/routes/(app)/c/[id]/+page.svelte
+6
-1
src/routes/(app)/playground/+page.svelte
src/routes/(app)/playground/+page.svelte
+4
-4
No files found.
src/lib/apis/openai/index.ts
View file @
c095a7c2
...
...
@@ -211,10 +211,12 @@ export const generateOpenAIChatCompletion = async (
token
:
string
=
''
,
body
:
object
,
url
:
string
=
OPENAI_API_BASE_URL
)
=>
{
):
Promise
<
[
Response
|
null
,
AbortController
]
>
=>
{
const
controller
=
new
AbortController
();
let
error
=
null
;
const
res
=
await
fetch
(
`
${
url
}
/chat/completions`
,
{
signal
:
controller
.
signal
,
method
:
'
POST
'
,
headers
:
{
Authorization
:
`Bearer
${
token
}
`
,
...
...
@@ -231,7 +233,7 @@ export const generateOpenAIChatCompletion = async (
throw
error
;
}
return
res
;
return
[
res
,
controller
]
;
};
export
const
synthesizeOpenAISpeech
=
async
(
...
...
src/routes/(app)/+page.svelte
View file @
c095a7c2
...
...
@@ -532,7 +532,7 @@
console
.
log
(
model
);
const
res
=
await
generateOpenAIChatCompletion
(
const
[
res
,
controller
]
=
await
generateOpenAIChatCompletion
(
localStorage
.
token
,
{
model
:
model
.
id
,
...
...
@@ -608,6 +608,11 @@
if
(
done
||
stopResponseFlag
||
_chatId
!== $chatId) {
responseMessage
.
done
=
true
;
messages
=
messages
;
if
(
stopResponseFlag
)
{
controller
.
abort
(
'User: Stop Response'
);
}
break
;
}
...
...
src/routes/(app)/c/[id]/+page.svelte
View file @
c095a7c2
...
...
@@ -544,7 +544,7 @@
console
.
log
(
docs
);
const
res
=
await
generateOpenAIChatCompletion
(
const
[
res
,
controller
]
=
await
generateOpenAIChatCompletion
(
localStorage
.
token
,
{
model
:
model
.
id
,
...
...
@@ -620,6 +620,11 @@
if
(
done
||
stopResponseFlag
||
_chatId
!== $chatId) {
responseMessage
.
done
=
true
;
messages
=
messages
;
if
(
stopResponseFlag
)
{
controller
.
abort
(
'User: Stop Response'
);
}
break
;
}
...
...
src/routes/(app)/playground/+page.svelte
View file @
c095a7c2
...
...
@@ -67,7 +67,7 @@
const textCompletionHandler = async () => {
const model = $models.find((model) => model.id === selectedModelId);
const res = await generateOpenAIChatCompletion(
const
[
res
, controller]
= await generateOpenAIChatCompletion(
localStorage.token,
{
model: model.id,
...
...
@@ -96,7 +96,7 @@
const { value, done } = await reader.read();
if (done || stopResponseFlag) {
if (stopResponseFlag) {
await cancelOllamaRequest(localStorage.token, currentRequestId
);
controller.abort('User: Stop Response'
);
}
currentRequestId = null;
...
...
@@ -135,7 +135,7 @@
const chatCompletionHandler = async () => {
const model = $models.find((model) => model.id === selectedModelId);
const res = await generateOpenAIChatCompletion(
const
[
res
, controller]
= await generateOpenAIChatCompletion(
localStorage.token,
{
model: model.id,
...
...
@@ -182,7 +182,7 @@
const { value, done } = await reader.read();
if (done || stopResponseFlag) {
if (stopResponseFlag) {
await cancelOllamaRequest(localStorage.token, currentRequestId
);
controller.abort('User: Stop Response'
);
}
currentRequestId = null;
...
...
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