mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? Feat: Synchronize the data of the tavily form to the canvas node #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
33 lines
976 B
TypeScript
33 lines
976 B
TypeScript
import { variableEnabledFieldMap } from '@/constants/chat';
|
|
import omit from 'lodash/omit';
|
|
|
|
// chat model setting and generate operator
|
|
export const excludeUnEnabledVariables = (
|
|
values: any = {},
|
|
prefix = 'llm_setting.',
|
|
) => {
|
|
const unEnabledFields: Array<keyof typeof variableEnabledFieldMap> =
|
|
Object.keys(variableEnabledFieldMap).filter((key) => !values[key]) as Array<
|
|
keyof typeof variableEnabledFieldMap
|
|
>;
|
|
|
|
return unEnabledFields.map(
|
|
(key) => `${prefix}${variableEnabledFieldMap[key]}`,
|
|
);
|
|
};
|
|
|
|
// chat model setting and generate operator
|
|
export const removeUselessFieldsFromValues = (values: any, prefix?: string) => {
|
|
const nextValues: any = omit(values, [
|
|
...Object.keys(variableEnabledFieldMap),
|
|
'parameter',
|
|
...excludeUnEnabledVariables(values, prefix),
|
|
]);
|
|
|
|
return nextValues;
|
|
};
|
|
|
|
export function buildOptions(data: Record<string, any>) {
|
|
return Object.values(data).map((val) => ({ label: val, value: val }));
|
|
}
|