From a07a94108d6867ce10d1f4e04e63a001252f9452 Mon Sep 17 00:00:00 2001 From: Yi Ding <yi.s.ding@gmail.com> Date: Fri, 21 Jul 2023 07:49:00 -0700 Subject: [PATCH] more persistence --- .../src/indices/vectorStore/VectorStoreIndex.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/core/src/indices/vectorStore/VectorStoreIndex.ts b/packages/core/src/indices/vectorStore/VectorStoreIndex.ts index d3153b358..61479f669 100644 --- a/packages/core/src/indices/vectorStore/VectorStoreIndex.ts +++ b/packages/core/src/indices/vectorStore/VectorStoreIndex.ts @@ -23,6 +23,7 @@ import { } from "../BaseIndex"; import { BaseRetriever } from "../../Retriever"; import { ResponseSynthesizer } from "../../ResponseSynthesizer"; +import { BaseDocumentStore } from "../../storage/docStore/types"; /** * The VectorStoreIndex, an index that stores the nodes only according to their vector embedings. @@ -61,7 +62,8 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> { indexStruct = await VectorStoreIndex.buildIndexFromNodes( options.nodes, serviceContext, - vectorStore + vectorStore, + docStore ); } @@ -112,7 +114,8 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> { static async buildIndexFromNodes( nodes: BaseNode[], serviceContext: ServiceContext, - vectorStore: VectorStore + vectorStore: VectorStore, + docStore: BaseDocumentStore ): Promise<IndexDict> { const embeddingResults = await this.getNodeEmbeddingResults( nodes, @@ -121,6 +124,13 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> { vectorStore.add(embeddingResults); + if (!vectorStore.storesText) { + await docStore.addDocuments( + embeddingResults.map((result) => result.node), + true + ); + } + const indexDict = new IndexDict(); for (const { node } of embeddingResults) { indexDict.addNode(node); -- GitLab