mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-21 10:50:14 +01:00
feat(Anthropic, Google, OpenAI): allow changing settings/presets conversations mid-convo (#636)
feat(AnthropicClient.js, GoogleClient.js): add promptPrefix and modelLabel to getSaveOptions method
This commit is contained in:
parent
1b999108e4
commit
637bb6bc11
6 changed files with 18 additions and 11 deletions
|
|
@ -287,6 +287,8 @@ class AnthropicClient extends BaseClient {
|
||||||
|
|
||||||
getSaveOptions() {
|
getSaveOptions() {
|
||||||
return {
|
return {
|
||||||
|
promptPrefix: this.options.promptPrefix,
|
||||||
|
modelLabel: this.options.modelLabel,
|
||||||
...this.modelOptions
|
...this.modelOptions
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -216,6 +216,8 @@ class GoogleClient extends BaseClient {
|
||||||
|
|
||||||
getSaveOptions() {
|
getSaveOptions() {
|
||||||
return {
|
return {
|
||||||
|
promptPrefix: this.options.promptPrefix,
|
||||||
|
modelLabel: this.options.modelLabel,
|
||||||
...this.modelOptions
|
...this.modelOptions
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,14 @@ function AnthropicOptions() {
|
||||||
const [saveAsDialogShow, setSaveAsDialogShow] = useState(false);
|
const [saveAsDialogShow, setSaveAsDialogShow] = useState(false);
|
||||||
|
|
||||||
const [conversation, setConversation] = useRecoilState(store.conversation) || {};
|
const [conversation, setConversation] = useRecoilState(store.conversation) || {};
|
||||||
const { endpoint, conversationId } = conversation;
|
const { endpoint } = conversation;
|
||||||
const { model, modelLabel, promptPrefix, temperature, topP, topK, maxOutputTokens } =
|
const { model, modelLabel, promptPrefix, temperature, topP, topK, maxOutputTokens } =
|
||||||
conversation;
|
conversation;
|
||||||
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
||||||
|
|
||||||
if (endpoint !== 'anthropic') return null;
|
if (endpoint !== 'anthropic') {
|
||||||
if (conversationId !== 'new') return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const models = endpointsConfig?.['anthropic']?.['availableModels'] || [];
|
const models = endpointsConfig?.['anthropic']?.['availableModels'] || [];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,14 +16,15 @@ function GoogleOptions() {
|
||||||
const [saveAsDialogShow, setSaveAsDialogShow] = useState(false);
|
const [saveAsDialogShow, setSaveAsDialogShow] = useState(false);
|
||||||
|
|
||||||
const [conversation, setConversation] = useRecoilState(store.conversation) || {};
|
const [conversation, setConversation] = useRecoilState(store.conversation) || {};
|
||||||
const { endpoint, conversationId } = conversation;
|
const { endpoint } = conversation;
|
||||||
const { model, modelLabel, promptPrefix, examples, temperature, topP, topK, maxOutputTokens } =
|
const { model, modelLabel, promptPrefix, examples, temperature, topP, topK, maxOutputTokens } =
|
||||||
conversation;
|
conversation;
|
||||||
|
|
||||||
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
||||||
|
|
||||||
if (endpoint !== 'google') return null;
|
if (endpoint !== 'google') {
|
||||||
if (conversationId !== 'new') return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const models = endpointsConfig?.['google']?.['availableModels'] || [];
|
const models = endpointsConfig?.['google']?.['availableModels'] || [];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,8 @@ export default function NewConversationMenu() {
|
||||||
const availableEndpoints = useRecoilValue(store.availableEndpoints);
|
const availableEndpoints = useRecoilValue(store.availableEndpoints);
|
||||||
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
||||||
const [presets, setPresets] = useRecoilState(store.presets);
|
const [presets, setPresets] = useRecoilState(store.presets);
|
||||||
|
const modularEndpoints = new Set(['gptPlugins', 'anthropic', 'google', 'openAI']);
|
||||||
|
|
||||||
// const conversation = useRecoilValue(store.conversation) || {};
|
|
||||||
const { endpoint, conversationId } = conversation;
|
const { endpoint, conversationId } = conversation;
|
||||||
const { newConversation } = store.useConversation();
|
const { newConversation } = store.useConversation();
|
||||||
|
|
||||||
|
|
@ -108,7 +108,7 @@ export default function NewConversationMenu() {
|
||||||
const onSelectPreset = (newPreset) => {
|
const onSelectPreset = (newPreset) => {
|
||||||
setMenuOpen(false);
|
setMenuOpen(false);
|
||||||
|
|
||||||
if (endpoint === 'gptPlugins' && newPreset?.endpoint === 'gptPlugins') {
|
if (modularEndpoints.has(endpoint) && modularEndpoints.has(newPreset?.endpoint)) {
|
||||||
const currentConvo = getDefaultConversation({
|
const currentConvo = getDefaultConversation({
|
||||||
conversation,
|
conversation,
|
||||||
endpointsConfig,
|
endpointsConfig,
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ function OpenAIOptions() {
|
||||||
const [saveAsDialogShow, setSaveAsDialogShow] = useState(false);
|
const [saveAsDialogShow, setSaveAsDialogShow] = useState(false);
|
||||||
|
|
||||||
const [conversation, setConversation] = useRecoilState(store.conversation) || {};
|
const [conversation, setConversation] = useRecoilState(store.conversation) || {};
|
||||||
const { endpoint, conversationId } = conversation;
|
const { endpoint } = conversation;
|
||||||
const {
|
const {
|
||||||
model,
|
model,
|
||||||
chatGptLabel,
|
chatGptLabel,
|
||||||
|
|
@ -28,8 +28,9 @@ function OpenAIOptions() {
|
||||||
|
|
||||||
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
const endpointsConfig = useRecoilValue(store.endpointsConfig);
|
||||||
const isOpenAI = endpoint === 'openAI' || endpoint === 'azureOpenAI';
|
const isOpenAI = endpoint === 'openAI' || endpoint === 'azureOpenAI';
|
||||||
if (!isOpenAI) return null;
|
if (!isOpenAI) {
|
||||||
if (conversationId !== 'new') return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const models = endpointsConfig?.[endpoint]?.['availableModels'] || [];
|
const models = endpointsConfig?.[endpoint]?.['availableModels'] || [];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue