Update api/utils.py
Browse files- api/utils.py +7 -23
api/utils.py
CHANGED
|
@@ -46,20 +46,14 @@ def create_chat_completion_data(
|
|
| 46 |
"usage": None,
|
| 47 |
}
|
| 48 |
|
| 49 |
-
# Function to convert message to dictionary format,
|
| 50 |
def message_to_dict(message, model_prefix: Optional[str] = None):
|
| 51 |
content = message.content if isinstance(message.content, str) else message.content[0]["text"]
|
| 52 |
if model_prefix:
|
| 53 |
content = f"{model_prefix} {content}"
|
| 54 |
-
|
| 55 |
message_dict = {"role": message.role, "content": content}
|
| 56 |
-
|
| 57 |
-
if hasattr(message, 'id') and message.id:
|
| 58 |
-
message_dict['id'] = message.id
|
| 59 |
-
|
| 60 |
if hasattr(message, 'data') and message.data:
|
| 61 |
message_dict['data'] = message.data
|
| 62 |
-
|
| 63 |
return message_dict
|
| 64 |
|
| 65 |
# Function to strip model prefix from content if present
|
|
@@ -94,19 +88,14 @@ async def process_streaming_response(request: ChatRequest):
|
|
| 94 |
logger.error("Failed to retrieve h-value for validation.")
|
| 95 |
raise HTTPException(status_code=500, detail="Validation failed due to missing h-value.")
|
| 96 |
|
| 97 |
-
# Determine if images are included in messages
|
| 98 |
-
code_model_mode = any(
|
| 99 |
-
hasattr(msg, 'data') and msg.data and 'imagesData' in msg.data for msg in request.messages
|
| 100 |
-
)
|
| 101 |
-
|
| 102 |
json_data = {
|
| 103 |
"agentMode": agent_mode,
|
| 104 |
"clickedAnswer2": False,
|
| 105 |
"clickedAnswer3": False,
|
| 106 |
"clickedForceWebSearch": False,
|
| 107 |
-
"codeModelMode":
|
| 108 |
"githubToken": None,
|
| 109 |
-
"id": request_id
|
| 110 |
"isChromeExt": False,
|
| 111 |
"isMicMode": False,
|
| 112 |
"maxTokens": request.max_tokens,
|
|
@@ -122,7 +111,7 @@ async def process_streaming_response(request: ChatRequest):
|
|
| 122 |
"validated": h_value, # Dynamically set the validated field
|
| 123 |
"visitFromDelta": False,
|
| 124 |
"webSearchModePrompt": False,
|
| 125 |
-
"imageGenerationMode": False,
|
| 126 |
}
|
| 127 |
|
| 128 |
async with httpx.AsyncClient() as client:
|
|
@@ -184,19 +173,14 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
| 184 |
logger.error("Failed to retrieve h-value for validation.")
|
| 185 |
raise HTTPException(status_code=500, detail="Validation failed due to missing h-value.")
|
| 186 |
|
| 187 |
-
# Determine if images are included in messages
|
| 188 |
-
code_model_mode = any(
|
| 189 |
-
hasattr(msg, 'data') and msg.data and 'imagesData' in msg.data for msg in request.messages
|
| 190 |
-
)
|
| 191 |
-
|
| 192 |
json_data = {
|
| 193 |
"agentMode": agent_mode,
|
| 194 |
"clickedAnswer2": False,
|
| 195 |
"clickedAnswer3": False,
|
| 196 |
"clickedForceWebSearch": False,
|
| 197 |
-
"codeModelMode":
|
| 198 |
"githubToken": None,
|
| 199 |
-
"id": request_id
|
| 200 |
"isChromeExt": False,
|
| 201 |
"isMicMode": False,
|
| 202 |
"maxTokens": request.max_tokens,
|
|
@@ -212,7 +196,7 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
| 212 |
"validated": h_value, # Dynamically set the validated field
|
| 213 |
"visitFromDelta": False,
|
| 214 |
"webSearchModePrompt": False,
|
| 215 |
-
"imageGenerationMode": False,
|
| 216 |
}
|
| 217 |
|
| 218 |
full_response = ""
|
|
|
|
| 46 |
"usage": None,
|
| 47 |
}
|
| 48 |
|
| 49 |
+
# Function to convert message to dictionary format, ensuring base64 data and optional model prefix
|
| 50 |
def message_to_dict(message, model_prefix: Optional[str] = None):
|
| 51 |
content = message.content if isinstance(message.content, str) else message.content[0]["text"]
|
| 52 |
if model_prefix:
|
| 53 |
content = f"{model_prefix} {content}"
|
|
|
|
| 54 |
message_dict = {"role": message.role, "content": content}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
if hasattr(message, 'data') and message.data:
|
| 56 |
message_dict['data'] = message.data
|
|
|
|
| 57 |
return message_dict
|
| 58 |
|
| 59 |
# Function to strip model prefix from content if present
|
|
|
|
| 88 |
logger.error("Failed to retrieve h-value for validation.")
|
| 89 |
raise HTTPException(status_code=500, detail="Validation failed due to missing h-value.")
|
| 90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
json_data = {
|
| 92 |
"agentMode": agent_mode,
|
| 93 |
"clickedAnswer2": False,
|
| 94 |
"clickedAnswer3": False,
|
| 95 |
"clickedForceWebSearch": False,
|
| 96 |
+
"codeModelMode": True,
|
| 97 |
"githubToken": None,
|
| 98 |
+
"id": None, # Using request_id instead of chat_id
|
| 99 |
"isChromeExt": False,
|
| 100 |
"isMicMode": False,
|
| 101 |
"maxTokens": request.max_tokens,
|
|
|
|
| 111 |
"validated": h_value, # Dynamically set the validated field
|
| 112 |
"visitFromDelta": False,
|
| 113 |
"webSearchModePrompt": False,
|
| 114 |
+
"imageGenerationMode": False, # Added this line
|
| 115 |
}
|
| 116 |
|
| 117 |
async with httpx.AsyncClient() as client:
|
|
|
|
| 173 |
logger.error("Failed to retrieve h-value for validation.")
|
| 174 |
raise HTTPException(status_code=500, detail="Validation failed due to missing h-value.")
|
| 175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
json_data = {
|
| 177 |
"agentMode": agent_mode,
|
| 178 |
"clickedAnswer2": False,
|
| 179 |
"clickedAnswer3": False,
|
| 180 |
"clickedForceWebSearch": False,
|
| 181 |
+
"codeModelMode": True,
|
| 182 |
"githubToken": None,
|
| 183 |
+
"id": None, # Using request_id instead of chat_id
|
| 184 |
"isChromeExt": False,
|
| 185 |
"isMicMode": False,
|
| 186 |
"maxTokens": request.max_tokens,
|
|
|
|
| 196 |
"validated": h_value, # Dynamically set the validated field
|
| 197 |
"visitFromDelta": False,
|
| 198 |
"webSearchModePrompt": False,
|
| 199 |
+
"imageGenerationMode": False, # Added this line
|
| 200 |
}
|
| 201 |
|
| 202 |
full_response = ""
|