From feb8dbe98d38969da3ba3a40ebc8317eaae3acb3 Mon Sep 17 00:00:00 2001 From: Umberto Sgueglia Date: Tue, 7 Oct 2025 10:12:34 +0200 Subject: [PATCH 1/4] fix: return null when llm return null --- .../src/services/llm.service.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/services/libs/common_services/src/services/llm.service.ts b/services/libs/common_services/src/services/llm.service.ts index 3c82901b09..fe9da08dac 100644 --- a/services/libs/common_services/src/services/llm.service.ts +++ b/services/libs/common_services/src/services/llm.service.ts @@ -225,6 +225,12 @@ export class LlmService extends LoggerBase { prompt, ) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -236,6 +242,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 +259,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 { From b8198e1fa59bf2369882ff5fe047b00337d1774f Mon Sep 17 00:00:00 2001 From: Umberto Sgueglia Date: Tue, 7 Oct 2025 10:27:12 +0200 Subject: [PATCH 2/4] fix: add check for all the queryllm --- .../src/services/llm.service.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/services/libs/common_services/src/services/llm.service.ts b/services/libs/common_services/src/services/llm.service.ts index fe9da08dac..29b5da992f 100644 --- a/services/libs/common_services/src/services/llm.service.ts +++ b/services/libs/common_services/src/services/llm.service.ts @@ -158,6 +158,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 +181,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 +205,12 @@ export class LlmService extends LoggerBase { memberId, ) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { @@ -211,6 +229,12 @@ export class LlmService extends LoggerBase { memberId, ) + if (!response) { + return { + result: null, + } as ILlmResult + } + const result = JSON.parse(response.answer) return { From 26af3f2cb8c3aab2147744b02a8e4ba7454a6497 Mon Sep 17 00:00:00 2001 From: Umberto Sgueglia Date: Tue, 7 Oct 2025 10:41:24 +0200 Subject: [PATCH 3/4] fix: add also a check on bedrock credentials --- .../libs/common_services/src/services/llm.service.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/libs/common_services/src/services/llm.service.ts b/services/libs/common_services/src/services/llm.service.ts index 29b5da992f..45bb48312c 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() } @@ -67,7 +71,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 } From 4275935411ab36b832f3a75da06ed98213c9c99f Mon Sep 17 00:00:00 2001 From: Umberto Sgueglia Date: Tue, 7 Oct 2025 11:02:09 +0200 Subject: [PATCH 4/4] fix: add theck on credentials also on the LLM service client --- services/libs/common_services/src/services/llm.service.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/libs/common_services/src/services/llm.service.ts b/services/libs/common_services/src/services/llm.service.ts index 45bb48312c..5aeda1e315 100644 --- a/services/libs/common_services/src/services/llm.service.ts +++ b/services/libs/common_services/src/services/llm.service.ts @@ -47,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)