mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-10 12:06:38 +08:00
fix: 修复没有正确处理选择模型时分割 name/provider 的错误
This commit is contained in:
parent
4d8047d0d9
commit
e42cdd04cb
@ -6,12 +6,16 @@ import { InputRange } from "./input-range";
|
|||||||
import { ListItem, Select } from "./ui-lib";
|
import { ListItem, Select } from "./ui-lib";
|
||||||
import { useAllModels } from "../utils/hooks";
|
import { useAllModels } from "../utils/hooks";
|
||||||
|
|
||||||
|
function getModelName(model: { model: string; providerName: string }) {
|
||||||
|
return `${model.model}----${model.providerName}`;
|
||||||
|
}
|
||||||
|
|
||||||
export function ModelConfigList(props: {
|
export function ModelConfigList(props: {
|
||||||
modelConfig: ModelConfig;
|
modelConfig: ModelConfig;
|
||||||
updateConfig: (updater: (config: ModelConfig) => void) => void;
|
updateConfig: (updater: (config: ModelConfig) => void) => void;
|
||||||
}) {
|
}) {
|
||||||
const allModels = useAllModels();
|
const allModels = useAllModels();
|
||||||
const value = `${props.modelConfig.model}@${props.modelConfig?.providerName}`;
|
const value = getModelName(props.modelConfig);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@ -20,7 +24,7 @@ export function ModelConfigList(props: {
|
|||||||
aria-label={Locale.Settings.Model}
|
aria-label={Locale.Settings.Model}
|
||||||
value={value}
|
value={value}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
const [model, providerName] = e.currentTarget.value.split("@");
|
const [model, providerName] = e.currentTarget.value.split("----");
|
||||||
props.updateConfig((config) => {
|
props.updateConfig((config) => {
|
||||||
config.model = ModalConfigValidator.model(model);
|
config.model = ModalConfigValidator.model(model);
|
||||||
config.providerName = providerName as ServiceProvider;
|
config.providerName = providerName as ServiceProvider;
|
||||||
@ -30,7 +34,13 @@ export function ModelConfigList(props: {
|
|||||||
{allModels
|
{allModels
|
||||||
.filter((v) => v.available)
|
.filter((v) => v.available)
|
||||||
.map((v, i) => (
|
.map((v, i) => (
|
||||||
<option value={`${v.name}@${v.provider?.providerName}`} key={i}>
|
<option
|
||||||
|
value={getModelName({
|
||||||
|
model: v.name,
|
||||||
|
providerName: v.provider?.providerName!,
|
||||||
|
})}
|
||||||
|
key={i}
|
||||||
|
>
|
||||||
{v.displayName}({v.provider?.providerName})
|
{v.displayName}({v.provider?.providerName})
|
||||||
</option>
|
</option>
|
||||||
))}
|
))}
|
||||||
|
Loading…
Reference in New Issue
Block a user