diff --git a/packages/core/src/ServiceContext.ts b/packages/core/src/ServiceContext.ts index 68b7c1fb293bbdcfafd9038167ea98ee29e513b4..d521dd093a8769240ec9c8c74bbf19ab016cdb18 100644 --- a/packages/core/src/ServiceContext.ts +++ b/packages/core/src/ServiceContext.ts @@ -31,3 +31,20 @@ export function serviceContextFromDefaults(options: ServiceContextOptions) { return serviceContext; } + +export function serviceContextFromServiceContext( + serviceContext: ServiceContext, + options: ServiceContextOptions +) { + const newServiceContext = { ...serviceContext }; + if (options.llmPredictor) { + newServiceContext.llmPredictor = options.llmPredictor; + } + if (options.embedModel) { + newServiceContext.embedModel = options.embedModel; + } + if (options.nodeParser) { + newServiceContext.nodeParser = options.nodeParser; + } + return newServiceContext; +}