Update api/utils.py
Browse files- api/utils.py +12 -12
api/utils.py
CHANGED
@@ -9,7 +9,7 @@ from typing import Any, Dict, Optional
|
|
9 |
import httpx
|
10 |
from fastapi import HTTPException
|
11 |
from api.config import (
|
12 |
-
|
13 |
get_headers_api_chat,
|
14 |
get_headers_chat,
|
15 |
BASE_URL,
|
@@ -17,7 +17,8 @@ from api.config import (
|
|
17 |
TRENDING_AGENT_MODE,
|
18 |
MODEL_PREFIXES,
|
19 |
API_ENDPOINT,
|
20 |
-
generate_id
|
|
|
21 |
)
|
22 |
from api.models import ChatRequest
|
23 |
from api.logger import setup_logger
|
@@ -71,10 +72,8 @@ def strip_model_prefix(content: str, model_prefix: Optional[str] = None) -> str:
|
|
71 |
|
72 |
# Function to get the correct referer URL for logging
|
73 |
def get_referer_url(chat_id: str, model: str) -> str:
|
74 |
-
"""Generate the referer URL based on specific models listed in
|
75 |
-
|
76 |
-
return f"{BASE_URL}/chat/{chat_id}?model={model}"
|
77 |
-
return BASE_URL
|
78 |
|
79 |
# Process streaming response with headers from config.py
|
80 |
async def process_streaming_response(request: ChatRequest):
|
@@ -86,7 +85,7 @@ async def process_streaming_response(request: ChatRequest):
|
|
86 |
trending_agent_mode = TRENDING_AGENT_MODE.get(request.model, {})
|
87 |
model_prefix = MODEL_PREFIXES.get(request.model, "")
|
88 |
|
89 |
-
headers_api_chat = get_headers_api_chat(
|
90 |
|
91 |
if request.model == 'o1-preview':
|
92 |
delay_seconds = random.randint(1, 60)
|
@@ -111,7 +110,7 @@ async def process_streaming_response(request: ChatRequest):
|
|
111 |
"previewToken": None,
|
112 |
"trendingAgentMode": trending_agent_mode,
|
113 |
"userId": None,
|
114 |
-
"userSelectedModel":
|
115 |
"userSystemPrompt": None,
|
116 |
"validated": "69783381-2ce4-4dbd-ac78-35e9063feabc",
|
117 |
"visitFromDelta": False,
|
@@ -155,7 +154,7 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
155 |
trending_agent_mode = TRENDING_AGENT_MODE.get(request.model, {})
|
156 |
model_prefix = MODEL_PREFIXES.get(request.model, "")
|
157 |
|
158 |
-
headers_api_chat = get_headers_api_chat(
|
159 |
|
160 |
if request.model == 'o1-preview':
|
161 |
delay_seconds = random.randint(20, 60)
|
@@ -180,7 +179,7 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
180 |
"previewToken": None,
|
181 |
"trendingAgentMode": trending_agent_mode,
|
182 |
"userId": None,
|
183 |
-
"userSelectedModel":
|
184 |
"userSystemPrompt": None,
|
185 |
"validated": "69783381-2ce4-4dbd-ac78-35e9063feabc",
|
186 |
"visitFromDelta": False,
|
@@ -193,7 +192,8 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
193 |
method="POST",
|
194 |
url=API_ENDPOINT,
|
195 |
headers=headers_api_chat,
|
196 |
-
json=json_data
|
|
|
197 |
) as response:
|
198 |
response.raise_for_status()
|
199 |
async for chunk in response.aiter_text():
|
@@ -204,7 +204,7 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
204 |
except httpx.RequestError as e:
|
205 |
logger.error(f"Error occurred during request for Chat ID {chat_id}: {e}")
|
206 |
raise HTTPException(status_code=500, detail=str(e))
|
207 |
-
|
208 |
if full_response.startswith("$@$v=undefined-rv1$@$"):
|
209 |
full_response = full_response[21:]
|
210 |
|
|
|
9 |
import httpx
|
10 |
from fastapi import HTTPException
|
11 |
from api.config import (
|
12 |
+
MODEL_ALIASES,
|
13 |
get_headers_api_chat,
|
14 |
get_headers_chat,
|
15 |
BASE_URL,
|
|
|
17 |
TRENDING_AGENT_MODE,
|
18 |
MODEL_PREFIXES,
|
19 |
API_ENDPOINT,
|
20 |
+
generate_id,
|
21 |
+
MODELS
|
22 |
)
|
23 |
from api.models import ChatRequest
|
24 |
from api.logger import setup_logger
|
|
|
72 |
|
73 |
# Function to get the correct referer URL for logging
|
74 |
def get_referer_url(chat_id: str, model: str) -> str:
|
75 |
+
"""Generate the referer URL based on specific models listed in MODELS."""
|
76 |
+
return f"{BASE_URL}/chat/{chat_id}?model={model}"
|
|
|
|
|
77 |
|
78 |
# Process streaming response with headers from config.py
|
79 |
async def process_streaming_response(request: ChatRequest):
|
|
|
85 |
trending_agent_mode = TRENDING_AGENT_MODE.get(request.model, {})
|
86 |
model_prefix = MODEL_PREFIXES.get(request.model, "")
|
87 |
|
88 |
+
headers_api_chat = get_headers_api_chat()
|
89 |
|
90 |
if request.model == 'o1-preview':
|
91 |
delay_seconds = random.randint(1, 60)
|
|
|
110 |
"previewToken": None,
|
111 |
"trendingAgentMode": trending_agent_mode,
|
112 |
"userId": None,
|
113 |
+
"userSelectedModel": request.model if request.model in MODELS else None,
|
114 |
"userSystemPrompt": None,
|
115 |
"validated": "69783381-2ce4-4dbd-ac78-35e9063feabc",
|
116 |
"visitFromDelta": False,
|
|
|
154 |
trending_agent_mode = TRENDING_AGENT_MODE.get(request.model, {})
|
155 |
model_prefix = MODEL_PREFIXES.get(request.model, "")
|
156 |
|
157 |
+
headers_api_chat = get_headers_api_chat()
|
158 |
|
159 |
if request.model == 'o1-preview':
|
160 |
delay_seconds = random.randint(20, 60)
|
|
|
179 |
"previewToken": None,
|
180 |
"trendingAgentMode": trending_agent_mode,
|
181 |
"userId": None,
|
182 |
+
"userSelectedModel": request.model if request.model in MODELS else None,
|
183 |
"userSystemPrompt": None,
|
184 |
"validated": "69783381-2ce4-4dbd-ac78-35e9063feabc",
|
185 |
"visitFromDelta": False,
|
|
|
192 |
method="POST",
|
193 |
url=API_ENDPOINT,
|
194 |
headers=headers_api_chat,
|
195 |
+
json=json_data,
|
196 |
+
timeout=100,
|
197 |
) as response:
|
198 |
response.raise_for_status()
|
199 |
async for chunk in response.aiter_text():
|
|
|
204 |
except httpx.RequestError as e:
|
205 |
logger.error(f"Error occurred during request for Chat ID {chat_id}: {e}")
|
206 |
raise HTTPException(status_code=500, detail=str(e))
|
207 |
+
|
208 |
if full_response.startswith("$@$v=undefined-rv1$@$"):
|
209 |
full_response = full_response[21:]
|
210 |
|