forked from XiaoMo/ChatGPT-Next-Web
feat: support custom gemini pro params
This commit is contained in:
parent
75057f9a91
commit
7c3dfb7bae
@ -34,6 +34,15 @@ export class GeminiProApi implements LLMApi {
|
|||||||
};
|
};
|
||||||
const requestPayload = {
|
const requestPayload = {
|
||||||
contents: messages,
|
contents: messages,
|
||||||
|
generationConfig: {
|
||||||
|
// stopSequences: [
|
||||||
|
// "Title"
|
||||||
|
// ],
|
||||||
|
temperature: modelConfig.temperature,
|
||||||
|
maxOutputTokens: modelConfig.max_tokens,
|
||||||
|
topP: modelConfig.top_p,
|
||||||
|
// "topK": modelConfig.top_k,
|
||||||
|
},
|
||||||
// stream: options.config.stream,
|
// stream: options.config.stream,
|
||||||
// model: modelConfig.model,
|
// model: modelConfig.model,
|
||||||
// temperature: modelConfig.temperature,
|
// temperature: modelConfig.temperature,
|
||||||
|
@ -91,79 +91,84 @@ export function ModelConfigList(props: {
|
|||||||
}
|
}
|
||||||
></input>
|
></input>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem
|
|
||||||
title={Locale.Settings.PresencePenalty.Title}
|
|
||||||
subTitle={Locale.Settings.PresencePenalty.SubTitle}
|
|
||||||
>
|
|
||||||
<InputRange
|
|
||||||
value={props.modelConfig.presence_penalty?.toFixed(1)}
|
|
||||||
min="-2"
|
|
||||||
max="2"
|
|
||||||
step="0.1"
|
|
||||||
onChange={(e) => {
|
|
||||||
props.updateConfig(
|
|
||||||
(config) =>
|
|
||||||
(config.presence_penalty =
|
|
||||||
ModalConfigValidator.presence_penalty(
|
|
||||||
e.currentTarget.valueAsNumber,
|
|
||||||
)),
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
></InputRange>
|
|
||||||
</ListItem>
|
|
||||||
|
|
||||||
<ListItem
|
{props.modelConfig.model === "gemini-pro" ? null : (
|
||||||
title={Locale.Settings.FrequencyPenalty.Title}
|
<>
|
||||||
subTitle={Locale.Settings.FrequencyPenalty.SubTitle}
|
<ListItem
|
||||||
>
|
title={Locale.Settings.PresencePenalty.Title}
|
||||||
<InputRange
|
subTitle={Locale.Settings.PresencePenalty.SubTitle}
|
||||||
value={props.modelConfig.frequency_penalty?.toFixed(1)}
|
>
|
||||||
min="-2"
|
<InputRange
|
||||||
max="2"
|
value={props.modelConfig.presence_penalty?.toFixed(1)}
|
||||||
step="0.1"
|
min="-2"
|
||||||
onChange={(e) => {
|
max="2"
|
||||||
props.updateConfig(
|
step="0.1"
|
||||||
(config) =>
|
onChange={(e) => {
|
||||||
(config.frequency_penalty =
|
props.updateConfig(
|
||||||
ModalConfigValidator.frequency_penalty(
|
(config) =>
|
||||||
e.currentTarget.valueAsNumber,
|
(config.presence_penalty =
|
||||||
)),
|
ModalConfigValidator.presence_penalty(
|
||||||
);
|
e.currentTarget.valueAsNumber,
|
||||||
}}
|
)),
|
||||||
></InputRange>
|
);
|
||||||
</ListItem>
|
}}
|
||||||
|
></InputRange>
|
||||||
|
</ListItem>
|
||||||
|
|
||||||
<ListItem
|
<ListItem
|
||||||
title={Locale.Settings.InjectSystemPrompts.Title}
|
title={Locale.Settings.FrequencyPenalty.Title}
|
||||||
subTitle={Locale.Settings.InjectSystemPrompts.SubTitle}
|
subTitle={Locale.Settings.FrequencyPenalty.SubTitle}
|
||||||
>
|
>
|
||||||
<input
|
<InputRange
|
||||||
type="checkbox"
|
value={props.modelConfig.frequency_penalty?.toFixed(1)}
|
||||||
checked={props.modelConfig.enableInjectSystemPrompts}
|
min="-2"
|
||||||
onChange={(e) =>
|
max="2"
|
||||||
props.updateConfig(
|
step="0.1"
|
||||||
(config) =>
|
onChange={(e) => {
|
||||||
(config.enableInjectSystemPrompts = e.currentTarget.checked),
|
props.updateConfig(
|
||||||
)
|
(config) =>
|
||||||
}
|
(config.frequency_penalty =
|
||||||
></input>
|
ModalConfigValidator.frequency_penalty(
|
||||||
</ListItem>
|
e.currentTarget.valueAsNumber,
|
||||||
|
)),
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
></InputRange>
|
||||||
|
</ListItem>
|
||||||
|
|
||||||
<ListItem
|
<ListItem
|
||||||
title={Locale.Settings.InputTemplate.Title}
|
title={Locale.Settings.InjectSystemPrompts.Title}
|
||||||
subTitle={Locale.Settings.InputTemplate.SubTitle}
|
subTitle={Locale.Settings.InjectSystemPrompts.SubTitle}
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="checkbox"
|
||||||
value={props.modelConfig.template}
|
checked={props.modelConfig.enableInjectSystemPrompts}
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
props.updateConfig(
|
props.updateConfig(
|
||||||
(config) => (config.template = e.currentTarget.value),
|
(config) =>
|
||||||
)
|
(config.enableInjectSystemPrompts =
|
||||||
}
|
e.currentTarget.checked),
|
||||||
></input>
|
)
|
||||||
</ListItem>
|
}
|
||||||
|
></input>
|
||||||
|
</ListItem>
|
||||||
|
|
||||||
|
<ListItem
|
||||||
|
title={Locale.Settings.InputTemplate.Title}
|
||||||
|
subTitle={Locale.Settings.InputTemplate.SubTitle}
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
value={props.modelConfig.template}
|
||||||
|
onChange={(e) =>
|
||||||
|
props.updateConfig(
|
||||||
|
(config) => (config.template = e.currentTarget.value),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
></input>
|
||||||
|
</ListItem>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
<ListItem
|
<ListItem
|
||||||
title={Locale.Settings.HistoryCount.Title}
|
title={Locale.Settings.HistoryCount.Title}
|
||||||
subTitle={Locale.Settings.HistoryCount.SubTitle}
|
subTitle={Locale.Settings.HistoryCount.SubTitle}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user