From 86e09d726ab54715f3b91207e2f16bc8ebe25a98 Mon Sep 17 00:00:00 2001 From: Pooria Arab <42897904+pooriaarab@users.noreply.github.com> Date: Tue, 5 Sep 2023 11:23:08 -0700 Subject: [PATCH] Update Chroma_Existing.ts to add metadatafilter --- .../nodes/vectorstores/Chroma/Chroma_Existing.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts b/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts index f55faa40..1d360182 100644 --- a/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts +++ b/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts @@ -51,6 +51,13 @@ class Chroma_Existing_VectorStores implements INode { type: 'string', optional: true }, + { + label: 'Chroma Metadata Filter', + name: 'chromaMetadataFilter', + type: 'json', + optional: true, + additionalParams: true + }, { label: 'Top K', name: 'topK', @@ -86,13 +93,18 @@ class Chroma_Existing_VectorStores implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const chromaApiKey = getCredentialParam('chromaApiKey', credentialData, nodeData) + const chromaMetadataFilter = nodeData.inputs?.chromaMetadataFilter; + const metadataFilter = chromaMetadataFilter ? JSON.parse(chromaMetadataFilter) : {}; + const obj: { collectionName: string url?: string chromaApiKey?: string + metadataFilter?: any } = { collectionName } if (chromaURL) obj.url = chromaURL if (chromaApiKey) obj.chromaApiKey = chromaApiKey + if (chromaMetadataFilter) obj.metadataFilter = metadataFilter const vectorStore = await ChromaExtended.fromExistingCollection(embeddings, obj)