Skip to content

Commit 5b5b2c6

Browse files
committed
fix: chat compare switch model meta
1 parent a006263 commit 5b5b2c6

File tree

3 files changed

+72
-76
lines changed

3 files changed

+72
-76
lines changed

src/pages/playground/components/multiple-chat/active-models.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,16 @@ interface ActiveModelsProps {
1414

1515
const ActiveModels: React.FC<ActiveModelsProps> = (props) => {
1616
const { spans, modelSelections, setModelRefs } = props;
17+
1718
return (
1819
<Row gutter={[16, 0]} style={{ height: '100%' }}>
1920
{modelSelections.map((model, index) => (
2021
<Col
2122
span={spans.span}
2223
key={`${model.value || 'empty'}-${model.uid}`}
2324
style={{
24-
height: spans.count < 4 ? 'calc(100% - 16px)' : 'calc(50% - 16px)'
25+
height: spans.count < 4 ? 'calc(100% - 16px)' : 'calc(50% - 16px)',
26+
overflow: 'hidden'
2527
}}
2628
>
2729
<ModelItem

src/pages/playground/components/multiple-chat/model-item.tsx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ interface ModelItemProps {
4747
}
4848

4949
const ModelItem: React.FC<ModelItemProps> = forwardRef((props, ref) => {
50-
const { modelList, model, instanceId } = props;
50+
const { modelList, ...restProps } = props;
51+
const { model, instanceId } = restProps;
5152
const {
5253
globalParams,
5354
setGlobalParams,
@@ -66,14 +67,20 @@ const ModelItem: React.FC<ModelItemProps> = forwardRef((props, ref) => {
6667
paramsConfig,
6768
initialValues,
6869
parameters
69-
} = useInitLLmMeta(props, {
70-
defaultValues: {
71-
...llmInitialValues,
72-
model: model
70+
} = useInitLLmMeta(
71+
{
72+
...restProps,
73+
modelList: modelFullList
7374
},
74-
defaultParamsConfig: ChatParamsConfig,
75-
metaKeys: LLM_METAKEYS
76-
});
75+
{
76+
defaultValues: {
77+
...llmInitialValues,
78+
model: model
79+
},
80+
defaultParamsConfig: ChatParamsConfig,
81+
metaKeys: LLM_METAKEYS
82+
}
83+
);
7784
const intl = useIntl();
7885
const isApplyToAllModels = useRef(false);
7986
const [systemMessage, setSystemMessage] = useState<string>('');

src/pages/playground/hooks/use-init-meta.ts

Lines changed: 54 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,7 @@ import { generateRandomNumber } from '@/utils';
1212
import { useSearchParams } from '@umijs/max';
1313
import { useMemoizedFn } from 'ahooks';
1414
import _ from 'lodash';
15-
import React, {
16-
useCallback,
17-
useEffect,
18-
useMemo,
19-
useRef,
20-
useState
21-
} from 'react';
15+
import React, { useEffect, useMemo, useRef, useState } from 'react';
2216
import { ParamsSchema } from '../config/types';
2317
import {
2418
IMG_METAKEYS,
@@ -133,37 +127,34 @@ export const useInitLLmMeta = (
133127
return fields?.join(',');
134128
}, [paramsConfig]);
135129

136-
const handleOnModelChange = useCallback(
137-
(val: string) => {
138-
if (!val) return;
139-
const model = modelList.find((item) => item.value === val);
140-
const { form: initialData, meta } = extractLLMMeta(model?.meta);
141-
setModelMeta(meta);
142-
setInitialValues({
143-
...initialData,
144-
model: val
145-
});
146-
setParams({
147-
...initialData,
148-
model: val
149-
});
150-
const config = defaultParamsConfig.map((item) => {
151-
return {
152-
...item,
153-
attrs:
154-
item.name === 'max_tokens'
155-
? { ...item.attrs, max: meta.max_tokens }
156-
: {
157-
...item.attrs
158-
}
159-
};
160-
});
161-
setParamsConfig(config);
162-
},
163-
[modelList, defaultParamsConfig]
164-
);
130+
const handleOnModelChange = useMemoizedFn((val: string) => {
131+
if (!val) return;
132+
const model = modelList.find((item) => item.value === val);
133+
const { form: initialData, meta } = extractLLMMeta(model?.meta);
134+
setModelMeta(meta);
135+
setInitialValues({
136+
...initialData,
137+
model: val
138+
});
139+
setParams({
140+
...initialData,
141+
model: val
142+
});
143+
const config = defaultParamsConfig.map((item) => {
144+
return {
145+
...item,
146+
attrs:
147+
item.name === 'max_tokens'
148+
? { ...item.attrs, max: meta.max_tokens }
149+
: {
150+
...item.attrs
151+
}
152+
};
153+
});
154+
setParamsConfig(config);
155+
});
165156

166-
const handleOnValuesChange = useCallback(
157+
const handleOnValuesChange = useMemoizedFn(
167158
(changeValues: Record<string, any>, allValues: Record<string, any>) => {
168159
if (changeValues.model) {
169160
handleOnModelChange(changeValues.model);
@@ -172,8 +163,7 @@ export const useInitLLmMeta = (
172163
setParams(allValues);
173164
setInitialValues(allValues);
174165
}
175-
},
176-
[handleOnModelChange]
166+
}
177167
);
178168

179169
useEffect(() => {
@@ -405,35 +395,32 @@ export const useInitImageMeta = (
405395
return fields?.join(',');
406396
}, [paramsConfig]);
407397

408-
const handleOnModelChange = useCallback(
409-
(val: string) => {
410-
if (!val) return;
411-
const model = modelList.find((item) => item.value === val);
412-
const { form: initialData, sizeOptions } = extractIMGMeta(model?.meta);
413-
const newParamsConfig = generateImageParamsConfig(model, sizeOptions);
398+
const handleOnModelChange = useMemoizedFn((val: string) => {
399+
if (!val) return;
400+
const model = modelList.find((item) => item.value === val);
401+
const { form: initialData, sizeOptions } = extractIMGMeta(model?.meta);
402+
const newParamsConfig = generateImageParamsConfig(model, sizeOptions);
414403

415-
if (!isOpenaiCompatible) {
416-
setParamsConfig([...newParamsConfig, ...ImageAdvancedParamsConfig]);
417-
} else {
418-
setParamsConfig(newParamsConfig);
419-
}
420-
setBasicParamsConfig(newParamsConfig);
421-
setImageSizeOptions(sizeOptions);
422-
setModelMeta(model?.meta || {});
423-
setInitialValues({
424-
...initialData,
425-
seed: parameters.seed,
426-
model: val
427-
});
428-
setParams({
429-
...initialData,
430-
seed: parameters.seed,
431-
model: val
432-
});
433-
updateCacheFormData(initialData);
434-
},
435-
[modelList, isOpenaiCompatible]
436-
);
404+
if (!isOpenaiCompatible) {
405+
setParamsConfig([...newParamsConfig, ...ImageAdvancedParamsConfig]);
406+
} else {
407+
setParamsConfig(newParamsConfig);
408+
}
409+
setBasicParamsConfig(newParamsConfig);
410+
setImageSizeOptions(sizeOptions);
411+
setModelMeta(model?.meta || {});
412+
setInitialValues({
413+
...initialData,
414+
seed: parameters.seed,
415+
model: val
416+
});
417+
setParams({
418+
...initialData,
419+
seed: parameters.seed,
420+
model: val
421+
});
422+
updateCacheFormData(initialData);
423+
});
437424

438425
const handleOnValuesChange = useMemoizedFn(
439426
(changeValues: Record<string, any>, allValues: Record<string, any>) => {

0 commit comments

Comments
 (0)