Update api/utils.py
Browse files- api/utils.py +9 -9
api/utils.py
CHANGED
@@ -25,7 +25,7 @@ logger = setup_logger(__name__)
|
|
25 |
# Define the blocked message
|
26 |
BLOCKED_MESSAGE = "Generated by BLACKBOX.AI, try unlimited chat https://www.blackbox.ai"
|
27 |
|
28 |
-
#
|
29 |
def create_chat_completion_data(
|
30 |
content: str, model: str, timestamp: int, finish_reason: Optional[str] = None
|
31 |
) -> Dict[str, Any]:
|
@@ -46,20 +46,20 @@ def create_chat_completion_data(
|
|
46 |
|
47 |
# Function to convert message to dictionary format, ensuring base64 data and optional model prefix
|
48 |
def message_to_dict(message, model_prefix: Optional[str] = None):
|
49 |
-
content = message.content
|
50 |
if model_prefix:
|
51 |
content = f"{model_prefix} {content}"
|
52 |
message_dict = {"role": message.role, "content": content}
|
53 |
-
|
54 |
-
# Check if the message includes
|
55 |
if hasattr(message, 'image_base64') and message.image_base64:
|
56 |
-
# Ensure the base64 image data has the correct data URI prefix
|
57 |
image_base64 = message.image_base64
|
|
|
58 |
if not image_base64.startswith('data:image/'):
|
59 |
# Assuming JPEG format; adjust if necessary
|
60 |
image_base64 = f"data:image/jpeg;base64,{image_base64}"
|
61 |
-
# Generate a unique file path
|
62 |
-
file_name = f"
|
63 |
message_dict['data'] = {
|
64 |
'imagesData': [
|
65 |
{
|
@@ -124,7 +124,7 @@ async def process_streaming_response(request: ChatRequest):
|
|
124 |
"userId": None,
|
125 |
"userSelectedModel": MODEL_MAPPING.get(request.model, request.model),
|
126 |
"userSystemPrompt": None,
|
127 |
-
"validated": h_value,
|
128 |
"visitFromDelta": False,
|
129 |
"webSearchModePrompt": False,
|
130 |
"imageGenerationMode": False, # Added this line
|
@@ -209,7 +209,7 @@ async def process_non_streaming_response(request: ChatRequest):
|
|
209 |
"userId": None,
|
210 |
"userSelectedModel": MODEL_MAPPING.get(request.model, request.model),
|
211 |
"userSystemPrompt": None,
|
212 |
-
"validated": h_value,
|
213 |
"visitFromDelta": False,
|
214 |
"webSearchModePrompt": False,
|
215 |
"imageGenerationMode": False, # Added this line
|
|
|
25 |
# Define the blocked message
|
26 |
BLOCKED_MESSAGE = "Generated by BLACKBOX.AI, try unlimited chat https://www.blackbox.ai"
|
27 |
|
28 |
+
# Helper function to create chat completion data
|
29 |
def create_chat_completion_data(
|
30 |
content: str, model: str, timestamp: int, finish_reason: Optional[str] = None
|
31 |
) -> Dict[str, Any]:
|
|
|
46 |
|
47 |
# Function to convert message to dictionary format, ensuring base64 data and optional model prefix
|
48 |
def message_to_dict(message, model_prefix: Optional[str] = None):
|
49 |
+
content = message.content if isinstance(message.content, str) else message.content[0]["text"]
|
50 |
if model_prefix:
|
51 |
content = f"{model_prefix} {content}"
|
52 |
message_dict = {"role": message.role, "content": content}
|
53 |
+
|
54 |
+
# Check if the message includes image data
|
55 |
if hasattr(message, 'image_base64') and message.image_base64:
|
|
|
56 |
image_base64 = message.image_base64
|
57 |
+
# Ensure the base64 image data has the correct data URI prefix
|
58 |
if not image_base64.startswith('data:image/'):
|
59 |
# Assuming JPEG format; adjust if necessary
|
60 |
image_base64 = f"data:image/jpeg;base64,{image_base64}"
|
61 |
+
# Generate a unique file path
|
62 |
+
file_name = f"MultipleFiles/{uuid.uuid4().hex}.jpg"
|
63 |
message_dict['data'] = {
|
64 |
'imagesData': [
|
65 |
{
|
|
|
124 |
"userId": None,
|
125 |
"userSelectedModel": MODEL_MAPPING.get(request.model, request.model),
|
126 |
"userSystemPrompt": None,
|
127 |
+
"validated": h_value,
|
128 |
"visitFromDelta": False,
|
129 |
"webSearchModePrompt": False,
|
130 |
"imageGenerationMode": False, # Added this line
|
|
|
209 |
"userId": None,
|
210 |
"userSelectedModel": MODEL_MAPPING.get(request.model, request.model),
|
211 |
"userSystemPrompt": None,
|
212 |
+
"validated": h_value,
|
213 |
"visitFromDelta": False,
|
214 |
"webSearchModePrompt": False,
|
215 |
"imageGenerationMode": False, # Added this line
|