diff --git a/packages/llamaindex/src/indices/vectorStore/index.ts b/packages/llamaindex/src/indices/vectorStore/index.ts index 8b88bbe4115e56cce918aaf1be46b627ca682ad3..d0bb647ef17867d435c8171c479d85e50bf2b8c0 100644 --- a/packages/llamaindex/src/indices/vectorStore/index.ts +++ b/packages/llamaindex/src/indices/vectorStore/index.ts @@ -203,7 +203,10 @@ export class VectorStoreIndex extends BaseIndex<IndexDict> { } = {}, ): Promise<VectorStoreIndex> { args.storageContext = - args.storageContext ?? (await storageContextFromDefaults({})); + args.storageContext ?? + (await storageContextFromDefaults({ + serviceContext: args.serviceContext, + })); args.vectorStores = args.vectorStores ?? args.storageContext.vectorStores; args.docStoreStrategy = args.docStoreStrategy ?? diff --git a/packages/llamaindex/src/storage/StorageContext.ts b/packages/llamaindex/src/storage/StorageContext.ts index a3f8fdf53d3753e5e447a5be4d6c7a196f0d60f4..5b01c28903e1712e559916c62127fdc6979f6183 100644 --- a/packages/llamaindex/src/storage/StorageContext.ts +++ b/packages/llamaindex/src/storage/StorageContext.ts @@ -5,6 +5,7 @@ import { import { ModalityType, ObjectType } from "@llamaindex/core/schema"; import { path } from "@llamaindex/env"; import { getImageEmbedModel } from "../internal/settings/image-embed-model.js"; +import type { ServiceContext } from "../ServiceContext.js"; import { SimpleVectorStore } from "../vector-store/SimpleVectorStore.js"; import type { VectorStore, VectorStoreByType } from "../vector-store/types.js"; import { SimpleDocumentStore } from "./docStore/SimpleDocumentStore.js"; @@ -25,6 +26,10 @@ type BuilderParams = { vectorStores: VectorStoreByType; storeImages: boolean; persistDir: string; + /** + * @deprecated Please use `Settings` instead + */ + serviceContext?: ServiceContext | undefined; }; export async function storageContextFromDefaults({ @@ -34,6 +39,7 @@ export async function storageContextFromDefaults({ vectorStores, storeImages, persistDir, + serviceContext, }: Partial<BuilderParams>): Promise<StorageContext> { vectorStores = vectorStores ?? {}; if (!persistDir) { @@ -48,6 +54,7 @@ export async function storageContextFromDefaults({ }); } } else { + const embedModel = serviceContext?.embedModel; docStore = docStore || (await SimpleDocumentStore.fromPersistDir(persistDir, DEFAULT_NAMESPACE)); @@ -55,7 +62,8 @@ export async function storageContextFromDefaults({ indexStore || (await SimpleIndexStore.fromPersistDir(persistDir)); if (!(ObjectType.TEXT in vectorStores)) { vectorStores[ModalityType.TEXT] = - vectorStore ?? (await SimpleVectorStore.fromPersistDir(persistDir)); + vectorStore ?? + (await SimpleVectorStore.fromPersistDir(persistDir, embedModel)); } if (storeImages && !(ObjectType.IMAGE in vectorStores)) { vectorStores[ModalityType.IMAGE] = await SimpleVectorStore.fromPersistDir(