Merge pull request #1620 from FlowiseAI/bugfix/Qdrant-Filter

Bugfix/Qdrant Filter
This commit is contained in:
Henry Heng
2024-01-26 21:50:14 +00:00
committed by GitHub
2 changed files with 9 additions and 2 deletions
@@ -1,5 +1,6 @@
import { flatten } from 'lodash' import { flatten } from 'lodash'
import { QdrantClient } from '@qdrant/js-client-rest' import { QdrantClient } from '@qdrant/js-client-rest'
import type { Schemas as QdrantSchemas } from '@qdrant/js-client-rest'
import { VectorStoreRetrieverInput } from 'langchain/vectorstores/base' import { VectorStoreRetrieverInput } from 'langchain/vectorstores/base'
import { Document } from 'langchain/document' import { Document } from 'langchain/document'
import { QdrantVectorStore, QdrantLibArgs } from 'langchain/vectorstores/qdrant' import { QdrantVectorStore, QdrantLibArgs } from 'langchain/vectorstores/qdrant'
@@ -8,6 +9,12 @@ import { ICommonObject, INode, INodeData, INodeOutputsValue, INodeParams } from
import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils'
type RetrieverConfig = Partial<VectorStoreRetrieverInput<QdrantVectorStore>> type RetrieverConfig = Partial<VectorStoreRetrieverInput<QdrantVectorStore>>
type QdrantSearchResponse = QdrantSchemas['ScoredPoint'] & {
payload: {
metadata: object
content: string
}
}
class Qdrant_VectorStores implements INode { class Qdrant_VectorStores implements INode {
label: string label: string
@@ -194,7 +201,7 @@ class Qdrant_VectorStores implements INode {
const qdrantVectorDimension = nodeData.inputs?.qdrantVectorDimension const qdrantVectorDimension = nodeData.inputs?.qdrantVectorDimension
const output = nodeData.outputs?.output as string const output = nodeData.outputs?.output as string
const topK = nodeData.inputs?.topK as string const topK = nodeData.inputs?.topK as string
let queryFilter = nodeData.inputs?.queryFilter let queryFilter = nodeData.inputs?.qdrantFilter
const k = topK ? parseFloat(topK) : 4 const k = topK ? parseFloat(topK) : 4
@@ -135,7 +135,7 @@ class Qdrant_Existing_VectorStores implements INode {
const qdrantVectorDimension = nodeData.inputs?.qdrantVectorDimension const qdrantVectorDimension = nodeData.inputs?.qdrantVectorDimension
const output = nodeData.outputs?.output as string const output = nodeData.outputs?.output as string
const topK = nodeData.inputs?.topK as string const topK = nodeData.inputs?.topK as string
let queryFilter = nodeData.inputs?.queryFilter let queryFilter = nodeData.inputs?.qdrantFilter
const k = topK ? parseFloat(topK) : 4 const k = topK ? parseFloat(topK) : 4