enh: channel model @ image support
This commit is contained in:
parent
e7061b70e9
commit
9f0010e234
|
@ -290,6 +290,7 @@ async def model_response_handler(request, channel, message, user):
|
||||||
)
|
)
|
||||||
|
|
||||||
thread_history = []
|
thread_history = []
|
||||||
|
images = []
|
||||||
message_users = {}
|
message_users = {}
|
||||||
|
|
||||||
for thread_message in thread_messages:
|
for thread_message in thread_messages:
|
||||||
|
@ -318,6 +319,11 @@ async def model_response_handler(request, channel, message, user):
|
||||||
f"{username}: {replace_mentions(thread_message.content)}"
|
f"{username}: {replace_mentions(thread_message.content)}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
thread_message_files = thread_message.data.get("files", [])
|
||||||
|
for file in thread_message_files:
|
||||||
|
if file.get("type", "") == "image":
|
||||||
|
images.append(file.get("url", ""))
|
||||||
|
|
||||||
system_message = {
|
system_message = {
|
||||||
"role": "system",
|
"role": "system",
|
||||||
"content": f"You are {model.get('name', model_id)}, an AI assistant participating in a threaded conversation. Be helpful, concise, and conversational."
|
"content": f"You are {model.get('name', model_id)}, an AI assistant participating in a threaded conversation. Be helpful, concise, and conversational."
|
||||||
|
@ -328,14 +334,29 @@ async def model_response_handler(request, channel, message, user):
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
content = f"{user.name if user else 'User'}: {message_content}"
|
||||||
|
if images:
|
||||||
|
content = [
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"text": content,
|
||||||
|
},
|
||||||
|
*[
|
||||||
|
{
|
||||||
|
"type": "image_url",
|
||||||
|
"image_url": {
|
||||||
|
"url": image,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for image in images
|
||||||
|
],
|
||||||
|
]
|
||||||
|
|
||||||
form_data = {
|
form_data = {
|
||||||
"model": model_id,
|
"model": model_id,
|
||||||
"messages": [
|
"messages": [
|
||||||
system_message,
|
system_message,
|
||||||
{
|
{"role": "user", "content": content},
|
||||||
"role": "user",
|
|
||||||
"content": f"{user.name if user else 'User'}: {message_content}",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
"stream": False,
|
"stream": False,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue