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
29f904db
Commit
29f904db
authored
Aug 14, 2024
by
Michael Poluektov
Browse files
remove List imports
parent
038fc48a
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
64 additions
and
64 deletions
+64
-64
backend/apps/webui/models/prompts.py
backend/apps/webui/models/prompts.py
+2
-2
backend/apps/webui/models/tags.py
backend/apps/webui/models/tags.py
+6
-6
backend/apps/webui/models/tools.py
backend/apps/webui/models/tools.py
+4
-4
backend/apps/webui/models/users.py
backend/apps/webui/models/users.py
+2
-2
backend/apps/webui/routers/chats.py
backend/apps/webui/routers/chats.py
+11
-11
backend/apps/webui/routers/configs.py
backend/apps/webui/routers/configs.py
+7
-7
backend/apps/webui/routers/documents.py
backend/apps/webui/routers/documents.py
+3
-3
backend/apps/webui/routers/files.py
backend/apps/webui/routers/files.py
+2
-2
backend/apps/webui/routers/functions.py
backend/apps/webui/routers/functions.py
+3
-3
backend/apps/webui/routers/memories.py
backend/apps/webui/routers/memories.py
+2
-2
backend/apps/webui/routers/models.py
backend/apps/webui/routers/models.py
+2
-2
backend/apps/webui/routers/prompts.py
backend/apps/webui/routers/prompts.py
+2
-2
backend/apps/webui/routers/tools.py
backend/apps/webui/routers/tools.py
+3
-3
backend/apps/webui/routers/users.py
backend/apps/webui/routers/users.py
+2
-2
backend/apps/webui/routers/utils.py
backend/apps/webui/routers/utils.py
+1
-1
backend/main.py
backend/main.py
+2
-2
backend/utils/misc.py
backend/utils/misc.py
+9
-9
backend/utils/tools.py
backend/utils/tools.py
+1
-1
No files found.
backend/apps/webui/models/prompts.py
View file @
29f904db
from
pydantic
import
BaseModel
,
ConfigDict
from
pydantic
import
BaseModel
,
ConfigDict
from
typing
import
List
,
Optional
from
typing
import
Optional
import
time
import
time
from
sqlalchemy
import
String
,
Column
,
BigInteger
,
Text
from
sqlalchemy
import
String
,
Column
,
BigInteger
,
Text
...
@@ -82,7 +82,7 @@ class PromptsTable:
...
@@ -82,7 +82,7 @@ class PromptsTable:
except
Exception
:
except
Exception
:
return
None
return
None
def
get_prompts
(
self
)
->
L
ist
[
PromptModel
]:
def
get_prompts
(
self
)
->
l
ist
[
PromptModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
return
[
return
[
...
...
backend/apps/webui/models/tags.py
View file @
29f904db
from
pydantic
import
BaseModel
,
ConfigDict
from
pydantic
import
BaseModel
,
ConfigDict
from
typing
import
List
,
Optional
from
typing
import
Optional
import
json
import
json
import
uuid
import
uuid
...
@@ -69,11 +69,11 @@ class ChatIdTagForm(BaseModel):
...
@@ -69,11 +69,11 @@ class ChatIdTagForm(BaseModel):
class
TagChatIdsResponse
(
BaseModel
):
class
TagChatIdsResponse
(
BaseModel
):
chat_ids
:
L
ist
[
str
]
chat_ids
:
l
ist
[
str
]
class
ChatTagsResponse
(
BaseModel
):
class
ChatTagsResponse
(
BaseModel
):
tags
:
L
ist
[
str
]
tags
:
l
ist
[
str
]
class
TagTable
:
class
TagTable
:
...
@@ -135,7 +135,7 @@ class TagTable:
...
@@ -135,7 +135,7 @@ class TagTable:
except
Exception
:
except
Exception
:
return
None
return
None
def
get_tags_by_user_id
(
self
,
user_id
:
str
)
->
L
ist
[
TagModel
]:
def
get_tags_by_user_id
(
self
,
user_id
:
str
)
->
l
ist
[
TagModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
tag_names
=
[
tag_names
=
[
chat_id_tag
.
tag_name
chat_id_tag
.
tag_name
...
@@ -159,7 +159,7 @@ class TagTable:
...
@@ -159,7 +159,7 @@ class TagTable:
def
get_tags_by_chat_id_and_user_id
(
def
get_tags_by_chat_id_and_user_id
(
self
,
chat_id
:
str
,
user_id
:
str
self
,
chat_id
:
str
,
user_id
:
str
)
->
L
ist
[
TagModel
]:
)
->
l
ist
[
TagModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
tag_names
=
[
tag_names
=
[
...
@@ -184,7 +184,7 @@ class TagTable:
...
@@ -184,7 +184,7 @@ class TagTable:
def
get_chat_ids_by_tag_name_and_user_id
(
def
get_chat_ids_by_tag_name_and_user_id
(
self
,
tag_name
:
str
,
user_id
:
str
self
,
tag_name
:
str
,
user_id
:
str
)
->
L
ist
[
ChatIdTagModel
]:
)
->
l
ist
[
ChatIdTagModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
return
[
return
[
...
...
backend/apps/webui/models/tools.py
View file @
29f904db
from
pydantic
import
BaseModel
,
ConfigDict
from
pydantic
import
BaseModel
,
ConfigDict
from
typing
import
List
,
Optional
from
typing
import
Optional
import
time
import
time
import
logging
import
logging
from
sqlalchemy
import
String
,
Column
,
BigInteger
,
Text
from
sqlalchemy
import
String
,
Column
,
BigInteger
,
Text
...
@@ -45,7 +45,7 @@ class ToolModel(BaseModel):
...
@@ -45,7 +45,7 @@ class ToolModel(BaseModel):
user_id
:
str
user_id
:
str
name
:
str
name
:
str
content
:
str
content
:
str
specs
:
L
ist
[
dict
]
specs
:
l
ist
[
dict
]
meta
:
ToolMeta
meta
:
ToolMeta
updated_at
:
int
# timestamp in epoch
updated_at
:
int
# timestamp in epoch
created_at
:
int
# timestamp in epoch
created_at
:
int
# timestamp in epoch
...
@@ -81,7 +81,7 @@ class ToolValves(BaseModel):
...
@@ -81,7 +81,7 @@ class ToolValves(BaseModel):
class
ToolsTable
:
class
ToolsTable
:
def
insert_new_tool
(
def
insert_new_tool
(
self
,
user_id
:
str
,
form_data
:
ToolForm
,
specs
:
L
ist
[
dict
]
self
,
user_id
:
str
,
form_data
:
ToolForm
,
specs
:
l
ist
[
dict
]
)
->
Optional
[
ToolModel
]:
)
->
Optional
[
ToolModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
...
@@ -118,7 +118,7 @@ class ToolsTable:
...
@@ -118,7 +118,7 @@ class ToolsTable:
except
Exception
:
except
Exception
:
return
None
return
None
def
get_tools
(
self
)
->
L
ist
[
ToolModel
]:
def
get_tools
(
self
)
->
l
ist
[
ToolModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
return
[
ToolModel
.
model_validate
(
tool
)
for
tool
in
db
.
query
(
Tool
).
all
()]
return
[
ToolModel
.
model_validate
(
tool
)
for
tool
in
db
.
query
(
Tool
).
all
()]
...
...
backend/apps/webui/models/users.py
View file @
29f904db
from
pydantic
import
BaseModel
,
ConfigDict
,
parse_obj_as
from
pydantic
import
BaseModel
,
ConfigDict
,
parse_obj_as
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
import
time
import
time
from
sqlalchemy
import
String
,
Column
,
BigInteger
,
Text
from
sqlalchemy
import
String
,
Column
,
BigInteger
,
Text
...
@@ -146,7 +146,7 @@ class UsersTable:
...
@@ -146,7 +146,7 @@ class UsersTable:
except
Exception
:
except
Exception
:
return
None
return
None
def
get_users
(
self
,
skip
:
int
=
0
,
limit
:
int
=
50
)
->
L
ist
[
UserModel
]:
def
get_users
(
self
,
skip
:
int
=
0
,
limit
:
int
=
50
)
->
l
ist
[
UserModel
]:
with
get_db
()
as
db
:
with
get_db
()
as
db
:
users
=
(
users
=
(
db
.
query
(
User
)
db
.
query
(
User
)
...
...
backend/apps/webui/routers/chats.py
View file @
29f904db
from
fastapi
import
Depends
,
Request
,
HTTPException
,
status
from
fastapi
import
Depends
,
Request
,
HTTPException
,
status
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
utils.utils
import
get_verified_user
,
get_admin_user
from
utils.utils
import
get_verified_user
,
get_admin_user
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -40,8 +40,8 @@ router = APIRouter()
...
@@ -40,8 +40,8 @@ router = APIRouter()
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
ChatTitleIdResponse
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
ChatTitleIdResponse
])
@
router
.
get
(
"/list"
,
response_model
=
L
ist
[
ChatTitleIdResponse
])
@
router
.
get
(
"/list"
,
response_model
=
l
ist
[
ChatTitleIdResponse
])
async
def
get_session_user_chat_list
(
async
def
get_session_user_chat_list
(
user
=
Depends
(
get_verified_user
),
page
:
Optional
[
int
]
=
None
user
=
Depends
(
get_verified_user
),
page
:
Optional
[
int
]
=
None
):
):
...
@@ -80,7 +80,7 @@ async def delete_all_user_chats(request: Request, user=Depends(get_verified_user
...
@@ -80,7 +80,7 @@ async def delete_all_user_chats(request: Request, user=Depends(get_verified_user
############################
############################
@
router
.
get
(
"/list/user/{user_id}"
,
response_model
=
L
ist
[
ChatTitleIdResponse
])
@
router
.
get
(
"/list/user/{user_id}"
,
response_model
=
l
ist
[
ChatTitleIdResponse
])
async
def
get_user_chat_list_by_user_id
(
async
def
get_user_chat_list_by_user_id
(
user_id
:
str
,
user_id
:
str
,
user
=
Depends
(
get_admin_user
),
user
=
Depends
(
get_admin_user
),
...
@@ -119,7 +119,7 @@ async def create_new_chat(form_data: ChatForm, user=Depends(get_verified_user)):
...
@@ -119,7 +119,7 @@ async def create_new_chat(form_data: ChatForm, user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/all"
,
response_model
=
L
ist
[
ChatResponse
])
@
router
.
get
(
"/all"
,
response_model
=
l
ist
[
ChatResponse
])
async
def
get_user_chats
(
user
=
Depends
(
get_verified_user
)):
async
def
get_user_chats
(
user
=
Depends
(
get_verified_user
)):
return
[
return
[
ChatResponse
(
**
{
**
chat
.
model_dump
(),
"chat"
:
json
.
loads
(
chat
.
chat
)})
ChatResponse
(
**
{
**
chat
.
model_dump
(),
"chat"
:
json
.
loads
(
chat
.
chat
)})
...
@@ -132,7 +132,7 @@ async def get_user_chats(user=Depends(get_verified_user)):
...
@@ -132,7 +132,7 @@ async def get_user_chats(user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/all/archived"
,
response_model
=
L
ist
[
ChatResponse
])
@
router
.
get
(
"/all/archived"
,
response_model
=
l
ist
[
ChatResponse
])
async
def
get_user_archived_chats
(
user
=
Depends
(
get_verified_user
)):
async
def
get_user_archived_chats
(
user
=
Depends
(
get_verified_user
)):
return
[
return
[
ChatResponse
(
**
{
**
chat
.
model_dump
(),
"chat"
:
json
.
loads
(
chat
.
chat
)})
ChatResponse
(
**
{
**
chat
.
model_dump
(),
"chat"
:
json
.
loads
(
chat
.
chat
)})
...
@@ -145,7 +145,7 @@ async def get_user_archived_chats(user=Depends(get_verified_user)):
...
@@ -145,7 +145,7 @@ async def get_user_archived_chats(user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/all/db"
,
response_model
=
L
ist
[
ChatResponse
])
@
router
.
get
(
"/all/db"
,
response_model
=
l
ist
[
ChatResponse
])
async
def
get_all_user_chats_in_db
(
user
=
Depends
(
get_admin_user
)):
async
def
get_all_user_chats_in_db
(
user
=
Depends
(
get_admin_user
)):
if
not
ENABLE_ADMIN_EXPORT
:
if
not
ENABLE_ADMIN_EXPORT
:
raise
HTTPException
(
raise
HTTPException
(
...
@@ -163,7 +163,7 @@ async def get_all_user_chats_in_db(user=Depends(get_admin_user)):
...
@@ -163,7 +163,7 @@ async def get_all_user_chats_in_db(user=Depends(get_admin_user)):
############################
############################
@
router
.
get
(
"/archived"
,
response_model
=
L
ist
[
ChatTitleIdResponse
])
@
router
.
get
(
"/archived"
,
response_model
=
l
ist
[
ChatTitleIdResponse
])
async
def
get_archived_session_user_chat_list
(
async
def
get_archived_session_user_chat_list
(
user
=
Depends
(
get_verified_user
),
skip
:
int
=
0
,
limit
:
int
=
50
user
=
Depends
(
get_verified_user
),
skip
:
int
=
0
,
limit
:
int
=
50
):
):
...
@@ -216,7 +216,7 @@ class TagNameForm(BaseModel):
...
@@ -216,7 +216,7 @@ class TagNameForm(BaseModel):
limit
:
Optional
[
int
]
=
50
limit
:
Optional
[
int
]
=
50
@
router
.
post
(
"/tags"
,
response_model
=
L
ist
[
ChatTitleIdResponse
])
@
router
.
post
(
"/tags"
,
response_model
=
l
ist
[
ChatTitleIdResponse
])
async
def
get_user_chat_list_by_tag_name
(
async
def
get_user_chat_list_by_tag_name
(
form_data
:
TagNameForm
,
user
=
Depends
(
get_verified_user
)
form_data
:
TagNameForm
,
user
=
Depends
(
get_verified_user
)
):
):
...
@@ -241,7 +241,7 @@ async def get_user_chat_list_by_tag_name(
...
@@ -241,7 +241,7 @@ async def get_user_chat_list_by_tag_name(
############################
############################
@
router
.
get
(
"/tags/all"
,
response_model
=
L
ist
[
TagModel
])
@
router
.
get
(
"/tags/all"
,
response_model
=
l
ist
[
TagModel
])
async
def
get_all_tags
(
user
=
Depends
(
get_verified_user
)):
async
def
get_all_tags
(
user
=
Depends
(
get_verified_user
)):
try
:
try
:
tags
=
Tags
.
get_tags_by_user_id
(
user
.
id
)
tags
=
Tags
.
get_tags_by_user_id
(
user
.
id
)
...
@@ -417,7 +417,7 @@ async def delete_shared_chat_by_id(id: str, user=Depends(get_verified_user)):
...
@@ -417,7 +417,7 @@ async def delete_shared_chat_by_id(id: str, user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/{id}/tags"
,
response_model
=
L
ist
[
TagModel
])
@
router
.
get
(
"/{id}/tags"
,
response_model
=
l
ist
[
TagModel
])
async
def
get_chat_tags_by_id
(
id
:
str
,
user
=
Depends
(
get_verified_user
)):
async
def
get_chat_tags_by_id
(
id
:
str
,
user
=
Depends
(
get_verified_user
)):
tags
=
Tags
.
get_tags_by_chat_id_and_user_id
(
id
,
user
.
id
)
tags
=
Tags
.
get_tags_by_chat_id_and_user_id
(
id
,
user
.
id
)
...
...
backend/apps/webui/routers/configs.py
View file @
29f904db
from
fastapi
import
Response
,
Request
from
fastapi
import
Response
,
Request
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
from
typing
import
Union
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -29,12 +29,12 @@ class SetDefaultModelsForm(BaseModel):
...
@@ -29,12 +29,12 @@ class SetDefaultModelsForm(BaseModel):
class
PromptSuggestion
(
BaseModel
):
class
PromptSuggestion
(
BaseModel
):
title
:
L
ist
[
str
]
title
:
l
ist
[
str
]
content
:
str
content
:
str
class
SetDefaultSuggestionsForm
(
BaseModel
):
class
SetDefaultSuggestionsForm
(
BaseModel
):
suggestions
:
L
ist
[
PromptSuggestion
]
suggestions
:
l
ist
[
PromptSuggestion
]
############################
############################
...
@@ -50,7 +50,7 @@ async def set_global_default_models(
...
@@ -50,7 +50,7 @@ async def set_global_default_models(
return
request
.
app
.
state
.
config
.
DEFAULT_MODELS
return
request
.
app
.
state
.
config
.
DEFAULT_MODELS
@
router
.
post
(
"/default/suggestions"
,
response_model
=
L
ist
[
PromptSuggestion
])
@
router
.
post
(
"/default/suggestions"
,
response_model
=
l
ist
[
PromptSuggestion
])
async
def
set_global_default_suggestions
(
async
def
set_global_default_suggestions
(
request
:
Request
,
request
:
Request
,
form_data
:
SetDefaultSuggestionsForm
,
form_data
:
SetDefaultSuggestionsForm
,
...
@@ -67,10 +67,10 @@ async def set_global_default_suggestions(
...
@@ -67,10 +67,10 @@ async def set_global_default_suggestions(
class
SetBannersForm
(
BaseModel
):
class
SetBannersForm
(
BaseModel
):
banners
:
L
ist
[
BannerModel
]
banners
:
l
ist
[
BannerModel
]
@
router
.
post
(
"/banners"
,
response_model
=
L
ist
[
BannerModel
])
@
router
.
post
(
"/banners"
,
response_model
=
l
ist
[
BannerModel
])
async
def
set_banners
(
async
def
set_banners
(
request
:
Request
,
request
:
Request
,
form_data
:
SetBannersForm
,
form_data
:
SetBannersForm
,
...
@@ -81,7 +81,7 @@ async def set_banners(
...
@@ -81,7 +81,7 @@ async def set_banners(
return
request
.
app
.
state
.
config
.
BANNERS
return
request
.
app
.
state
.
config
.
BANNERS
@
router
.
get
(
"/banners"
,
response_model
=
L
ist
[
BannerModel
])
@
router
.
get
(
"/banners"
,
response_model
=
l
ist
[
BannerModel
])
async
def
get_banners
(
async
def
get_banners
(
request
:
Request
,
request
:
Request
,
user
=
Depends
(
get_verified_user
),
user
=
Depends
(
get_verified_user
),
...
...
backend/apps/webui/routers/documents.py
View file @
29f904db
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -24,7 +24,7 @@ router = APIRouter()
...
@@ -24,7 +24,7 @@ router = APIRouter()
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
DocumentResponse
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
DocumentResponse
])
async
def
get_documents
(
user
=
Depends
(
get_verified_user
)):
async
def
get_documents
(
user
=
Depends
(
get_verified_user
)):
docs
=
[
docs
=
[
DocumentResponse
(
DocumentResponse
(
...
@@ -102,7 +102,7 @@ class TagItem(BaseModel):
...
@@ -102,7 +102,7 @@ class TagItem(BaseModel):
class
TagDocumentForm
(
BaseModel
):
class
TagDocumentForm
(
BaseModel
):
name
:
str
name
:
str
tags
:
L
ist
[
dict
]
tags
:
l
ist
[
dict
]
@
router
.
post
(
"/doc/tags"
,
response_model
=
Optional
[
DocumentResponse
])
@
router
.
post
(
"/doc/tags"
,
response_model
=
Optional
[
DocumentResponse
])
...
...
backend/apps/webui/routers/files.py
View file @
29f904db
...
@@ -11,7 +11,7 @@ from fastapi import (
...
@@ -11,7 +11,7 @@ from fastapi import (
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
pathlib
import
Path
from
pathlib
import
Path
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
...
@@ -104,7 +104,7 @@ def upload_file(file: UploadFile = File(...), user=Depends(get_verified_user)):
...
@@ -104,7 +104,7 @@ def upload_file(file: UploadFile = File(...), user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
FileModel
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
FileModel
])
async
def
list_files
(
user
=
Depends
(
get_verified_user
)):
async
def
list_files
(
user
=
Depends
(
get_verified_user
)):
files
=
Files
.
get_files
()
files
=
Files
.
get_files
()
return
files
return
files
...
...
backend/apps/webui/routers/functions.py
View file @
29f904db
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
,
Request
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
,
Request
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -30,7 +30,7 @@ router = APIRouter()
...
@@ -30,7 +30,7 @@ router = APIRouter()
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
FunctionResponse
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
FunctionResponse
])
async
def
get_functions
(
user
=
Depends
(
get_verified_user
)):
async
def
get_functions
(
user
=
Depends
(
get_verified_user
)):
return
Functions
.
get_functions
()
return
Functions
.
get_functions
()
...
@@ -40,7 +40,7 @@ async def get_functions(user=Depends(get_verified_user)):
...
@@ -40,7 +40,7 @@ async def get_functions(user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/export"
,
response_model
=
L
ist
[
FunctionModel
])
@
router
.
get
(
"/export"
,
response_model
=
l
ist
[
FunctionModel
])
async
def
get_functions
(
user
=
Depends
(
get_admin_user
)):
async
def
get_functions
(
user
=
Depends
(
get_admin_user
)):
return
Functions
.
get_functions
()
return
Functions
.
get_functions
()
...
...
backend/apps/webui/routers/memories.py
View file @
29f904db
from
fastapi
import
Response
,
Request
from
fastapi
import
Response
,
Request
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -30,7 +30,7 @@ async def get_embeddings(request: Request):
...
@@ -30,7 +30,7 @@ async def get_embeddings(request: Request):
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
MemoryModel
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
MemoryModel
])
async
def
get_memories
(
user
=
Depends
(
get_verified_user
)):
async
def
get_memories
(
user
=
Depends
(
get_verified_user
)):
return
Memories
.
get_memories_by_user_id
(
user
.
id
)
return
Memories
.
get_memories_by_user_id
(
user
.
id
)
...
...
backend/apps/webui/routers/models.py
View file @
29f904db
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
,
Request
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
,
Request
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -18,7 +18,7 @@ router = APIRouter()
...
@@ -18,7 +18,7 @@ router = APIRouter()
###########################
###########################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
ModelResponse
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
ModelResponse
])
async
def
get_models
(
user
=
Depends
(
get_verified_user
)):
async
def
get_models
(
user
=
Depends
(
get_verified_user
)):
return
Models
.
get_all_models
()
return
Models
.
get_all_models
()
...
...
backend/apps/webui/routers/prompts.py
View file @
29f904db
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -18,7 +18,7 @@ router = APIRouter()
...
@@ -18,7 +18,7 @@ router = APIRouter()
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
PromptModel
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
PromptModel
])
async
def
get_prompts
(
user
=
Depends
(
get_verified_user
)):
async
def
get_prompts
(
user
=
Depends
(
get_verified_user
)):
return
Prompts
.
get_prompts
()
return
Prompts
.
get_prompts
()
...
...
backend/apps/webui/routers/tools.py
View file @
29f904db
from
fastapi
import
Depends
,
HTTPException
,
status
,
Request
from
fastapi
import
Depends
,
HTTPException
,
status
,
Request
from
typing
import
List
,
Optional
from
typing
import
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
...
@@ -27,7 +27,7 @@ router = APIRouter()
...
@@ -27,7 +27,7 @@ router = APIRouter()
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
ToolResponse
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
ToolResponse
])
async
def
get_toolkits
(
user
=
Depends
(
get_verified_user
)):
async
def
get_toolkits
(
user
=
Depends
(
get_verified_user
)):
toolkits
=
[
toolkit
for
toolkit
in
Tools
.
get_tools
()]
toolkits
=
[
toolkit
for
toolkit
in
Tools
.
get_tools
()]
return
toolkits
return
toolkits
...
@@ -38,7 +38,7 @@ async def get_toolkits(user=Depends(get_verified_user)):
...
@@ -38,7 +38,7 @@ async def get_toolkits(user=Depends(get_verified_user)):
############################
############################
@
router
.
get
(
"/export"
,
response_model
=
L
ist
[
ToolModel
])
@
router
.
get
(
"/export"
,
response_model
=
l
ist
[
ToolModel
])
async
def
get_toolkits
(
user
=
Depends
(
get_admin_user
)):
async
def
get_toolkits
(
user
=
Depends
(
get_admin_user
)):
toolkits
=
[
toolkit
for
toolkit
in
Tools
.
get_tools
()]
toolkits
=
[
toolkit
for
toolkit
in
Tools
.
get_tools
()]
return
toolkits
return
toolkits
...
...
backend/apps/webui/routers/users.py
View file @
29f904db
from
fastapi
import
Response
,
Request
from
fastapi
import
Response
,
Request
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
fastapi
import
Depends
,
FastAPI
,
HTTPException
,
status
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
,
timedelta
from
typing
import
List
,
Union
,
Optional
from
typing
import
Union
,
Optional
from
fastapi
import
APIRouter
from
fastapi
import
APIRouter
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
...
@@ -39,7 +39,7 @@ router = APIRouter()
...
@@ -39,7 +39,7 @@ router = APIRouter()
############################
############################
@
router
.
get
(
"/"
,
response_model
=
L
ist
[
UserModel
])
@
router
.
get
(
"/"
,
response_model
=
l
ist
[
UserModel
])
async
def
get_users
(
skip
:
int
=
0
,
limit
:
int
=
50
,
user
=
Depends
(
get_admin_user
)):
async
def
get_users
(
skip
:
int
=
0
,
limit
:
int
=
50
,
user
=
Depends
(
get_admin_user
)):
return
Users
.
get_users
(
skip
,
limit
)
return
Users
.
get_users
(
skip
,
limit
)
...
...
backend/apps/webui/routers/utils.py
View file @
29f904db
...
@@ -57,7 +57,7 @@ async def get_html_from_markdown(
...
@@ -57,7 +57,7 @@ async def get_html_from_markdown(
class
ChatForm
(
BaseModel
):
class
ChatForm
(
BaseModel
):
title
:
str
title
:
str
messages
:
L
ist
[
dict
]
messages
:
l
ist
[
dict
]
@
router
.
post
(
"/pdf"
)
@
router
.
post
(
"/pdf"
)
...
...
backend/main.py
View file @
29f904db
...
@@ -51,7 +51,7 @@ from apps.webui.internal.db import Session
...
@@ -51,7 +51,7 @@ from apps.webui.internal.db import Session
from
pydantic
import
BaseModel
from
pydantic
import
BaseModel
from
typing
import
List
,
Optional
from
typing
import
Optional
from
apps.webui.models.auths
import
Auths
from
apps.webui.models.auths
import
Auths
from
apps.webui.models.models
import
Models
from
apps.webui.models.models
import
Models
...
@@ -2027,7 +2027,7 @@ async def get_model_filter_config(user=Depends(get_admin_user)):
...
@@ -2027,7 +2027,7 @@ async def get_model_filter_config(user=Depends(get_admin_user)):
class
ModelFilterConfigForm
(
BaseModel
):
class
ModelFilterConfigForm
(
BaseModel
):
enabled
:
bool
enabled
:
bool
models
:
L
ist
[
str
]
models
:
l
ist
[
str
]
@
app
.
post
(
"/api/config/model/filter"
)
@
app
.
post
(
"/api/config/model/filter"
)
...
...
backend/utils/misc.py
View file @
29f904db
...
@@ -9,7 +9,7 @@ import time
...
@@ -9,7 +9,7 @@ import time
from
utils.task
import
prompt_template
from
utils.task
import
prompt_template
def
get_last_user_message_item
(
messages
:
L
ist
[
dict
])
->
Optional
[
dict
]:
def
get_last_user_message_item
(
messages
:
l
ist
[
dict
])
->
Optional
[
dict
]:
for
message
in
reversed
(
messages
):
for
message
in
reversed
(
messages
):
if
message
[
"role"
]
==
"user"
:
if
message
[
"role"
]
==
"user"
:
return
message
return
message
...
@@ -26,7 +26,7 @@ def get_content_from_message(message: dict) -> Optional[str]:
...
@@ -26,7 +26,7 @@ def get_content_from_message(message: dict) -> Optional[str]:
return
None
return
None
def
get_last_user_message
(
messages
:
L
ist
[
dict
])
->
Optional
[
str
]:
def
get_last_user_message
(
messages
:
l
ist
[
dict
])
->
Optional
[
str
]:
message
=
get_last_user_message_item
(
messages
)
message
=
get_last_user_message_item
(
messages
)
if
message
is
None
:
if
message
is
None
:
return
None
return
None
...
@@ -34,31 +34,31 @@ def get_last_user_message(messages: List[dict]) -> Optional[str]:
...
@@ -34,31 +34,31 @@ def get_last_user_message(messages: List[dict]) -> Optional[str]:
return
get_content_from_message
(
message
)
return
get_content_from_message
(
message
)
def
get_last_assistant_message
(
messages
:
L
ist
[
dict
])
->
Optional
[
str
]:
def
get_last_assistant_message
(
messages
:
l
ist
[
dict
])
->
Optional
[
str
]:
for
message
in
reversed
(
messages
):
for
message
in
reversed
(
messages
):
if
message
[
"role"
]
==
"assistant"
:
if
message
[
"role"
]
==
"assistant"
:
return
get_content_from_message
(
message
)
return
get_content_from_message
(
message
)
return
None
return
None
def
get_system_message
(
messages
:
L
ist
[
dict
])
->
Optional
[
dict
]:
def
get_system_message
(
messages
:
l
ist
[
dict
])
->
Optional
[
dict
]:
for
message
in
messages
:
for
message
in
messages
:
if
message
[
"role"
]
==
"system"
:
if
message
[
"role"
]
==
"system"
:
return
message
return
message
return
None
return
None
def
remove_system_message
(
messages
:
L
ist
[
dict
])
->
L
ist
[
dict
]:
def
remove_system_message
(
messages
:
l
ist
[
dict
])
->
l
ist
[
dict
]:
return
[
message
for
message
in
messages
if
message
[
"role"
]
!=
"system"
]
return
[
message
for
message
in
messages
if
message
[
"role"
]
!=
"system"
]
def
pop_system_message
(
messages
:
L
ist
[
dict
])
->
Tuple
[
Optional
[
dict
],
L
ist
[
dict
]]:
def
pop_system_message
(
messages
:
l
ist
[
dict
])
->
Tuple
[
Optional
[
dict
],
l
ist
[
dict
]]:
return
get_system_message
(
messages
),
remove_system_message
(
messages
)
return
get_system_message
(
messages
),
remove_system_message
(
messages
)
def
prepend_to_first_user_message_content
(
def
prepend_to_first_user_message_content
(
content
:
str
,
messages
:
L
ist
[
dict
]
content
:
str
,
messages
:
l
ist
[
dict
]
)
->
L
ist
[
dict
]:
)
->
l
ist
[
dict
]:
for
message
in
messages
:
for
message
in
messages
:
if
message
[
"role"
]
==
"user"
:
if
message
[
"role"
]
==
"user"
:
if
isinstance
(
message
[
"content"
],
list
):
if
isinstance
(
message
[
"content"
],
list
):
...
@@ -71,7 +71,7 @@ def prepend_to_first_user_message_content(
...
@@ -71,7 +71,7 @@ def prepend_to_first_user_message_content(
return
messages
return
messages
def
add_or_update_system_message
(
content
:
str
,
messages
:
L
ist
[
dict
]):
def
add_or_update_system_message
(
content
:
str
,
messages
:
l
ist
[
dict
]):
"""
"""
Adds a new system message at the beginning of the messages list
Adds a new system message at the beginning of the messages list
or updates the existing system message at the beginning.
or updates the existing system message at the beginning.
...
...
backend/utils/tools.py
View file @
29f904db
...
@@ -16,7 +16,7 @@ def doc_to_dict(docstring):
...
@@ -16,7 +16,7 @@ def doc_to_dict(docstring):
return
ret_dict
return
ret_dict
def
get_tools_specs
(
tools
)
->
L
ist
[
dict
]:
def
get_tools_specs
(
tools
)
->
l
ist
[
dict
]:
function_list
=
[
function_list
=
[
{
"name"
:
func
,
"function"
:
getattr
(
tools
,
func
)}
{
"name"
:
func
,
"function"
:
getattr
(
tools
,
func
)}
for
func
in
dir
(
tools
)
for
func
in
dir
(
tools
)
...
...
Prev
1
2
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