This commit is contained in:
Ofer Mendelevitch 2023-12-31 18:59:49 -08:00 committed by Ilango
parent b1b9b9fcff
commit 78bc93cc9e
2 changed files with 8 additions and 6 deletions

View File

@ -249,18 +249,20 @@ class VectaraChain_Chains implements INode {
}))
const mmrRerankerId = 272725718 // Vectara reranker ID for MMR
const mmrEnabled = vectaraFilter?.mmrConfig?.mmrDiversityBias > 0
const data = {
query: [
{
query: input,
start: 0,
numResults: vectaraFilter?.mmrConfig?.mmrK > 0 ? vectaraFilter?.mmrK : topK,
numResults: mmrEnabled ? vectaraFilter?.mmrK : topK,
corpusKey: corpusKeys,
contextConfig: {
sentencesAfter: vectaraFilter?.contextConfig?.sentencesAfter ?? 2,
sentencesBefore: vectaraFilter?.contextConfig?.sentencesBefore ?? 2
},
...(vectaraFilter?.mmrConfig?.mmrK > 0
...(mmrEnabled
? {
rerankingConfig: {
rerankerId: mmrRerankerId,
@ -299,7 +301,7 @@ class VectaraChain_Chains implements INode {
// remove responses that are not in the topK (in case of MMR)
// Note that this does not really matter functionally due to the reorder citations, but it is more efficient
const maxResponses = vectaraFilter?.mmrConfig?.mmrK > 0 ? Math.min(responses.length, topK) : responses.length
const maxResponses = mmrEnabled ? Math.min(responses.length, topK) : responses.length
if (responses.length > maxResponses) {
responses.splice(0, maxResponses)
}

View File

@ -110,8 +110,8 @@ class Vectara_VectorStores implements INode {
{
label: 'MMR diversity bias',
name: 'mmrDiversityBias',
description: 'The diversity bias to use for MMR. Defaults to 0.3',
placeholder: '0.3',
description: 'The diversity bias to use for MMR. Defaults to 0 (MMR disabled)',
placeholder: '0.0',
type: 'number',
additionalParams: true,
optional: true
@ -230,7 +230,7 @@ class Vectara_VectorStores implements INode {
if (sentencesBefore) vectaraContextConfig.sentencesBefore = sentencesBefore
if (sentencesAfter) vectaraContextConfig.sentencesAfter = sentencesAfter
vectaraFilter.contextConfig = vectaraContextConfig
if (mmrK) vectaraFilter.mmrConfig = { mmrK: mmrK, diversityBias: mmrDiversityBias }
vectaraFilter.mmrConfig = { mmrK: mmrK, diversityBias: mmrDiversityBias }
const vectorStore = new VectaraStore(vectaraArgs)