Skip to content

Commit 23ea667

Browse files
committed
Add temp, parallel tools, store fields
1 parent 7eca4d7 commit 23ea667

1 file changed

Lines changed: 59 additions & 0 deletions

File tree

webapp/_webapp/src/views/settings/sections/api-key-settings.tsx

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ export const ApiKeySettings = () => {
4141
maxOutput: newModel.maxOutput,
4242
inputPrice: newModel.inputPrice,
4343
outputPrice: newModel.outputPrice,
44+
temperature: newModel.temperature,
45+
parallelToolCalls: newModel.parallelToolCalls,
46+
store: newModel.store,
4447
},
4548
],
4649
});
@@ -75,6 +78,9 @@ export const ApiKeySettings = () => {
7578
maxOutput: m.maxOutput,
7679
inputPrice: m.inputPrice,
7780
outputPrice: m.outputPrice,
81+
temperature: m.temperature,
82+
parallelToolCalls: m.parallelToolCalls,
83+
store: m.store,
7884
}}
7985
/>
8086
</Fragment>
@@ -94,6 +100,9 @@ type CustomModel = {
94100
apiKey: string;
95101
contextWindow: number;
96102
maxOutput: number;
103+
temperature: number;
104+
parallelToolCalls: boolean;
105+
store: boolean;
97106
inputPrice: number;
98107
outputPrice: number;
99108
};
@@ -122,6 +131,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
122131
const [apiKey, setApiKey] = useState(customModel?.apiKey || "");
123132
const [contextWindow, setContextWindow] = useState<number>(customModel?.contextWindow ?? 0);
124133
const [maxOutput, setMaxOutput] = useState<number>(customModel?.maxOutput ?? 4000);
134+
const [temperature, setTemperature] = useState<number>(customModel?.temperature ?? 0.7);
135+
const [parallelToolCalls, setParallelToolCalls] = useState<boolean>(customModel?.parallelToolCalls ?? true);
136+
const [store, setStore] = useState<boolean>(customModel?.store ?? false);
125137
const [inputPrice, setInputPrice] = useState<number>(customModel?.inputPrice ?? 0);
126138
const [outputPrice, setOutputPrice] = useState<number>(customModel?.outputPrice ?? 0);
127139
const [modelName, setModelName] = useState(customModel?.name || "");
@@ -150,6 +162,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
150162
setMaxOutput(customModel.maxOutput ?? 4000);
151163
setInputPrice(customModel.inputPrice ?? 0);
152164
setOutputPrice(customModel.outputPrice ?? 0);
165+
setTemperature(customModel.temperature ?? 0.7);
166+
setParallelToolCalls(customModel.parallelToolCalls ?? true);
167+
setStore(customModel.store ?? false);
153168
}, [isNew, isEditing, customModel]);
154169

155170
const handleOnChange = async (isDelete: boolean) => {
@@ -196,6 +211,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
196211
maxOutput: maxOutput,
197212
inputPrice: inputPrice,
198213
outputPrice: outputPrice,
214+
temperature: temperature,
215+
parallelToolCalls: parallelToolCalls,
216+
store: store,
199217
},
200218
isDelete,
201219
);
@@ -209,6 +227,9 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
209227
setMaxOutput(4000);
210228
setInputPrice(0);
211229
setOutputPrice(0);
230+
setTemperature(0.7);
231+
setParallelToolCalls(true);
232+
setStore(false);
212233
} else if (isSaveAction) {
213234
setIsEditing(false);
214235
}
@@ -403,6 +424,44 @@ const CustomModelSection = ({ isNew, onChange, model: customModel }: CustomModel
403424
/>
404425
</div>
405426

427+
<div className="flex flex-row mt-[4px]">
428+
<label className={`${labelClassName}`}>Temperature</label>
429+
<input
430+
className={detailInputClassName}
431+
value={String(temperature)}
432+
type="number"
433+
min={0}
434+
max={2}
435+
step="0.1"
436+
disabled={!isEditing || isProcessing}
437+
onChange={(e) => setTemperature(e.target.value === "" ? 0 : Number(e.target.value))}
438+
/>
439+
</div>
440+
441+
<div className="flex flex-row mt-[4px]">
442+
<label className={`${labelClassName}`}>Parallel Tool Calls</label>
443+
<input
444+
id={`parallel-${id}`}
445+
className="mr-2"
446+
type="checkbox"
447+
checked={parallelToolCalls}
448+
disabled={!isEditing || isProcessing}
449+
onChange={(e) => setParallelToolCalls(e.target.checked)}
450+
/>
451+
</div>
452+
453+
<div className="flex flex-row mt-[4px]">
454+
<label className={`${labelClassName}`}>Store</label>
455+
<input
456+
id={`store-${id}`}
457+
className="mr-2"
458+
type="checkbox"
459+
checked={store}
460+
disabled={!isEditing || isProcessing}
461+
onChange={(e) => setStore(e.target.checked)}
462+
/>
463+
</div>
464+
406465
<Accordion className="mt-2 px-0" variant="light" selectionMode="multiple">
407466
<AccordionItem
408467
key="optional-fields"

0 commit comments

Comments
 (0)