Niansuh commited on
Commit
d1a8ada
·
verified ·
1 Parent(s): 03d925c

Update api/utils.py

Browse files
Files changed (1) hide show
  1. 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 with optional model prefix
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
- # Allow base64 image data for all models
56
- if isinstance(message.content, list) and len(message.content) == 2:
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
- else:
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