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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek