diff --git a/services/libs/common_services/src/services/llm.service.ts b/services/libs/common_services/src/services/llm.service.ts index 3c82901b09..5aeda1e315 100644 --- a/services/libs/common_services/src/services/llm.service.ts +++ b/services/libs/common_services/src/services/llm.service.ts @@ -36,6 +36,10 @@ export class LlmService extends LoggerBase { ) { super(parentLog) + if (!bedrockCredentials.accessKeyId || !bedrockCredentials.secretAccessKey) { + this.log.warn('LLM usage is not configured properly. Missing Bedrock credentials!') + } + this.qx = qx this.clientRegionMap = new Map() } @@ -43,6 +47,11 @@ export class LlmService extends LoggerBase { private client(settings: ILlmSettings): BedrockRuntimeClient { const region = LLM_MODEL_REGION_MAP[settings.modelId] + if (!this.bedrockCredentials.accessKeyId || !this.bedrockCredentials.secretAccessKey) { + this.log.warn('LLM usage is not configured properly. Missing Bedrock credentials!') + return null + } + let client: BedrockRuntimeClient if (this.clientRegionMap.has(region)) { client = this.clientRegionMap.get(region) @@ -67,7 +76,11 @@ export class LlmService extends LoggerBase { metadata?: Record, saveHistory = true, ): Promise { - if (!IS_LLM_ENABLED) { + if ( + !IS_LLM_ENABLED || + !this.bedrockCredentials.accessKeyId || + !this.bedrockCredentials.secretAccessKey + ) { this.log.error('LLM usage is disabled. Check CROWD_LLM_ENABLED env variable!') return } @@ -158,6 +171,12 @@ export class LlmService extends LoggerBase { ): Promise> { const response = await this.queryLlm(LlmQueryType.MEMBER_ENRICHMENT, prompt, memberId) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -175,6 +194,12 @@ export class LlmService extends LoggerBase { memberId, ) + if (!response) { + return { + result: null, + } as ILlmResult<{ profileIndex: number }> + } + const result = JSON.parse(response.answer) return { @@ -193,6 +218,12 @@ export class LlmService extends LoggerBase { memberId, ) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -211,6 +242,12 @@ export class LlmService extends LoggerBase { memberId, ) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -225,6 +262,12 @@ export class LlmService extends LoggerBase { prompt, ) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -236,6 +279,12 @@ export class LlmService extends LoggerBase { public async findRepoCategories(prompt: string): Promise> { const response = await this.queryLlm(LlmQueryType.REPO_CATEGORIES, prompt) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -247,6 +296,12 @@ export class LlmService extends LoggerBase { public async findRepoCollections(prompt: string): Promise> { const response = await this.queryLlm(LlmQueryType.REPO_COLLECTIONS, prompt) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return {