diff --git a/client/src/components/Endpoints/BingAI/Settings.jsx b/client/src/components/Endpoints/BingAI/Settings.jsx
index 4c1e7bc4f1..4b7ad3efcc 100644
--- a/client/src/components/Endpoints/BingAI/Settings.jsx
+++ b/client/src/components/Endpoints/BingAI/Settings.jsx
@@ -57,7 +57,9 @@ function Settings(props) {
'flex max-h-[300px] min-h-[100px] w-full resize-none px-3 py-2'
)}
/>
- {'Token count: 1200 (work in progress)'}
+
+ {'Token count: 1200 (work in progress)'}
+
diff --git a/client/src/components/Endpoints/EditPresetDialog.jsx b/client/src/components/Endpoints/EditPresetDialog.jsx
index fccf49cb97..c0ee98a782 100644
--- a/client/src/components/Endpoints/EditPresetDialog.jsx
+++ b/client/src/components/Endpoints/EditPresetDialog.jsx
@@ -10,12 +10,11 @@ import Dropdown from '../ui/Dropdown';
import { cn } from '~/utils/';
import cleanupPreset from '~/utils/cleanupPreset';
-import OpenAISettings from './OpenAI/Settings';
-import BingAISettings from './BingAI/Settings.jsx';
+import Settings from './Settings';
import store from '~/store';
-const EditPresetDialog = ({ open, onOpenChange, preset: _preset }) => {
+const EditPresetDialog = ({ open, onOpenChange, preset: _preset, title }) => {
// const [title, setTitle] = useState('My Preset');
const [preset, setPreset] = useState(_preset);
const setPresets = useSetRecoilState(store.presets);
@@ -31,43 +30,6 @@ const EditPresetDialog = ({ open, onOpenChange, preset: _preset }) => {
}));
};
- const renderSettings = () => {
- const { endpoint } = preset || {};
-
- if (endpoint === 'openAI')
- return (
-
- );
- else if (endpoint === 'bingAI')
- return (
-
- );
- else return null;
- };
-
const defaultTextProps =
'rounded-md border border-gray-200 focus:border-slate-400 focus:bg-gray-50 bg-transparent text-sm shadow-[0_0_10px_rgba(0,0,0,0.05)] outline-none placeholder:text-gray-400 focus:outline-none focus:ring-gray-400 focus:ring-opacity-20 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-500 dark:bg-gray-700 focus:dark:bg-gray-600 dark:text-gray-50 dark:shadow-[0_0_15px_rgba(0,0,0,0.10)] dark:focus:border-gray-400 dark:focus:outline-none dark:focus:ring-0 dark:focus:ring-gray-400 dark:focus:ring-offset-0';
@@ -100,7 +62,7 @@ const EditPresetDialog = ({ open, onOpenChange, preset: _preset }) => {
onOpenChange={onOpenChange}
>
@@ -144,7 +106,12 @@ const EditPresetDialog = ({ open, onOpenChange, preset: _preset }) => {
- {renderSettings()}
+
+
+
}
buttons={
diff --git a/client/src/components/Endpoints/EndpointOptionsDialog.jsx b/client/src/components/Endpoints/EndpointOptionsDialog.jsx
index cf89ac1142..be4deb80cd 100644
--- a/client/src/components/Endpoints/EndpointOptionsDialog.jsx
+++ b/client/src/components/Endpoints/EndpointOptionsDialog.jsx
@@ -1,20 +1,11 @@
import React, { useEffect, useState } from 'react';
-import { useSetRecoilState, useRecoilValue } from 'recoil';
-import axios from 'axios';
import exportFromJSON from 'export-from-json';
import DialogTemplate from '../ui/DialogTemplate.jsx';
-import { Dialog, DialogClose, DialogButton } from '../ui/Dialog.tsx';
-import { Input } from '../ui/Input.tsx';
-import { Label } from '../ui/Label.tsx';
-import Dropdown from '../ui/Dropdown.jsx';
+import { Dialog, DialogButton } from '../ui/Dialog.tsx';
import SaveAsPresetDialog from './SaveAsPresetDialog';
-import { cn } from '~/utils/';
import cleanupPreset from '~/utils/cleanupPreset';
-import OpenAISettings from './OpenAI/Settings.jsx';
-import BingAISettings from './BingAI/Settings.jsx';
-
-import store from '~/store';
+import Settings from './Settings';
// A preset dialog to show readonly preset values.
const EndpointOptionsDialog = ({ open, onOpenChange, preset: _preset, title }) => {
@@ -32,44 +23,6 @@ const EndpointOptionsDialog = ({ open, onOpenChange, preset: _preset, title }) =
}));
};
- const renderSettings = () => {
- const { endpoint } = preset || {};
-
- if (endpoint === 'openAI')
- return (
-
- );
- else if (endpoint === 'bingAI')
- return (
-
- );
- else return null;
- };
-
const saveAsPreset = () => {
setSaveAsDialogShow(true);
};
@@ -93,11 +46,17 @@ const EndpointOptionsDialog = ({ open, onOpenChange, preset: _preset, title }) =
onOpenChange={onOpenChange}
>
- {renderSettings()}
+
+
+
}
buttons={
diff --git a/client/src/components/Endpoints/OpenAI/Settings.jsx b/client/src/components/Endpoints/OpenAI/Settings.jsx
index 373c024d76..b4bd2b269c 100644
--- a/client/src/components/Endpoints/OpenAI/Settings.jsx
+++ b/client/src/components/Endpoints/OpenAI/Settings.jsx
@@ -15,23 +15,15 @@ const optionText =
'p-0 shadow-none text-right pr-1 h-8 border-transparent focus:ring-[#10a37f] focus:ring-offset-0 focus:ring-opacity-100 hover:bg-gray-800/10 dark:hover:bg-white/10 focus:bg-gray-800/10 dark:focus:bg-white/10 transition-colors';
function Settings(props) {
- const {
- readonly,
- model,
- setModel,
- chatGptLabel,
- setChatGptLabel,
- promptPrefix,
- setPromptPrefix,
- temperature,
- setTemperature,
- topP,
- setTopP,
- freqP,
- setFreqP,
- presP,
- setPresP
- } = props;
+ const { readonly, model, chatGptLabel, promptPrefix, temperature, topP, freqP, presP, setOption } = props;
+
+ const setModel = setOption('model');
+ const setChatGptLabel = setOption('chatGptLabel');
+ const setPromptPrefix = setOption('promptPrefix');
+ const setTemperature = setOption('temperature');
+ const setTopP = setOption('top_p');
+ const setFreqP = setOption('presence_penalty');
+ const setPresP = setOption('frequency_penalty');
return (
<>
diff --git a/client/src/components/Endpoints/Settings.jsx b/client/src/components/Endpoints/Settings.jsx
new file mode 100644
index 0000000000..be224f5112
--- /dev/null
+++ b/client/src/components/Endpoints/Settings.jsx
@@ -0,0 +1,39 @@
+import React from 'react';
+
+import OpenAISettings from './OpenAI/Settings.jsx';
+import BingAISettings from './BingAI/Settings.jsx';
+
+// A preset dialog to show readonly preset values.
+const Settings = ({ preset, ...props }) => {
+ const renderSettings = () => {
+ const { endpoint } = preset || {};
+
+ if (endpoint === 'openAI')
+ return (
+
+ );
+ else if (endpoint === 'bingAI')
+ return (
+
+ );
+ else return Not implemented
;
+ };
+
+ return renderSettings();
+};
+
+export default Settings;
diff --git a/client/src/components/Input/OpenAIOptions/index.jsx b/client/src/components/Input/OpenAIOptions/index.jsx
index 5ecaf8f2ce..357781dc4c 100644
--- a/client/src/components/Input/OpenAIOptions/index.jsx
+++ b/client/src/components/Input/OpenAIOptions/index.jsx
@@ -113,19 +113,13 @@ function OpenAIOptions() {
}