Sfoglia il codice sorgente

feat: support select-type variables in Metadata Filtering (#17440 (#17445)

tags/1.2.0
Marcelo Díaz 6 mesi fa
parent
commit
d796fcc0e7
Nessun account collegato all'indirizzo email del committer

+ 1
- 1
web/app/components/app/configuration/dataset-config/index.tsx Vedi File

@@ -270,7 +270,7 @@ const DatasetConfig: FC = () => {
handleMetadataModelChange={handleMetadataModelChange}
handleMetadataCompletionParamsChange={handleMetadataCompletionParamsChange}
isCommonVariable
availableCommonStringVars={promptVariablesToSelect.filter(item => item.type === MetadataFilteringVariableType.string)}
availableCommonStringVars={promptVariablesToSelect.filter(item => item.type === MetadataFilteringVariableType.string || item.type === MetadataFilteringVariableType.select)}
availableCommonNumberVars={promptVariablesToSelect.filter(item => item.type === MetadataFilteringVariableType.number)}
/>
</div>

+ 6
- 2
web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/condition-list/condition-item.tsx Vedi File

@@ -77,7 +77,9 @@ const ConditionItem = ({

const valueAndValueMethod = useMemo(() => {
if (
(currentMetadata?.type === MetadataFilteringVariableType.string || currentMetadata?.type === MetadataFilteringVariableType.number)
(currentMetadata?.type === MetadataFilteringVariableType.string
|| currentMetadata?.type === MetadataFilteringVariableType.number
|| currentMetadata?.type === MetadataFilteringVariableType.select)
&& typeof condition.value === 'string'
) {
const regex = isCommonVariable ? COMMON_VARIABLE_REGEX : VARIABLE_REGEX
@@ -140,7 +142,9 @@ const ConditionItem = ({
</div>
<div className='border-t border-t-divider-subtle'>
{
!comparisonOperatorNotRequireValue(condition.comparison_operator) && currentMetadata?.type === MetadataFilteringVariableType.string && (
!comparisonOperatorNotRequireValue(condition.comparison_operator)
&& (currentMetadata?.type === MetadataFilteringVariableType.string
|| currentMetadata?.type === MetadataFilteringVariableType.select) && (
<ConditionString
valueMethod={localValueMethod}
onValueMethodChange={handleValueMethodChange}

+ 1
- 0
web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/condition-list/utils.ts Vedi File

@@ -22,6 +22,7 @@ export const isComparisonOperatorNeedTranslate = (operator?: ComparisonOperator)
export const getOperators = (type?: MetadataFilteringVariableType) => {
switch (type) {
case MetadataFilteringVariableType.string:
case MetadataFilteringVariableType.select:
return [
ComparisonOperator.is,
ComparisonOperator.isNot,

+ 1
- 1
web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/metadata-icon.tsx Vedi File

@@ -18,7 +18,7 @@ const MetadataIcon = ({
return (
<>
{
type === MetadataFilteringVariableType.string && (
(type === MetadataFilteringVariableType.string || type === MetadataFilteringVariableType.select) && (
<RiTextSnippet className={cn('h-3.5 w-3.5', className)} />
)
}

+ 1
- 0
web/app/components/workflow/nodes/knowledge-retrieval/types.ts Vedi File

@@ -80,6 +80,7 @@ export enum MetadataFilteringVariableType {
string = 'string',
number = 'number',
time = 'time',
select = 'select',
}

export type MetadataFilteringCondition = {

Loading…
Annulla
Salva