From df83e321070aff4563a0af798ba3ef8671e09210 Mon Sep 17 00:00:00 2001 From: Alex Yang <himself65@outlook.com> Date: Mon, 30 Sep 2024 16:02:48 -0700 Subject: [PATCH] fix: bypass service context embed model (#1280) --- packages/llamaindex/src/indices/vectorStore/index.ts | 5 ++++- packages/llamaindex/src/storage/StorageContext.ts | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/llamaindex/src/indices/vectorStore/index.ts b/packages/llamaindex/src/indices/vectorStore/index.ts index 8b88bbe41..d0bb647ef 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 a3f8fdf53..5b01c2890 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( -- GitLab