From be3ae0eda964725995f11a2a51dd9482f7058fef Mon Sep 17 00:00:00 2001 From: balibabu Date: Mon, 3 Nov 2025 19:59:45 +0800 Subject: [PATCH] Feat: Add variables to the metadata filtering function of the knowledge retrieval component. #10861 (#10974) ### What problem does this PR solve? Feat: Add variables to the metadata filtering function of the knowledge retrieval component. #10861 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- web/src/components/metadata-filter/index.tsx | 7 ++++++- .../metadata-filter-conditions.tsx | 16 +++++++++++++++- web/src/pages/agent/form/retrieval-form/next.tsx | 2 +- .../form/tool-form/retrieval-form/index.tsx | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/web/src/components/metadata-filter/index.tsx b/web/src/components/metadata-filter/index.tsx index cd0ee514e..8dbdce42f 100644 --- a/web/src/components/metadata-filter/index.tsx +++ b/web/src/components/metadata-filter/index.tsx @@ -8,6 +8,7 @@ import { MetadataFilterConditions } from './metadata-filter-conditions'; type MetadataFilterProps = { prefix?: string; + canReference?: boolean; }; export const MetadataFilterSchema = { @@ -27,7 +28,10 @@ export const MetadataFilterSchema = { .optional(), }; -export function MetadataFilter({ prefix = '' }: MetadataFilterProps) { +export function MetadataFilter({ + prefix = '', + canReference, +}: MetadataFilterProps) { const { t } = useTranslate('chat'); const form = useFormContext(); @@ -68,6 +72,7 @@ export function MetadataFilter({ prefix = '' }: MetadataFilterProps) { )} diff --git a/web/src/components/metadata-filter/metadata-filter-conditions.tsx b/web/src/components/metadata-filter/metadata-filter-conditions.tsx index 57e344c36..bc0c028ad 100644 --- a/web/src/components/metadata-filter/metadata-filter-conditions.tsx +++ b/web/src/components/metadata-filter/metadata-filter-conditions.tsx @@ -17,6 +17,7 @@ import { Input } from '@/components/ui/input'; import { Separator } from '@/components/ui/separator'; import { useFetchKnowledgeMetadata } from '@/hooks/use-knowledge-request'; import { SwitchOperatorOptions } from '@/pages/agent/constant'; +import { PromptEditor } from '@/pages/agent/form/components/prompt-editor'; import { useBuildSwitchOperatorOptions } from '@/pages/agent/form/switch-form'; import { Plus, X } from 'lucide-react'; import { useCallback } from 'react'; @@ -26,9 +27,11 @@ import { useTranslation } from 'react-i18next'; export function MetadataFilterConditions({ kbIds, prefix = '', + canReference, }: { kbIds: string[]; prefix?: string; + canReference?: boolean; }) { const { t } = useTranslation(); const form = useFormContext(); @@ -117,7 +120,18 @@ export function MetadataFilterConditions({ render={({ field }) => ( - + {canReference ? ( + + ) : ( + + )} diff --git a/web/src/pages/agent/form/retrieval-form/next.tsx b/web/src/pages/agent/form/retrieval-form/next.tsx index 18ccb7ff2..848c94967 100644 --- a/web/src/pages/agent/form/retrieval-form/next.tsx +++ b/web/src/pages/agent/form/retrieval-form/next.tsx @@ -123,7 +123,7 @@ function RetrievalForm({ node }: INextOperatorForm) { > - + diff --git a/web/src/pages/agent/form/tool-form/retrieval-form/index.tsx b/web/src/pages/agent/form/tool-form/retrieval-form/index.tsx index 9ac763b59..5ee53179d 100644 --- a/web/src/pages/agent/form/tool-form/retrieval-form/index.tsx +++ b/web/src/pages/agent/form/tool-form/retrieval-form/index.tsx @@ -52,7 +52,7 @@ const RetrievalForm = () => { > - +