forked from open-webui/open-webui
		
	refac: gpt renamed to openai
This commit is contained in:
		
							parent
							
								
									1f66bbba98
								
							
						
					
					
						commit
						f40147ce58
					
				
					 2 changed files with 51 additions and 51 deletions
				
			
		|  | @ -21,7 +21,7 @@ | |||
| 	import { WEB_UI_VERSION, WEBUI_API_BASE_URL } from '$lib/constants'; | ||||
| 
 | ||||
| 	import { config, models, settings, user, chats } from '$lib/stores'; | ||||
| 	import { splitStream, getGravatarURL, getImportOrigin, convertGptChats } from '$lib/utils'; | ||||
| 	import { splitStream, getGravatarURL, getImportOrigin, convertOpenAIChats } from '$lib/utils'; | ||||
| 
 | ||||
| 	import Advanced from './Settings/Advanced.svelte'; | ||||
| 	import Modal from '../common/Modal.svelte'; | ||||
|  | @ -132,11 +132,11 @@ | |||
| 		reader.onload = (event) => { | ||||
| 			let chats = JSON.parse(event.target.result); | ||||
| 			console.log(chats); | ||||
| 			if (getImportOrigin(chats) == 'gpt') { | ||||
| 			if (getImportOrigin(chats) == 'openai') { | ||||
| 				try { | ||||
| 					chats = convertGptChats(chats); | ||||
| 					chats = convertOpenAIChats(chats); | ||||
| 				} catch (error) { | ||||
| 					console.log("Unable to import chats:", error); | ||||
| 					console.log('Unable to import chats:', error); | ||||
| 				} | ||||
| 			} | ||||
| 			importChats(chats); | ||||
|  |  | |||
|  | @ -195,68 +195,68 @@ export const calculateSHA256 = async (file) => { | |||
| 
 | ||||
| export const getImportOrigin = (_chats) => { | ||||
| 	// Check what external service chat imports are from
 | ||||
|     if ('mapping' in _chats[0]) { | ||||
|         return 'gpt'; | ||||
|     } | ||||
|     return 'webui'; | ||||
| } | ||||
| 	if ('mapping' in _chats[0]) { | ||||
| 		return 'openai'; | ||||
| 	} | ||||
| 	return 'webui'; | ||||
| }; | ||||
| 
 | ||||
| const convertGptMessages = (convo) => { | ||||
| const convertOpenAIMessages = (convo) => { | ||||
| 	// Parse OpenAI chat messages and create chat dictionary for creating new chats
 | ||||
|     const mapping = convo["mapping"]; | ||||
| 	const mapping = convo['mapping']; | ||||
| 	const messages = []; | ||||
| 	let currentId = ""; | ||||
| 	let currentId = ''; | ||||
| 
 | ||||
|     for (let message_id in mapping) { | ||||
|         const message = mapping[message_id]; | ||||
| 	for (let message_id in mapping) { | ||||
| 		const message = mapping[message_id]; | ||||
| 		currentId = message_id; | ||||
| 		if (message["message"] == null || message["message"]["content"]["parts"][0] == "") { | ||||
| 		if (message['message'] == null || message['message']['content']['parts'][0] == '') { | ||||
| 			// Skip chat messages with no content
 | ||||
| 			continue; | ||||
| 		} else { | ||||
| 			const new_chat = { | ||||
| 				"id": message_id, | ||||
| 				"parentId": messages.length > 0 ? message["parent"] : null, | ||||
| 				"childrenIds": message["children"] || [], | ||||
| 				"role": message["message"]?.["author"]?.["role"] !== "user" ? "assistant" : "user", | ||||
| 				"content": message["message"]?.["content"]?.['parts']?.[0] || "", | ||||
| 				"model": '', | ||||
| 				"done": true, | ||||
| 				"context": null, | ||||
| 			} | ||||
| 			messages.push(new_chat) | ||||
| 				id: message_id, | ||||
| 				parentId: messages.length > 0 ? message['parent'] : null, | ||||
| 				childrenIds: message['children'] || [], | ||||
| 				role: message['message']?.['author']?.['role'] !== 'user' ? 'assistant' : 'user', | ||||
| 				content: message['message']?.['content']?.['parts']?.[0] || '', | ||||
| 				model: '', | ||||
| 				done: true, | ||||
| 				context: null | ||||
| 			}; | ||||
| 			messages.push(new_chat); | ||||
| 		} | ||||
|     } | ||||
| 	} | ||||
| 
 | ||||
| 	let history = {}; | ||||
| 	messages.forEach(obj => history[obj.id] = obj); | ||||
| 	messages.forEach((obj) => (history[obj.id] = obj)); | ||||
| 
 | ||||
| 	const chat = { | ||||
| 		"history": { | ||||
| 			"currentId": currentId, | ||||
| 			"messages": history, // Need to convert this to not a list and instead a json object
 | ||||
| 		history: { | ||||
| 			currentId: currentId, | ||||
| 			messages: history // Need to convert this to not a list and instead a json object
 | ||||
| 		}, | ||||
| 		"models": [""], | ||||
| 		"messages": messages, | ||||
| 		"options": {}, | ||||
| 		"timestamp": convo["create_time"], | ||||
| 		"title": convo["title"], | ||||
| 	} | ||||
|     return chat; | ||||
| } | ||||
| 		models: [''], | ||||
| 		messages: messages, | ||||
| 		options: {}, | ||||
| 		timestamp: convo['create_time'], | ||||
| 		title: convo['title'] | ||||
| 	}; | ||||
| 	return chat; | ||||
| }; | ||||
| 
 | ||||
| export const convertGptChats = (_chats) => { | ||||
| export const convertOpenAIChats = (_chats) => { | ||||
| 	// Create a list of dictionaries with each conversation from import
 | ||||
|     const chats = []; | ||||
|     for (let convo of _chats) { | ||||
|         const chat = { | ||||
| 			"id": convo["id"], | ||||
|         	"user_id": '', | ||||
| 			"title": convo["title"], | ||||
| 			"chat": convertGptMessages(convo), | ||||
| 			"timestamp": convo["timestamp"], | ||||
|     	} | ||||
| 		chats.push(chat) | ||||
| 	const chats = []; | ||||
| 	for (let convo of _chats) { | ||||
| 		const chat = { | ||||
| 			id: convo['id'], | ||||
| 			user_id: '', | ||||
| 			title: convo['title'], | ||||
| 			chat: convertOpenAIMessages(convo), | ||||
| 			timestamp: convo['timestamp'] | ||||
| 		}; | ||||
| 		chats.push(chat); | ||||
| 	} | ||||
|     return chats; | ||||
| } | ||||
| 	return chats; | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek