Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .env.sample
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
HUGGINGFACE_API_TOKEN="<your_huggingface_token>"
HF_TOKEN="Hugging Face API Token"
DB_HOST = "DB Host IP"
DB_USER = "DB Username"
DB_PASS = "DB Password"
DB_NAME = "DB Name"
DB_PORT = 5432
3 changes: 3 additions & 0 deletions nilai-api/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ dependencies = [
"nilrag>=0.1.2",
"nilql>=0.0.0a3",
"openai>=1.59.9",
"pg8000>=1.31.2",
"asyncpg>=0.30.0",
"greenlet>=3.1.1",
]


Expand Down
11 changes: 11 additions & 0 deletions nilai-api/src/nilai_api/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
from fastapi import Depends, FastAPI
from nilai_api.auth import get_user
from nilai_api.routers import private, public
from contextlib import asynccontextmanager


@asynccontextmanager
async def lifespan(app: FastAPI):
from nilai_api.db import UserManager

await UserManager.initialize_db()
yield


host = "nilai.sandbox.nilogy.xyz"
description = f"""
Expand Down Expand Up @@ -66,6 +76,7 @@
"description": "Track and retrieve user token consumption metrics",
},
],
lifespan=lifespan,
)


Expand Down
7 changes: 3 additions & 4 deletions nilai-api/src/nilai_api/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
from nilai_api.db import UserManager

UserManager.initialize_db()

bearer_scheme = HTTPBearer()


def get_user(credentials: HTTPAuthorizationCredentials = Security(bearer_scheme)):
async def get_user(credentials: HTTPAuthorizationCredentials = Security(bearer_scheme)):
token = credentials.credentials
user = UserManager.check_api_key(token)
user = await UserManager.check_api_key(token)
if user:
await UserManager.update_last_activity(userid=user["userid"])
return user
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED, detail="Missing or invalid API key"
Expand Down
Loading