mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2025-06-07 06:06:20 -04:00
Use the latest format
This commit is contained in:
parent
7f7909be54
commit
0783f5c891
3 changed files with 24 additions and 11 deletions
|
@ -150,7 +150,7 @@ def convert_history(history):
|
|||
# Process multimodal content
|
||||
processed_content, images = process_multimodal_content(content)
|
||||
if images:
|
||||
image_refs = "".join(f"[img-{img['image_id']}]" for img in images)
|
||||
image_refs = "".join("<__media__>" for img in images)
|
||||
processed_content = f"{processed_content} {image_refs}"
|
||||
|
||||
user_input = processed_content
|
||||
|
|
|
@ -225,7 +225,7 @@ def generate_chat_prompt(user_input, state, **kwargs):
|
|||
for attachment in metadata[user_key]["attachments"]:
|
||||
if attachment.get("type") == "image":
|
||||
# Add image reference for multimodal models
|
||||
image_refs += f"[img-{attachment['image_id']}]"
|
||||
image_refs += "<__media__>"
|
||||
else:
|
||||
# Handle text/PDF attachments as before
|
||||
filename = attachment.get("name", "file")
|
||||
|
@ -260,7 +260,7 @@ def generate_chat_prompt(user_input, state, **kwargs):
|
|||
|
||||
for attachment in metadata[user_key]["attachments"]:
|
||||
if attachment.get("type") == "image":
|
||||
image_refs += f"[img-{attachment['image_id']}]"
|
||||
image_refs += "<__media__>"
|
||||
else:
|
||||
filename = attachment.get("name", "file")
|
||||
content = attachment.get("content", "")
|
||||
|
@ -517,17 +517,30 @@ def add_message_attachment(history, row_idx, file_path, is_user=True):
|
|||
with open(path, 'rb') as f:
|
||||
image_data = base64.b64encode(f.read()).decode('utf-8')
|
||||
|
||||
# Determine MIME type from extension
|
||||
mime_type_map = {
|
||||
'.jpg': 'image/jpeg',
|
||||
'.jpeg': 'image/jpeg',
|
||||
'.png': 'image/png',
|
||||
'.webp': 'image/webp',
|
||||
'.bmp': 'image/bmp',
|
||||
'.gif': 'image/gif'
|
||||
}
|
||||
mime_type = mime_type_map.get(file_extension, 'image/jpeg')
|
||||
|
||||
# Format as data URL
|
||||
data_url = f"data:{mime_type};base64,{image_data}"
|
||||
|
||||
# Generate unique image ID
|
||||
image_id = len([att for att in history['metadata'][key]["attachments"] if att.get("type") == "image"]) + 1
|
||||
|
||||
attachment = {
|
||||
"name": filename,
|
||||
"type": "image",
|
||||
"image_data": image_data,
|
||||
"image_data": data_url,
|
||||
"image_id": image_id,
|
||||
"file_path": str(path) # For UI preview
|
||||
}
|
||||
|
||||
elif file_extension == '.pdf':
|
||||
# Process PDF file
|
||||
content = extract_pdf_text(path)
|
||||
|
|
|
@ -123,15 +123,15 @@ class LlamaServer:
|
|||
|
||||
# Add image data if present
|
||||
if 'image_attachments' in state:
|
||||
image_data = []
|
||||
medias = []
|
||||
for attachment in state['image_attachments']:
|
||||
image_data.append({
|
||||
"data": attachment['image_data'],
|
||||
"id": attachment['image_id']
|
||||
medias.append({
|
||||
"type": "image",
|
||||
"data": attachment['image_data']
|
||||
})
|
||||
|
||||
if image_data:
|
||||
payload["image_data"] = image_data
|
||||
if medias:
|
||||
payload["medias"] = medias
|
||||
|
||||
return payload
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue