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
7bc88eb0
Unverified
Commit
7bc88eb0
authored
Jun 30, 2024
by
Timothy Jaeryang Baek
Committed by
GitHub
Jun 30, 2024
Browse files
Merge pull request #3549 from open-webui/dev
refac: ollama non streaming response
parents
66182bac
f6efda9e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
12 deletions
+24
-12
backend/apps/ollama/main.py
backend/apps/ollama/main.py
+20
-8
backend/requirements.txt
backend/requirements.txt
+4
-4
No files found.
backend/apps/ollama/main.py
View file @
7bc88eb0
...
@@ -153,7 +153,7 @@ async def cleanup_response(
...
@@ -153,7 +153,7 @@ async def cleanup_response(
await
session
.
close
()
await
session
.
close
()
async
def
post_streaming_url
(
url
:
str
,
payload
:
str
):
async
def
post_streaming_url
(
url
:
str
,
payload
:
str
,
stream
:
bool
=
True
):
r
=
None
r
=
None
try
:
try
:
session
=
aiohttp
.
ClientSession
(
session
=
aiohttp
.
ClientSession
(
...
@@ -162,12 +162,20 @@ async def post_streaming_url(url: str, payload: str):
...
@@ -162,12 +162,20 @@ async def post_streaming_url(url: str, payload: str):
r
=
await
session
.
post
(
url
,
data
=
payload
)
r
=
await
session
.
post
(
url
,
data
=
payload
)
r
.
raise_for_status
()
r
.
raise_for_status
()
return
StreamingResponse
(
if
stream
:
r
.
content
,
return
StreamingResponse
(
status_code
=
r
.
status
,
r
.
content
,
headers
=
dict
(
r
.
headers
),
status_code
=
r
.
status
,
background
=
BackgroundTask
(
cleanup_response
,
response
=
r
,
session
=
session
),
headers
=
dict
(
r
.
headers
),
)
background
=
BackgroundTask
(
cleanup_response
,
response
=
r
,
session
=
session
),
)
else
:
res
=
await
r
.
json
()
await
cleanup_response
(
r
,
session
)
return
res
except
Exception
as
e
:
except
Exception
as
e
:
error_detail
=
"Open WebUI: Server Connection Error"
error_detail
=
"Open WebUI: Server Connection Error"
if
r
is
not
None
:
if
r
is
not
None
:
...
@@ -963,7 +971,11 @@ async def generate_openai_chat_completion(
...
@@ -963,7 +971,11 @@ async def generate_openai_chat_completion(
url
=
app
.
state
.
config
.
OLLAMA_BASE_URLS
[
url_idx
]
url
=
app
.
state
.
config
.
OLLAMA_BASE_URLS
[
url_idx
]
log
.
info
(
f
"url:
{
url
}
"
)
log
.
info
(
f
"url:
{
url
}
"
)
return
await
post_streaming_url
(
f
"
{
url
}
/v1/chat/completions"
,
json
.
dumps
(
payload
))
return
await
post_streaming_url
(
f
"
{
url
}
/v1/chat/completions"
,
json
.
dumps
(
payload
),
stream
=
payload
.
get
(
"stream"
,
False
),
)
@
app
.
get
(
"/v1/models"
)
@
app
.
get
(
"/v1/models"
)
...
...
backend/requirements.txt
View file @
7bc88eb0
...
@@ -6,7 +6,7 @@ python-multipart==0.0.9
...
@@ -6,7 +6,7 @@ python-multipart==0.0.9
Flask==3.0.3
Flask==3.0.3
Flask-Cors==4.0.1
Flask-Cors==4.0.1
python-socketio==5.11.
2
python-socketio==5.11.
3
python-jose==3.3.0
python-jose==3.3.0
passlib[bcrypt]==1.7.4
passlib[bcrypt]==1.7.4
...
@@ -32,10 +32,10 @@ google-generativeai==0.5.4
...
@@ -32,10 +32,10 @@ google-generativeai==0.5.4
langchain==0.2.0
langchain==0.2.0
langchain-community==0.2.0
langchain-community==0.2.0
langchain-chroma==0.1.
1
langchain-chroma==0.1.
2
fake-useragent==1.5.1
fake-useragent==1.5.1
chromadb==0.5.
0
chromadb==0.5.
3
sentence-transformers==2.7.0
sentence-transformers==2.7.0
pypdf==4.2.0
pypdf==4.2.0
docx2txt==0.8
docx2txt==0.8
...
@@ -67,4 +67,4 @@ pytube==15.0.0
...
@@ -67,4 +67,4 @@ pytube==15.0.0
extract_msg
extract_msg
pydub
pydub
duckduckgo-search~=6.1.5
duckduckgo-search~=6.1.7
\ No newline at end of file
\ No newline at end of file
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