n8n-nodes-databricks
Version:
Databricks node for n8n
34 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleLoadOperation = handleLoadOperation;
const helpers_1 = require("../../../../../utils/helpers");
async function handleLoadOperation(context, args, embeddings, itemIndex) {
var _a;
const filter = (0, helpers_1.getMetadataFiltersValues)(context, itemIndex);
const vectorStore = await args.getVectorStoreClient(context, undefined, embeddings, itemIndex);
try {
const prompt = context.getNodeParameter('prompt', itemIndex);
const topK = context.getNodeParameter('topK', itemIndex, 4);
const includeDocumentMetadata = context.getNodeParameter('includeDocumentMetadata', itemIndex, true);
const embeddedPrompt = await embeddings.embedQuery(prompt);
const docs = await vectorStore.similaritySearchVectorWithScore(embeddedPrompt, topK, filter);
const serializedDocs = docs.map(([doc, score]) => {
const document = {
pageContent: doc.pageContent,
...(includeDocumentMetadata ? { metadata: doc.metadata } : {}),
};
return {
json: { document, score },
pairedItem: {
item: itemIndex,
},
};
});
(0, helpers_1.logAiEvent)(context, 'ai-vector-store-searched', { query: prompt });
return serializedDocs;
}
finally {
(_a = args.releaseVectorStoreClient) === null || _a === void 0 ? void 0 : _a.call(args, vectorStore);
}
}
//# sourceMappingURL=loadOperation.js.map