Skip to content

Commit 572fc7e

Browse files
committed
fix(openai): skip if api key
1 parent d9b2be1 commit 572fc7e

File tree

1 file changed

+28
-33
lines changed

1 file changed

+28
-33
lines changed

backend/routes/chat_routes.py

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,24 @@
11
import os
22
import time
33
from uuid import UUID
4-
from models.chat import ChatHistory
4+
55
from auth.auth_bearer import AuthBearer, get_current_user
6-
from fastapi import APIRouter, Depends, Request
6+
from fastapi import APIRouter, Depends, HTTPException, Request
77
from llm.brainpicking import BrainPicking
8-
from fastapi import HTTPException
9-
from models.chat import Chat
8+
from llm.OpenAiFunctionBasedAnswerGenerator.OpenAiFunctionBasedAnswerGenerator import (
9+
OpenAiFunctionBasedAnswerGenerator,
10+
)
11+
from models.chat import Chat, ChatHistory
1012
from models.chats import ChatQuestion
1113
from models.settings import common_dependencies
1214
from models.users import User
13-
from repository.chat.get_chat_history import get_chat_history
14-
from repository.chat.update_chat import update_chat, ChatUpdatableProperties
15-
from repository.chat.create_chat import create_chat, CreateChatProperties
16-
from utils.users import (
17-
fetch_user_id_from_credentials,
18-
update_user_request_count,
19-
)
20-
21-
15+
from repository.chat.create_chat import CreateChatProperties, create_chat
2216
from repository.chat.get_chat_by_id import get_chat_by_id
23-
17+
from repository.chat.get_chat_history import get_chat_history
2418
from repository.chat.get_user_chats import get_user_chats
19+
from repository.chat.update_chat import ChatUpdatableProperties, update_chat
2520
from repository.chat.update_chat_history import update_chat_history
26-
27-
28-
from llm.OpenAiFunctionBasedAnswerGenerator.OpenAiFunctionBasedAnswerGenerator import (
29-
OpenAiFunctionBasedAnswerGenerator,
30-
)
21+
from utils.users import fetch_user_id_from_credentials, update_user_request_count
3122

3223
chat_router = APIRouter()
3324

@@ -117,21 +108,25 @@ async def update_chat_metadata_handler(
117108
# helper method for update and create chat
118109
def check_user_limit(
119110
email,
111+
user_openai_api_key: str = None,
120112
):
121-
date = time.strftime("%Y%m%d")
122-
max_requests_number = os.getenv("MAX_REQUESTS_NUMBER")
123-
commons = common_dependencies()
124-
userItem = fetch_user_stats(commons, User(email=email), date)
125-
old_request_count = userItem["requests_count"]
126-
127-
update_user_request_count(
128-
commons, email, date, requests_count=old_request_count + 1
129-
)
130-
if old_request_count >= float(max_requests_number):
131-
raise HTTPException(
132-
status_code=429,
133-
detail="You have reached the maximum number of requests for today.",
113+
if user_openai_api_key is None:
114+
date = time.strftime("%Y%m%d")
115+
max_requests_number = os.getenv("MAX_REQUESTS_NUMBER")
116+
commons = common_dependencies()
117+
userItem = fetch_user_stats(commons, User(email=email), date)
118+
old_request_count = userItem["requests_count"]
119+
120+
update_user_request_count(
121+
commons, email, date, requests_count=old_request_count + 1
134122
)
123+
if old_request_count >= float(max_requests_number):
124+
raise HTTPException(
125+
status_code=429,
126+
detail="You have reached the maximum number of requests for today.",
127+
)
128+
else:
129+
pass
135130

136131

137132
# create new chat
@@ -160,8 +155,8 @@ async def create_question_handler(
160155
current_user: User = Depends(get_current_user),
161156
) -> ChatHistory:
162157
try:
163-
check_user_limit(current_user.email)
164158
user_openai_api_key = request.headers.get("Openai-Api-Key")
159+
check_user_limit(current_user.email, user_openai_api_key)
165160
openai_function_compatible_models = [
166161
"gpt-3.5-turbo-0613",
167162
"gpt-4-0613",

0 commit comments

Comments
 (0)