Commit 29f904db authored by Michael Poluektov's avatar Michael Poluektov
Browse files

remove List imports

parent 038fc48a
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) -> List[PromptModel]: def get_prompts(self) -> list[PromptModel]:
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 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:
...@@ -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) -> 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:
...@@ -118,7 +118,7 @@ class ToolsTable: ...@@ -118,7 +118,7 @@ class ToolsTable:
except Exception: 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()]
......
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) -> 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)
......
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(
...@@ -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()
......
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()
......
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)
......
...@@ -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")
......
...@@ -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: List[str] models: list[str]
@app.post("/api/config/model/filter") @app.post("/api/config/model/filter")
......
...@@ -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: List[dict]) -> Optional[dict]: def get_last_user_message_item(messages: list[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: List[dict]) -> Optional[str]: def get_last_user_message(messages: list[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: List[dict]) -> Optional[str]: def get_last_assistant_message(messages: list[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: List[dict]) -> Optional[dict]: def get_system_message(messages: list[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: List[dict]) -> List[dict]: def remove_system_message(messages: list[dict]) -> list[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: List[dict]) -> Tuple[Optional[dict], List[dict]]: def pop_system_message(messages: list[dict]) -> Tuple[Optional[dict], list[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: List[dict] content: str, messages: list[dict]
) -> List[dict]: ) -> list[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: List[dict]): def add_or_update_system_message(content: str, messages: list[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.
......
...@@ -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) -> List[dict]: def get_tools_specs(tools) -> list[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)
......
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