openai extension fix: Handle Multiple Content Items in Messages (#6528)

This commit is contained in:
hronoas 2024-11-18 17:59:52 +03:00 committed by GitHub
parent 5fa9336dab
commit 9b3a3d8f12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -143,21 +143,20 @@ def convert_history(history):
new_history = []
for entry in history:
if isinstance(entry['content'], list):
image_url = None
content = None
for item in entry['content']:
if not isinstance(item, dict):
continue
image_url = None
content = None
if item['type'] == 'image_url' and isinstance(item['image_url'], dict):
image_url = item['image_url']['url']
elif item['type'] == 'text' and isinstance(item['text'], str):
content = item['text']
if image_url:
new_history.append({"image_url": image_url, "role": "user"})
if content:
new_history.append({"content": content, "role": "user"})
if image_url:
new_history.append({"image_url": image_url, "role": "user"})
if content:
new_history.append({"content": content, "role": "user"})
else:
new_history.append(entry)