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
|