forked from open-webui/open-webui
feat: openai multimodal support
This commit is contained in:
parent
539527bba5
commit
e3ec631ea6
2 changed files with 45 additions and 8 deletions
|
@ -331,7 +331,27 @@
|
||||||
...messages
|
...messages
|
||||||
]
|
]
|
||||||
.filter((message) => message)
|
.filter((message) => message)
|
||||||
.map((message) => ({ role: message.role, content: message.content })),
|
.map((message) => ({
|
||||||
|
role: message.role,
|
||||||
|
...(message.files
|
||||||
|
? {
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
type: 'text',
|
||||||
|
text: message.content
|
||||||
|
},
|
||||||
|
...message.files
|
||||||
|
.filter((file) => file.type === 'image')
|
||||||
|
.map((file) => ({
|
||||||
|
type: 'image_url',
|
||||||
|
image_url: {
|
||||||
|
url: file.url
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
]
|
||||||
|
}
|
||||||
|
: { content: message.content })
|
||||||
|
})),
|
||||||
temperature: $settings.temperature ?? undefined,
|
temperature: $settings.temperature ?? undefined,
|
||||||
top_p: $settings.top_p ?? undefined,
|
top_p: $settings.top_p ?? undefined,
|
||||||
num_ctx: $settings.num_ctx ?? undefined,
|
num_ctx: $settings.num_ctx ?? undefined,
|
||||||
|
|
|
@ -343,7 +343,27 @@
|
||||||
...messages
|
...messages
|
||||||
]
|
]
|
||||||
.filter((message) => message)
|
.filter((message) => message)
|
||||||
.map((message) => ({ role: message.role, content: message.content })),
|
.map((message) => ({
|
||||||
|
role: message.role,
|
||||||
|
...(message.files
|
||||||
|
? {
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
type: 'text',
|
||||||
|
text: message.content
|
||||||
|
},
|
||||||
|
...message.files
|
||||||
|
.filter((file) => file.type === 'image')
|
||||||
|
.map((file) => ({
|
||||||
|
type: 'image_url',
|
||||||
|
image_url: {
|
||||||
|
url: file.url
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
]
|
||||||
|
}
|
||||||
|
: { content: message.content })
|
||||||
|
})),
|
||||||
temperature: $settings.temperature ?? undefined,
|
temperature: $settings.temperature ?? undefined,
|
||||||
top_p: $settings.top_p ?? undefined,
|
top_p: $settings.top_p ?? undefined,
|
||||||
num_ctx: $settings.num_ctx ?? undefined,
|
num_ctx: $settings.num_ctx ?? undefined,
|
||||||
|
@ -358,12 +378,9 @@
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
const { value, done } = await reader.read();
|
const { value, done } = await reader.read();
|
||||||
if (done || stopResponseFlag) {
|
if (done || stopResponseFlag || _chatId !== $chatId) {
|
||||||
if (stopResponseFlag) {
|
responseMessage.done = true;
|
||||||
responseMessage.done = true;
|
messages = messages;
|
||||||
messages = messages;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue