mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 17:30:16 +01:00
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:
parent
dcf2ee480b
commit
e68c163ef6
2 changed files with 13 additions and 3 deletions
|
|
@ -61,7 +61,11 @@ export default function NewConversationMenu() {
|
||||||
|
|
||||||
// save selected model to localstoreage
|
// save selected model to localstoreage
|
||||||
useEffect(() => {
|
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]);
|
}, [conversation]);
|
||||||
|
|
||||||
// set the current model
|
// set the current model
|
||||||
|
|
@ -113,7 +117,7 @@ export default function NewConversationMenu() {
|
||||||
<DropdownMenuTrigger asChild>
|
<DropdownMenuTrigger asChild>
|
||||||
<Button
|
<Button
|
||||||
variant="outline"
|
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}
|
{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">
|
<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">
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,17 @@ const buildDefaultConversation = ({
|
||||||
endpointsConfig = {},
|
endpointsConfig = {},
|
||||||
lastConversationSetup = {}
|
lastConversationSetup = {}
|
||||||
}) => {
|
}) => {
|
||||||
|
const lastSelectedModel = JSON.parse(localStorage.getItem('lastSelectedModel')) || {};
|
||||||
|
|
||||||
if (endpoint === 'azureOpenAI' || endpoint === 'openAI') {
|
if (endpoint === 'azureOpenAI' || endpoint === 'openAI') {
|
||||||
conversation = {
|
conversation = {
|
||||||
...conversation,
|
...conversation,
|
||||||
endpoint,
|
endpoint,
|
||||||
model:
|
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,
|
chatGptLabel: lastConversationSetup?.chatGptLabel ?? null,
|
||||||
promptPrefix: lastConversationSetup?.promptPrefix ?? null,
|
promptPrefix: lastConversationSetup?.promptPrefix ?? null,
|
||||||
temperature: lastConversationSetup?.temperature ?? 1,
|
temperature: lastConversationSetup?.temperature ?? 1,
|
||||||
|
|
@ -36,6 +41,7 @@ const buildDefaultConversation = ({
|
||||||
endpoint,
|
endpoint,
|
||||||
model:
|
model:
|
||||||
lastConversationSetup?.model ??
|
lastConversationSetup?.model ??
|
||||||
|
lastSelectedModel[endpoint] ??
|
||||||
endpointsConfig[endpoint]?.availableModels?.[0] ??
|
endpointsConfig[endpoint]?.availableModels?.[0] ??
|
||||||
'text-davinci-002-render-sha'
|
'text-davinci-002-render-sha'
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue