diff --git a/server/utils/helpers/chat/index.js b/server/utils/helpers/chat/index.js index 6f565efe14e5a67b55413c6e02a85df3ece2231f..1ca0c65c2aa4953c2b70bb8fbe751ad74912d02f 100644 --- a/server/utils/helpers/chat/index.js +++ b/server/utils/helpers/chat/index.js @@ -371,7 +371,7 @@ function cannonball({ * * @param {Object} config - params to call * @param {object} config.nDocs = fill size of the window - * @param {object} config.searchResults = vector similarityResponse results for .sources + * @param {object} config.searchResults = vector `similarityResponse` results for .sources * @param {object[]} config.history - rawHistory of chat containing sources * @param {string[]} config.filterIdentifiers - Pinned document identifiers to prevent duplicate context * @returns {{ diff --git a/server/utils/vectorDbProviders/astra/index.js b/server/utils/vectorDbProviders/astra/index.js index d292973efa9b43d98b23e81d8cc85a13056ce355..20a91a3b3df3de454c46a67fc128e17097b93b9a 100644 --- a/server/utils/vectorDbProviders/astra/index.js +++ b/server/utils/vectorDbProviders/astra/index.js @@ -269,14 +269,14 @@ const AstraDB = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { ...metadata, text: contextTexts[i] }; @@ -287,14 +287,14 @@ const AstraDB = { message: false, }; }, - similarityResponse: async function ( + similarityResponse: async function ({ client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const result = { contextTexts: [], sourceDocuments: [], diff --git a/server/utils/vectorDbProviders/chroma/index.js b/server/utils/vectorDbProviders/chroma/index.js index 262ecd2578652f3857360338b42033825197942f..f888d99ffa125baf0f6bc9ffbd8cb892b20df44c 100644 --- a/server/utils/vectorDbProviders/chroma/index.js +++ b/server/utils/vectorDbProviders/chroma/index.js @@ -108,14 +108,14 @@ const Chroma = { const namespace = await this.namespace(client, this.normalize(_namespace)); return namespace?.vectorCount || 0; }, - similarityResponse: async function ( + similarityResponse: async function ({ client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const collection = await client.getCollection({ name: this.normalize(namespace), }); @@ -356,14 +356,14 @@ const Chroma = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { metadata: { ...metadata, text: contextTexts[i] } }; diff --git a/server/utils/vectorDbProviders/lance/index.js b/server/utils/vectorDbProviders/lance/index.js index e4eb87e95657556ed758cc37d01c7143a9831c74..78a32b80c780eb2fe55c2884f60386b84cca0214 100644 --- a/server/utils/vectorDbProviders/lance/index.js +++ b/server/utils/vectorDbProviders/lance/index.js @@ -59,22 +59,23 @@ const LanceDb = { }, /** * Performs a SimilaritySearch on a give LanceDB namespace. - * @param {LanceClient} client - * @param {string} namespace - * @param {number[]} queryVector - * @param {number} similarityThreshold - * @param {number} topN - * @param {string[]} filterIdentifiers + * @param {Object} params + * @param {LanceClient} params.client + * @param {string} params.namespace + * @param {number[]} params.queryVector + * @param {number} params.similarityThreshold + * @param {number} params.topN + * @param {string[]} params.filterIdentifiers * @returns */ - similarityResponse: async function ( + similarityResponse: async function ({ client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const collection = await client.openTable(namespace); const result = { contextTexts: [], @@ -313,14 +314,14 @@ const LanceDb = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { metadata: { ...metadata, text: contextTexts[i] } }; diff --git a/server/utils/vectorDbProviders/milvus/index.js b/server/utils/vectorDbProviders/milvus/index.js index 5a303942f8bcbed07e5d4c17ff43190418169ed7..f644f094efaf45e8d4baac4c11d3a7e76daa18f9 100644 --- a/server/utils/vectorDbProviders/milvus/index.js +++ b/server/utils/vectorDbProviders/milvus/index.js @@ -312,14 +312,14 @@ const Milvus = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { ...metadata, text: contextTexts[i] }; @@ -330,14 +330,14 @@ const Milvus = { message: false, }; }, - similarityResponse: async function ( + similarityResponse: async function ({ client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const result = { contextTexts: [], sourceDocuments: [], diff --git a/server/utils/vectorDbProviders/pinecone/index.js b/server/utils/vectorDbProviders/pinecone/index.js index a86c37f676cc89152a2b569ef13767adb6acfeee..ad1a53ab7633b059d06874bc9af812ef398c2db5 100644 --- a/server/utils/vectorDbProviders/pinecone/index.js +++ b/server/utils/vectorDbProviders/pinecone/index.js @@ -36,21 +36,21 @@ const PineconeDB = { const namespace = await this.namespace(pineconeIndex, _namespace); return namespace?.recordCount || 0; }, - similarityResponse: async function ( - index, + similarityResponse: async function ({ + client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const result = { contextTexts: [], sourceDocuments: [], scores: [], }; - const pineconeNamespace = index.namespace(namespace); + const pineconeNamespace = client.namespace(namespace); const response = await pineconeNamespace.query({ vector: queryVector, topK: topN, @@ -254,14 +254,14 @@ const PineconeDB = { ); const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( - pineconeIndex, + const { contextTexts, sourceDocuments } = await this.similarityResponse({ + client: pineconeIndex, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { ...metadata, text: contextTexts[i] }; diff --git a/server/utils/vectorDbProviders/qdrant/index.js b/server/utils/vectorDbProviders/qdrant/index.js index 0773563678ea833d4f22d077bf4d09f5c2b58351..f8fc154aafbb0062b85f0094d0ab3f6e69a8842f 100644 --- a/server/utils/vectorDbProviders/qdrant/index.js +++ b/server/utils/vectorDbProviders/qdrant/index.js @@ -47,15 +47,14 @@ const QDrant = { const namespace = await this.namespace(client, _namespace); return namespace?.vectorCount || 0; }, - similarityResponse: async function ( - _client, + similarityResponse: async function ({ + client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { - const { client } = await this.connect(); + filterIdentifiers = [], + }) { const result = { contextTexts: [], sourceDocuments: [], @@ -338,14 +337,14 @@ const QDrant = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { ...metadata, text: contextTexts[i] }; diff --git a/server/utils/vectorDbProviders/weaviate/index.js b/server/utils/vectorDbProviders/weaviate/index.js index e98296a8f44b72a50ae6f0eaac5d1389a42ab1c7..977dbd52971b898de002d9d606415dde62cd241e 100644 --- a/server/utils/vectorDbProviders/weaviate/index.js +++ b/server/utils/vectorDbProviders/weaviate/index.js @@ -74,14 +74,14 @@ const Weaviate = { return 0; } }, - similarityResponse: async function ( + similarityResponse: async function ({ client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const result = { contextTexts: [], sourceDocuments: [], @@ -381,14 +381,14 @@ const Weaviate = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { ...metadata, text: contextTexts[i] }; diff --git a/server/utils/vectorDbProviders/zilliz/index.js b/server/utils/vectorDbProviders/zilliz/index.js index be138318c6e59cf38b8e9d05d80a9520ee69f1a3..0bb3a6c81e31892bf0d71b732ef57552a1f5eba0 100644 --- a/server/utils/vectorDbProviders/zilliz/index.js +++ b/server/utils/vectorDbProviders/zilliz/index.js @@ -305,14 +305,14 @@ const Zilliz = { } const queryVector = await LLMConnector.embedTextInput(input); - const { contextTexts, sourceDocuments } = await this.similarityResponse( + const { contextTexts, sourceDocuments } = await this.similarityResponse({ client, namespace, queryVector, similarityThreshold, topN, - filterIdentifiers - ); + filterIdentifiers, + }); const sources = sourceDocuments.map((metadata, i) => { return { ...metadata, text: contextTexts[i] }; @@ -323,14 +323,14 @@ const Zilliz = { message: false, }; }, - similarityResponse: async function ( + similarityResponse: async function ({ client, namespace, queryVector, similarityThreshold = 0.25, topN = 4, - filterIdentifiers = [] - ) { + filterIdentifiers = [], + }) { const result = { contextTexts: [], sourceDocuments: [],