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() {
}