feat(Input/NewConversationMenu): save last selected model to localStorage

fix(getDefaultConversation.js): use last selected model from localStorage if available
This commit is contained in:
Daniel Avila 2023-04-11 21:33:14 -04:00
parent dcf2ee480b
commit e68c163ef6
2 changed files with 13 additions and 3 deletions

View file

@ -61,7 +61,11 @@ export default function NewConversationMenu() {
// save selected model to localstoreage
useEffect(() => {
if (endpoint) localStorage.setItem('lastConversationSetup', JSON.stringify(conversation));
if (endpoint) {
const lastSelectedModel = JSON.parse(localStorage.getItem('lastSelectedModel')) || {};
localStorage.setItem('lastConversationSetup', JSON.stringify(conversation));
localStorage.setItem('lastSelectedModel', JSON.stringify({ ...lastSelectedModel, [endpoint] : conversation.model }));
}
}, [conversation]);
// set the current model
@ -113,7 +117,7 @@ export default function NewConversationMenu() {
<DropdownMenuTrigger asChild>
<Button
variant="outline"
className={`group relative mt-[-8px] mb-[-12px] ml-0 items-center rounded-md border-0 p-1 outline-none focus:ring-0 focus:ring-offset-0 dark:data-[state=open]:bg-opacity-50 md:left-1 md:ml-[-12px] md:pl-1`}
className={`group relative mb-[-12px] ml-0 mt-[-8px] items-center rounded-md border-0 p-1 outline-none focus:ring-0 focus:ring-offset-0 dark:data-[state=open]:bg-opacity-50 md:left-1 md:ml-[-12px] md:pl-1`}
>
{icon}
<span className="max-w-0 overflow-hidden whitespace-nowrap px-0 text-slate-600 transition-all group-hover:max-w-[80px] group-hover:px-2 group-data-[state=open]:max-w-[80px] group-data-[state=open]:px-2 dark:text-slate-300">

View file

@ -4,12 +4,17 @@ const buildDefaultConversation = ({
endpointsConfig = {},
lastConversationSetup = {}
}) => {
const lastSelectedModel = JSON.parse(localStorage.getItem('lastSelectedModel')) || {};
if (endpoint === 'azureOpenAI' || endpoint === 'openAI') {
conversation = {
...conversation,
endpoint,
model:
lastConversationSetup?.model ?? endpointsConfig[endpoint]?.availableModels?.[0] ?? 'gpt-3.5-turbo',
lastConversationSetup?.model ??
lastSelectedModel[endpoint] ??
endpointsConfig[endpoint]?.availableModels?.[0] ??
'gpt-3.5-turbo',
chatGptLabel: lastConversationSetup?.chatGptLabel ?? null,
promptPrefix: lastConversationSetup?.promptPrefix ?? null,
temperature: lastConversationSetup?.temperature ?? 1,
@ -36,6 +41,7 @@ const buildDefaultConversation = ({
endpoint,
model:
lastConversationSetup?.model ??
lastSelectedModel[endpoint] ??
endpointsConfig[endpoint]?.availableModels?.[0] ??
'text-davinci-002-render-sha'
};