"vscode:/vscode.git/clone" did not exist on "539201a032f38eee32b69851c5b9ed51b906761d"
Unverified Commit 9f0c9d97 authored by Timothy Jaeryang Baek's avatar Timothy Jaeryang Baek Committed by GitHub
Browse files

Merge pull request #4597 from michaelpoluektov/cleanup

refactor: search and replace-able cleanup
parents 1597e33a 0470146d
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict
from typing import List, Union, Optional from typing import Union, Optional
from sqlalchemy import Column, String, BigInteger, Text from sqlalchemy import Column, String, BigInteger, Text
...@@ -80,25 +80,25 @@ class MemoriesTable: ...@@ -80,25 +80,25 @@ class MemoriesTable:
) )
db.commit() db.commit()
return self.get_memory_by_id(id) return self.get_memory_by_id(id)
except: except Exception:
return None return None
def get_memories(self) -> List[MemoryModel]: def get_memories(self) -> list[MemoryModel]:
with get_db() as db: with get_db() as db:
try: try:
memories = db.query(Memory).all() memories = db.query(Memory).all()
return [MemoryModel.model_validate(memory) for memory in memories] return [MemoryModel.model_validate(memory) for memory in memories]
except: except Exception:
return None return None
def get_memories_by_user_id(self, user_id: str) -> List[MemoryModel]: def get_memories_by_user_id(self, user_id: str) -> list[MemoryModel]:
with get_db() as db: with get_db() as db:
try: try:
memories = db.query(Memory).filter_by(user_id=user_id).all() memories = db.query(Memory).filter_by(user_id=user_id).all()
return [MemoryModel.model_validate(memory) for memory in memories] return [MemoryModel.model_validate(memory) for memory in memories]
except: except Exception:
return None return None
def get_memory_by_id(self, id: str) -> Optional[MemoryModel]: def get_memory_by_id(self, id: str) -> Optional[MemoryModel]:
...@@ -107,7 +107,7 @@ class MemoriesTable: ...@@ -107,7 +107,7 @@ class MemoriesTable:
try: try:
memory = db.get(Memory, id) memory = db.get(Memory, id)
return MemoryModel.model_validate(memory) return MemoryModel.model_validate(memory)
except: except Exception:
return None return None
def delete_memory_by_id(self, id: str) -> bool: def delete_memory_by_id(self, id: str) -> bool:
...@@ -119,7 +119,7 @@ class MemoriesTable: ...@@ -119,7 +119,7 @@ class MemoriesTable:
return True return True
except: except Exception:
return False return False
def delete_memories_by_user_id(self, user_id: str) -> bool: def delete_memories_by_user_id(self, user_id: str) -> bool:
...@@ -130,7 +130,7 @@ class MemoriesTable: ...@@ -130,7 +130,7 @@ class MemoriesTable:
db.commit() db.commit()
return True return True
except: except Exception:
return False return False
def delete_memory_by_id_and_user_id(self, id: str, user_id: str) -> bool: def delete_memory_by_id_and_user_id(self, id: str, user_id: str) -> bool:
...@@ -141,7 +141,7 @@ class MemoriesTable: ...@@ -141,7 +141,7 @@ class MemoriesTable:
db.commit() db.commit()
return True return True
except: except Exception:
return False return False
......
...@@ -137,7 +137,7 @@ class ModelsTable: ...@@ -137,7 +137,7 @@ class ModelsTable:
print(e) print(e)
return None return None
def get_all_models(self) -> List[ModelModel]: def get_all_models(self) -> list[ModelModel]:
with get_db() as db: with get_db() as db:
return [ModelModel.model_validate(model) for model in db.query(Model).all()] return [ModelModel.model_validate(model) for model in db.query(Model).all()]
...@@ -146,7 +146,7 @@ class ModelsTable: ...@@ -146,7 +146,7 @@ class ModelsTable:
with get_db() as db: with get_db() as db:
model = db.get(Model, id) model = db.get(Model, id)
return ModelModel.model_validate(model) return ModelModel.model_validate(model)
except: except Exception:
return None return None
def update_model_by_id(self, id: str, model: ModelForm) -> Optional[ModelModel]: def update_model_by_id(self, id: str, model: ModelForm) -> Optional[ModelModel]:
...@@ -175,7 +175,7 @@ class ModelsTable: ...@@ -175,7 +175,7 @@ class ModelsTable:
db.commit() db.commit()
return True return True
except: except Exception:
return False return False
......
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
...@@ -79,10 +79,10 @@ class PromptsTable: ...@@ -79,10 +79,10 @@ class PromptsTable:
prompt = db.query(Prompt).filter_by(command=command).first() prompt = db.query(Prompt).filter_by(command=command).first()
return PromptModel.model_validate(prompt) return PromptModel.model_validate(prompt)
except: except Exception:
return None return None
def get_prompts(self) -> List[PromptModel]: def get_prompts(self) -> list[PromptModel]:
with get_db() as db: with get_db() as db:
return [ return [
...@@ -101,7 +101,7 @@ class PromptsTable: ...@@ -101,7 +101,7 @@ class PromptsTable:
prompt.timestamp = int(time.time()) prompt.timestamp = int(time.time())
db.commit() db.commit()
return PromptModel.model_validate(prompt) return PromptModel.model_validate(prompt)
except: except Exception:
return None return None
def delete_prompt_by_command(self, command: str) -> bool: def delete_prompt_by_command(self, command: str) -> bool:
...@@ -112,7 +112,7 @@ class PromptsTable: ...@@ -112,7 +112,7 @@ class PromptsTable:
db.commit() db.commit()
return True return True
except: except Exception:
return False return False
......
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: List[str] chat_ids: list[str]
class ChatTagsResponse(BaseModel): class ChatTagsResponse(BaseModel):
tags: List[str] tags: list[str]
class TagTable: class TagTable:
...@@ -109,7 +109,7 @@ class TagTable: ...@@ -109,7 +109,7 @@ class TagTable:
self, user_id: str, form_data: ChatIdTagForm self, user_id: str, form_data: ChatIdTagForm
) -> Optional[ChatIdTagModel]: ) -> Optional[ChatIdTagModel]:
tag = self.get_tag_by_name_and_user_id(form_data.tag_name, user_id) tag = self.get_tag_by_name_and_user_id(form_data.tag_name, user_id)
if tag == None: if tag is None:
tag = self.insert_new_tag(form_data.tag_name, user_id) tag = self.insert_new_tag(form_data.tag_name, user_id)
id = str(uuid.uuid4()) id = str(uuid.uuid4())
...@@ -132,10 +132,10 @@ class TagTable: ...@@ -132,10 +132,10 @@ class TagTable:
return ChatIdTagModel.model_validate(result) return ChatIdTagModel.model_validate(result)
else: else:
return None return None
except: except Exception:
return None return None
def get_tags_by_user_id(self, user_id: str) -> List[TagModel]: def get_tags_by_user_id(self, user_id: str) -> list[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
) -> List[TagModel]: ) -> list[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
) -> List[ChatIdTagModel]: ) -> list[ChatIdTagModel]:
with get_db() as db: with get_db() as db:
return [ return [
......
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: List[dict] specs: list[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: List[dict] self, user_id: str, form_data: ToolForm, specs: list[dict]
) -> Optional[ToolModel]: ) -> Optional[ToolModel]:
with get_db() as db: with get_db() as db:
...@@ -115,10 +115,10 @@ class ToolsTable: ...@@ -115,10 +115,10 @@ class ToolsTable:
tool = db.get(Tool, id) tool = db.get(Tool, id)
return ToolModel.model_validate(tool) return ToolModel.model_validate(tool)
except: except Exception:
return None return None
def get_tools(self) -> List[ToolModel]: def get_tools(self) -> list[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()]
...@@ -141,7 +141,7 @@ class ToolsTable: ...@@ -141,7 +141,7 @@ class ToolsTable:
) )
db.commit() db.commit()
return self.get_tool_by_id(id) return self.get_tool_by_id(id)
except: except Exception:
return None return None
def get_user_valves_by_id_and_user_id( def get_user_valves_by_id_and_user_id(
...@@ -196,7 +196,7 @@ class ToolsTable: ...@@ -196,7 +196,7 @@ class ToolsTable:
tool = db.query(Tool).get(id) tool = db.query(Tool).get(id)
db.refresh(tool) db.refresh(tool)
return ToolModel.model_validate(tool) return ToolModel.model_validate(tool)
except: except Exception:
return None return None
def delete_tool_by_id(self, id: str) -> bool: def delete_tool_by_id(self, id: str) -> bool:
...@@ -206,7 +206,7 @@ class ToolsTable: ...@@ -206,7 +206,7 @@ class ToolsTable:
db.commit() db.commit()
return True return True
except: except Exception:
return False return False
......
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
...@@ -125,7 +125,7 @@ class UsersTable: ...@@ -125,7 +125,7 @@ class UsersTable:
user = db.query(User).filter_by(api_key=api_key).first() user = db.query(User).filter_by(api_key=api_key).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def get_user_by_email(self, email: str) -> Optional[UserModel]: def get_user_by_email(self, email: str) -> Optional[UserModel]:
...@@ -134,7 +134,7 @@ class UsersTable: ...@@ -134,7 +134,7 @@ class UsersTable:
user = db.query(User).filter_by(email=email).first() user = db.query(User).filter_by(email=email).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def get_user_by_oauth_sub(self, sub: str) -> Optional[UserModel]: def get_user_by_oauth_sub(self, sub: str) -> Optional[UserModel]:
...@@ -143,10 +143,10 @@ class UsersTable: ...@@ -143,10 +143,10 @@ class UsersTable:
user = db.query(User).filter_by(oauth_sub=sub).first() user = db.query(User).filter_by(oauth_sub=sub).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def get_users(self, skip: int = 0, limit: int = 50) -> List[UserModel]: def get_users(self, skip: int = 0, limit: int = 50) -> list[UserModel]:
with get_db() as db: with get_db() as db:
users = ( users = (
db.query(User) db.query(User)
...@@ -164,7 +164,7 @@ class UsersTable: ...@@ -164,7 +164,7 @@ class UsersTable:
with get_db() as db: with get_db() as db:
user = db.query(User).order_by(User.created_at).first() user = db.query(User).order_by(User.created_at).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def update_user_role_by_id(self, id: str, role: str) -> Optional[UserModel]: def update_user_role_by_id(self, id: str, role: str) -> Optional[UserModel]:
...@@ -174,7 +174,7 @@ class UsersTable: ...@@ -174,7 +174,7 @@ class UsersTable:
db.commit() db.commit()
user = db.query(User).filter_by(id=id).first() user = db.query(User).filter_by(id=id).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def update_user_profile_image_url_by_id( def update_user_profile_image_url_by_id(
...@@ -189,7 +189,7 @@ class UsersTable: ...@@ -189,7 +189,7 @@ class UsersTable:
user = db.query(User).filter_by(id=id).first() user = db.query(User).filter_by(id=id).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def update_user_last_active_by_id(self, id: str) -> Optional[UserModel]: def update_user_last_active_by_id(self, id: str) -> Optional[UserModel]:
...@@ -203,7 +203,7 @@ class UsersTable: ...@@ -203,7 +203,7 @@ class UsersTable:
user = db.query(User).filter_by(id=id).first() user = db.query(User).filter_by(id=id).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def update_user_oauth_sub_by_id( def update_user_oauth_sub_by_id(
...@@ -216,7 +216,7 @@ class UsersTable: ...@@ -216,7 +216,7 @@ class UsersTable:
user = db.query(User).filter_by(id=id).first() user = db.query(User).filter_by(id=id).first()
return UserModel.model_validate(user) return UserModel.model_validate(user)
except: except Exception:
return None return None
def update_user_by_id(self, id: str, updated: dict) -> Optional[UserModel]: def update_user_by_id(self, id: str, updated: dict) -> Optional[UserModel]:
...@@ -245,7 +245,7 @@ class UsersTable: ...@@ -245,7 +245,7 @@ class UsersTable:
return True return True
else: else:
return False return False
except: except Exception:
return False return False
def update_user_api_key_by_id(self, id: str, api_key: str) -> str: def update_user_api_key_by_id(self, id: str, api_key: str) -> str:
...@@ -254,7 +254,7 @@ class UsersTable: ...@@ -254,7 +254,7 @@ class UsersTable:
result = db.query(User).filter_by(id=id).update({"api_key": api_key}) result = db.query(User).filter_by(id=id).update({"api_key": api_key})
db.commit() db.commit()
return True if result == 1 else False return True if result == 1 else False
except: except Exception:
return False return False
def get_user_api_key_by_id(self, id: str) -> Optional[str]: def get_user_api_key_by_id(self, id: str) -> Optional[str]:
......
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=List[ChatTitleIdResponse]) @router.get("/", response_model=list[ChatTitleIdResponse])
@router.get("/list", response_model=List[ChatTitleIdResponse]) @router.get("/list", response_model=list[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=List[ChatTitleIdResponse]) @router.get("/list/user/{user_id}", response_model=list[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=List[ChatResponse]) @router.get("/all", response_model=list[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=List[ChatResponse]) @router.get("/all/archived", response_model=list[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=List[ChatResponse]) @router.get("/all/db", response_model=list[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=List[ChatTitleIdResponse]) @router.get("/archived", response_model=list[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=List[ChatTitleIdResponse]) @router.post("/tags", response_model=list[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=List[TagModel]) @router.get("/tags/all", response_model=list[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=List[TagModel]) @router.get("/{id}/tags", response_model=list[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)
......
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: List[str] title: list[str]
content: str content: str
class SetDefaultSuggestionsForm(BaseModel): class SetDefaultSuggestionsForm(BaseModel):
suggestions: List[PromptSuggestion] suggestions: list[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=List[PromptSuggestion]) @router.post("/default/suggestions", response_model=list[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: List[BannerModel] banners: list[BannerModel]
@router.post("/banners", response_model=List[BannerModel]) @router.post("/banners", response_model=list[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=List[BannerModel]) @router.get("/banners", response_model=list[BannerModel])
async def get_banners( async def get_banners(
request: Request, request: Request,
user=Depends(get_verified_user), user=Depends(get_verified_user),
......
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=List[DocumentResponse]) @router.get("/", response_model=list[DocumentResponse])
async def get_documents(user=Depends(get_verified_user)): async def get_documents(user=Depends(get_verified_user)):
docs = [ docs = [
DocumentResponse( DocumentResponse(
...@@ -46,7 +46,7 @@ async def get_documents(user=Depends(get_verified_user)): ...@@ -46,7 +46,7 @@ async def get_documents(user=Depends(get_verified_user)):
@router.post("/create", response_model=Optional[DocumentResponse]) @router.post("/create", response_model=Optional[DocumentResponse])
async def create_new_doc(form_data: DocumentForm, user=Depends(get_admin_user)): async def create_new_doc(form_data: DocumentForm, user=Depends(get_admin_user)):
doc = Documents.get_doc_by_name(form_data.name) doc = Documents.get_doc_by_name(form_data.name)
if doc == None: if doc is None:
doc = Documents.insert_new_doc(user.id, form_data) doc = Documents.insert_new_doc(user.id, form_data)
if doc: if doc:
...@@ -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: List[dict] tags: list[dict]
@router.post("/doc/tags", response_model=Optional[DocumentResponse]) @router.post("/doc/tags", response_model=Optional[DocumentResponse])
......
...@@ -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=List[FileModel]) @router.get("/", response_model=list[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
......
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=List[FunctionResponse]) @router.get("/", response_model=list[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=List[FunctionModel]) @router.get("/export", response_model=list[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()
...@@ -63,7 +63,7 @@ async def create_new_function( ...@@ -63,7 +63,7 @@ async def create_new_function(
form_data.id = form_data.id.lower() form_data.id = form_data.id.lower()
function = Functions.get_function_by_id(form_data.id) function = Functions.get_function_by_id(form_data.id)
if function == None: if function is None:
function_path = os.path.join(FUNCTIONS_DIR, f"{form_data.id}.py") function_path = os.path.join(FUNCTIONS_DIR, f"{form_data.id}.py")
try: try:
with open(function_path, "w") as function_file: with open(function_path, "w") as function_file:
...@@ -235,7 +235,7 @@ async def delete_function_by_id( ...@@ -235,7 +235,7 @@ async def delete_function_by_id(
function_path = os.path.join(FUNCTIONS_DIR, f"{id}.py") function_path = os.path.join(FUNCTIONS_DIR, f"{id}.py")
try: try:
os.remove(function_path) os.remove(function_path)
except: except Exception:
pass pass
return result return result
......
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=List[MemoryModel]) @router.get("/", response_model=list[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)
......
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=List[ModelResponse]) @router.get("/", response_model=list[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()
......
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=List[PromptModel]) @router.get("/", response_model=list[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()
...@@ -31,7 +31,7 @@ async def get_prompts(user=Depends(get_verified_user)): ...@@ -31,7 +31,7 @@ async def get_prompts(user=Depends(get_verified_user)):
@router.post("/create", response_model=Optional[PromptModel]) @router.post("/create", response_model=Optional[PromptModel])
async def create_new_prompt(form_data: PromptForm, user=Depends(get_admin_user)): async def create_new_prompt(form_data: PromptForm, user=Depends(get_admin_user)):
prompt = Prompts.get_prompt_by_command(form_data.command) prompt = Prompts.get_prompt_by_command(form_data.command)
if prompt == None: if prompt is None:
prompt = Prompts.insert_new_prompt(user.id, form_data) prompt = Prompts.insert_new_prompt(user.id, form_data)
if prompt: if prompt:
......
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=List[ToolResponse]) @router.get("/", response_model=list[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=List[ToolModel]) @router.get("/export", response_model=list[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
......
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=List[UserModel]) @router.get("/", response_model=list[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)
......
...@@ -17,7 +17,7 @@ from utils.misc import calculate_sha256, get_gravatar_url ...@@ -17,7 +17,7 @@ from utils.misc import calculate_sha256, get_gravatar_url
from config import OLLAMA_BASE_URLS, DATA_DIR, UPLOAD_DIR, ENABLE_ADMIN_EXPORT from config import OLLAMA_BASE_URLS, DATA_DIR, UPLOAD_DIR, ENABLE_ADMIN_EXPORT
from constants import ERROR_MESSAGES from constants import ERROR_MESSAGES
from typing import List
router = APIRouter() router = APIRouter()
...@@ -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: List[dict] messages: list[dict]
@router.post("/pdf") @router.post("/pdf")
......
...@@ -93,11 +93,12 @@ def load_function_module_by_id(function_id): ...@@ -93,11 +93,12 @@ def load_function_module_by_id(function_id):
os.rename(function_path, f"{function_path}.error") os.rename(function_path, f"{function_path}.error")
raise e raise e
def install_frontmatter_requirements(requirements): def install_frontmatter_requirements(requirements):
if requirements: if requirements:
req_list = [req.strip() for req in requirements.split(',')] req_list = [req.strip() for req in requirements.split(",")]
for req in req_list: for req in req_list:
print(f"Installing requirement: {req}") print(f"Installing requirement: {req}")
subprocess.check_call([sys.executable, "-m", "pip", "install", req]) subprocess.check_call([sys.executable, "-m", "pip", "install", req])
else: else:
print("No requirements found in frontmatter.") print("No requirements found in frontmatter.")
\ No newline at end of file
...@@ -104,7 +104,7 @@ ENV = os.environ.get("ENV", "dev") ...@@ -104,7 +104,7 @@ ENV = os.environ.get("ENV", "dev")
try: try:
PACKAGE_DATA = json.loads((BASE_DIR / "package.json").read_text()) PACKAGE_DATA = json.loads((BASE_DIR / "package.json").read_text())
except: except Exception:
try: try:
PACKAGE_DATA = {"version": importlib.metadata.version("open-webui")} PACKAGE_DATA = {"version": importlib.metadata.version("open-webui")}
except importlib.metadata.PackageNotFoundError: except importlib.metadata.PackageNotFoundError:
...@@ -137,7 +137,7 @@ try: ...@@ -137,7 +137,7 @@ try:
with open(str(changelog_path.absolute()), "r", encoding="utf8") as file: with open(str(changelog_path.absolute()), "r", encoding="utf8") as file:
changelog_content = file.read() changelog_content = file.read()
except: except Exception:
changelog_content = (pkgutil.get_data("open_webui", "CHANGELOG.md") or b"").decode() changelog_content = (pkgutil.get_data("open_webui", "CHANGELOG.md") or b"").decode()
...@@ -202,12 +202,12 @@ if RESET_CONFIG_ON_START: ...@@ -202,12 +202,12 @@ if RESET_CONFIG_ON_START:
os.remove(f"{DATA_DIR}/config.json") os.remove(f"{DATA_DIR}/config.json")
with open(f"{DATA_DIR}/config.json", "w") as f: with open(f"{DATA_DIR}/config.json", "w") as f:
f.write("{}") f.write("{}")
except: except Exception:
pass pass
try: try:
CONFIG_DATA = json.loads((DATA_DIR / "config.json").read_text()) CONFIG_DATA = json.loads((DATA_DIR / "config.json").read_text())
except: except Exception:
CONFIG_DATA = {} CONFIG_DATA = {}
...@@ -647,7 +647,7 @@ if AIOHTTP_CLIENT_TIMEOUT == "": ...@@ -647,7 +647,7 @@ if AIOHTTP_CLIENT_TIMEOUT == "":
else: else:
try: try:
AIOHTTP_CLIENT_TIMEOUT = int(AIOHTTP_CLIENT_TIMEOUT) AIOHTTP_CLIENT_TIMEOUT = int(AIOHTTP_CLIENT_TIMEOUT)
except: except Exception:
AIOHTTP_CLIENT_TIMEOUT = 300 AIOHTTP_CLIENT_TIMEOUT = 300
...@@ -727,7 +727,7 @@ try: ...@@ -727,7 +727,7 @@ try:
OPENAI_API_KEY = OPENAI_API_KEYS.value[ OPENAI_API_KEY = OPENAI_API_KEYS.value[
OPENAI_API_BASE_URLS.value.index("https://api.openai.com/v1") OPENAI_API_BASE_URLS.value.index("https://api.openai.com/v1")
] ]
except: except Exception:
pass pass
OPENAI_API_BASE_URL = "https://api.openai.com/v1" OPENAI_API_BASE_URL = "https://api.openai.com/v1"
...@@ -1043,7 +1043,7 @@ RAG_EMBEDDING_MODEL = PersistentConfig( ...@@ -1043,7 +1043,7 @@ RAG_EMBEDDING_MODEL = PersistentConfig(
"rag.embedding_model", "rag.embedding_model",
os.environ.get("RAG_EMBEDDING_MODEL", "sentence-transformers/all-MiniLM-L6-v2"), os.environ.get("RAG_EMBEDDING_MODEL", "sentence-transformers/all-MiniLM-L6-v2"),
) )
log.info(f"Embedding model set: {RAG_EMBEDDING_MODEL.value}"), log.info(f"Embedding model set: {RAG_EMBEDDING_MODEL.value}")
RAG_EMBEDDING_MODEL_AUTO_UPDATE = ( RAG_EMBEDDING_MODEL_AUTO_UPDATE = (
os.environ.get("RAG_EMBEDDING_MODEL_AUTO_UPDATE", "").lower() == "true" os.environ.get("RAG_EMBEDDING_MODEL_AUTO_UPDATE", "").lower() == "true"
...@@ -1065,7 +1065,7 @@ RAG_RERANKING_MODEL = PersistentConfig( ...@@ -1065,7 +1065,7 @@ RAG_RERANKING_MODEL = PersistentConfig(
os.environ.get("RAG_RERANKING_MODEL", ""), os.environ.get("RAG_RERANKING_MODEL", ""),
) )
if RAG_RERANKING_MODEL.value != "": if RAG_RERANKING_MODEL.value != "":
log.info(f"Reranking model set: {RAG_RERANKING_MODEL.value}"), log.info(f"Reranking model set: {RAG_RERANKING_MODEL.value}")
RAG_RERANKING_MODEL_AUTO_UPDATE = ( RAG_RERANKING_MODEL_AUTO_UPDATE = (
os.environ.get("RAG_RERANKING_MODEL_AUTO_UPDATE", "").lower() == "true" os.environ.get("RAG_RERANKING_MODEL_AUTO_UPDATE", "").lower() == "true"
......
...@@ -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
...@@ -1883,7 +1883,7 @@ async def get_pipeline_valves( ...@@ -1883,7 +1883,7 @@ async def get_pipeline_valves(
res = r.json() res = r.json()
if "detail" in res: if "detail" in res:
detail = res["detail"] detail = res["detail"]
except: except Exception:
pass pass
raise HTTPException( raise HTTPException(
...@@ -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: List[str] models: list[str]
@app.post("/api/config/model/filter") @app.post("/api/config/model/filter")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment