Spaces:
Runtime error
Runtime error
import { Conversation } from '@/types/chat'; | |
import { OpenAIModelID, OpenAIModels } from '@/types/openai'; | |
import { DEFAULT_SYSTEM_PROMPT, DEFAULT_TEMPERATURE } from './const'; | |
export const cleanSelectedConversation = (conversation: Conversation) => { | |
// added model for each conversation (3/20/23) | |
// added system prompt for each conversation (3/21/23) | |
// added folders (3/23/23) | |
// added prompts (3/26/23) | |
// added messages (4/16/23) | |
let updatedConversation = conversation; | |
// check for model on each conversation | |
if (!updatedConversation.model) { | |
updatedConversation = { | |
...updatedConversation, | |
model: updatedConversation.model || OpenAIModels[OpenAIModelID.GPT_3_5], | |
}; | |
} | |
// check for system prompt on each conversation | |
if (!updatedConversation.prompt) { | |
updatedConversation = { | |
...updatedConversation, | |
prompt: updatedConversation.prompt || DEFAULT_SYSTEM_PROMPT, | |
}; | |
} | |
if (!updatedConversation.temperature) { | |
updatedConversation = { | |
...updatedConversation, | |
temperature: updatedConversation.temperature || DEFAULT_TEMPERATURE, | |
}; | |
} | |
if (!updatedConversation.folderId) { | |
updatedConversation = { | |
...updatedConversation, | |
folderId: updatedConversation.folderId || null, | |
}; | |
} | |
if (!updatedConversation.messages) { | |
updatedConversation = { | |
...updatedConversation, | |
messages: updatedConversation.messages || [], | |
}; | |
} | |
return updatedConversation; | |
}; | |
export const cleanConversationHistory = (history: any[]): Conversation[] => { | |
// added model for each conversation (3/20/23) | |
// added system prompt for each conversation (3/21/23) | |
// added folders (3/23/23) | |
// added prompts (3/26/23) | |
// added messages (4/16/23) | |
if (!Array.isArray(history)) { | |
console.warn('history is not an array. Returning an empty array.'); | |
return []; | |
} | |
return history.reduce((acc: any[], conversation) => { | |
try { | |
if (!conversation.model) { | |
conversation.model = OpenAIModels[OpenAIModelID.GPT_3_5]; | |
} | |
if (!conversation.prompt) { | |
conversation.prompt = DEFAULT_SYSTEM_PROMPT; | |
} | |
if (!conversation.temperature) { | |
conversation.temperature = DEFAULT_TEMPERATURE; | |
} | |
if (!conversation.folderId) { | |
conversation.folderId = null; | |
} | |
if (!conversation.messages) { | |
conversation.messages = []; | |
} | |
acc.push(conversation); | |
return acc; | |
} catch (error) { | |
console.warn( | |
`error while cleaning conversations' history. Removing culprit`, | |
error, | |
); | |
} | |
return acc; | |
}, []); | |
}; | |