mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 17:00:15 +01:00
This commit adds support for multiple GPT models in the chatGPT-browser client. The available models are now stored in a Map object, which maps the model label to its corresponding model. The commit adds a new component, ChatGPTOptions, to the client UI to allow the user to select the GPT model to use in the chat. The component is only displayed when the chatGPT-browser endpoint is selected.
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
const buildPresetByConversation = ({ title, conversation, ...others }) => {
|
|
const { endpoint } = conversation;
|
|
|
|
let preset = {};
|
|
if (endpoint === 'azureOpenAI' || endpoint === 'openAI') {
|
|
preset = {
|
|
endpoint,
|
|
model: conversation?.model || 'gpt-3.5-turbo',
|
|
chatGptLabel: conversation?.chatGptLabel || null,
|
|
promptPrefix: conversation?.promptPrefix || null,
|
|
temperature: conversation?.temperature || 1,
|
|
top_p: conversation?.top_p || 1,
|
|
presence_penalty: conversation?.presence_penalty || 0,
|
|
frequency_penalty: conversation?.frequency_penalty || 0,
|
|
title,
|
|
...others
|
|
};
|
|
} else if (endpoint === 'bingAI') {
|
|
preset = {
|
|
endpoint,
|
|
jailbreak: conversation?.jailbreak || false,
|
|
jailbreakConversationId: conversation?.jailbreakConversationId || null,
|
|
conversationSignature: null,
|
|
clientId: null,
|
|
invocationId: 1,
|
|
toneStyle: conversation?.toneStyle || 'fast',
|
|
title,
|
|
...others
|
|
};
|
|
} else if (endpoint === 'chatGPTBrowser') {
|
|
preset = {
|
|
endpoint,
|
|
model: conversation?.model || 'Default (GPT-3.5)',
|
|
title,
|
|
...others
|
|
};
|
|
} else if (endpoint === null) {
|
|
preset = {
|
|
...conversation,
|
|
endpoint,
|
|
title,
|
|
...others
|
|
};
|
|
} else {
|
|
console.error(`Unknown endpoint ${endpoint}`);
|
|
preset = {
|
|
endpoint: null,
|
|
title,
|
|
...others
|
|
};
|
|
}
|
|
|
|
return preset;
|
|
};
|
|
|
|
export default buildPresetByConversation;
|