Update api/utils.py
Browse files- api/utils.py +6 -7
api/utils.py
CHANGED
@@ -47,13 +47,13 @@ def create_chat_completion_data(
|
|
47 |
"usage": None,
|
48 |
}
|
49 |
|
50 |
-
# Function to convert message to dictionary format
|
51 |
def message_to_dict(message, model_prefix: Optional[str] = None):
|
52 |
-
content = message.content
|
53 |
if model_prefix:
|
54 |
content = f"{model_prefix} {content}"
|
55 |
-
|
56 |
-
|
57 |
return {
|
58 |
"role": message.role,
|
59 |
"content": content,
|
@@ -63,8 +63,7 @@ def message_to_dict(message, model_prefix: Optional[str] = None):
|
|
63 |
"title": "snapshot",
|
64 |
},
|
65 |
}
|
66 |
-
|
67 |
-
return {"role": message.role, "content": content}
|
68 |
|
69 |
# Function to strip model prefix from content if present
|
70 |
def strip_model_prefix(content: str, model_prefix: Optional[str] = None) -> str:
|
@@ -76,7 +75,7 @@ def strip_model_prefix(content: str, model_prefix: Optional[str] = None) -> str:
|
|
76 |
|
77 |
# Function to get the correct referer URL for logging
|
78 |
def get_referer_url(chat_id: str, model: str) -> str:
|
79 |
-
"""Generate the referer URL based on specific models."""
|
80 |
if model in MODEL_REFERERS:
|
81 |
return f"{BASE_URL}/chat/{chat_id}?model={model}"
|
82 |
return BASE_URL
|
|
|
47 |
"usage": None,
|
48 |
}
|
49 |
|
50 |
+
# Function to convert message to dictionary format, ensuring base64 data and optional model prefix
|
51 |
def message_to_dict(message, model_prefix: Optional[str] = None):
|
52 |
+
content = message.content if isinstance(message.content, str) else message.content[0]["text"]
|
53 |
if model_prefix:
|
54 |
content = f"{model_prefix} {content}"
|
55 |
+
if isinstance(message.content, list) and len(message.content) == 2 and "image_url" in message.content[1]:
|
56 |
+
# Ensure base64 images are always included for all models
|
57 |
return {
|
58 |
"role": message.role,
|
59 |
"content": content,
|
|
|
63 |
"title": "snapshot",
|
64 |
},
|
65 |
}
|
66 |
+
return {"role": message.role, "content": content}
|
|
|
67 |
|
68 |
# Function to strip model prefix from content if present
|
69 |
def strip_model_prefix(content: str, model_prefix: Optional[str] = None) -> str:
|
|
|
75 |
|
76 |
# Function to get the correct referer URL for logging
|
77 |
def get_referer_url(chat_id: str, model: str) -> str:
|
78 |
+
"""Generate the referer URL based on specific models listed in MODEL_REFERERS."""
|
79 |
if model in MODEL_REFERERS:
|
80 |
return f"{BASE_URL}/chat/{chat_id}?model={model}"
|
81 |
return BASE_URL
|