feat: 支持 Gemini 格式请求,并优化日志和配置

This commit is contained in:
yinpeng
2024-12-18 19:54:43 +08:00
parent 1913a3c909
commit d9229cced9
14 changed files with 290 additions and 62 deletions
+9 -3
View File
@@ -50,7 +50,7 @@ class Logger:
@staticmethod
def setup_logger(
name: str,
level: str = "info",
level: str = "debug",
) -> logging.Logger:
"""
设置并获取logger
@@ -83,8 +83,11 @@ class Logger:
return Logger._loggers.get(name)
# 预定义的loggers
def get_api_logger():
return Logger.setup_logger("api")
def get_openai_logger():
return Logger.setup_logger("openai")
def get_gemini_logger():
return Logger.setup_logger("gemini")
def get_chat_logger():
return Logger.setup_logger("chat")
@@ -103,3 +106,6 @@ def get_main_logger():
def get_embeddings_logger():
return Logger.setup_logger("embeddings")
def get_request_logger():
return Logger.setup_logger("request")
+6
View File
@@ -9,6 +9,12 @@ class SecurityService:
def __init__(self, allowed_tokens: list):
self.allowed_tokens = allowed_tokens
async def verify_key(self, key: str):
if key not in self.allowed_tokens:
logger.error("Invalid key")
raise HTTPException(status_code=401, detail="Invalid key")
return key
async def verify_authorization(
self, authorization: Optional[str] = Header(None)
) -> str: