ограничение векторного поиска, смена llm и проверка объёма ОЗУ

This commit is contained in:
2026-02-07 18:49:20 +03:00
parent 8ad70cdb7c
commit 5b7ea9276b
12 changed files with 88 additions and 33 deletions
+5 -1
View File
@@ -28,12 +28,14 @@ from .core import (
decode_token,
authenticate_user,
get_current_user,
get_optional_user,
get_current_active_user,
get_user_from_partial_token,
require_role,
require_any_role,
is_user_staff,
is_user_admin,
OptionalAuth,
RequireAuth,
RequireAdmin,
RequireMember,
@@ -91,10 +93,12 @@ __all__ = [
"authenticate_user",
"get_current_user",
"get_current_active_user",
"get_optional_user",
"require_role",
"require_any_role",
"is_user_staff",
"is_user_admin",
"OptionalAuth",
"RequireAuth",
"RequireAdmin",
"RequireMember",
@@ -107,7 +111,7 @@ __all__ = [
"get_provisioning_uri",
"verify_totp_code",
"qr_to_bitmap_b64",
"generate_totp_setup," "generate_codes_for_user",
"generate_totp_setup,generate_codes_for_user",
"verify_and_use_code",
"get_codes_status",
"CODES_COUNT",
+19 -1
View File
@@ -46,7 +46,7 @@ SECRET_KEY = os.getenv("SECRET_KEY")
logger = get_logger()
# OAuth2 схема
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/auth/token")
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/auth/token", auto_error=False)
class KeyDeriver:
@@ -217,6 +217,23 @@ def authenticate_user(session: Session, username: str, password: str) -> User |
return user
def get_optional_user(
token: Annotated[str | None, Depends(oauth2_scheme)],
session: Session = Depends(get_session),
) -> User | None:
"""Возвращает текущего пользователя или None, если не авторизован"""
if not token:
return None
try:
token_data = decode_token(token)
user = session.get(User, token_data.user_id)
if user and user.is_active:
return user
except HTTPException:
pass
return None
def get_current_user(
token: Annotated[str, Depends(oauth2_scheme)],
session: Session = Depends(get_session),
@@ -299,6 +316,7 @@ def require_any_role(allowed_roles: list[str]):
# Создание dependencies
OptionalAuth = Annotated[User | None, Depends(get_optional_user)]
RequireAuth = Annotated[User, Depends(get_current_active_user)]
RequireAdmin = Annotated[User, Depends(require_role("admin"))]
RequireMember = Annotated[User, Depends(require_role("member"))]