From 994cca7bf409fcf75d2b449de3476d5d77fccb37 Mon Sep 17 00:00:00 2001 From: louistiti Date: Sat, 15 Apr 2023 00:32:28 +0800 Subject: [PATCH] refactor: do not call any core singletons during setup --- server/src/core/nlp/nlu/ner.ts | 11 ----------- server/src/core/nlp/nlu/nlu.ts | 6 +++++- server/src/telemetry.ts | 21 ++++++++++++++++----- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/server/src/core/nlp/nlu/ner.ts b/server/src/core/nlp/nlu/ner.ts index 3377d80a..df0e9316 100644 --- a/server/src/core/nlp/nlu/ner.ts +++ b/server/src/core/nlp/nlu/ner.ts @@ -156,17 +156,6 @@ export default class NER { } } - public anonymizeEntities( - utterance: NLPUtterance, - entities: NEREntity[] - ): NLPUtterance { - entities.forEach((entity) => { - utterance = utterance.replace(entity.sourceText, `{${entity.entity}}`) - }) - - return utterance - } - /** * Get spaCy entities from the TCP server */ diff --git a/server/src/core/nlp/nlu/nlu.ts b/server/src/core/nlp/nlu/nlu.ts index 4fabdb13..28a31dee 100644 --- a/server/src/core/nlp/nlu/nlu.ts +++ b/server/src/core/nlp/nlu/nlu.ts @@ -294,7 +294,11 @@ export default class NLU { const processingTimeEnd = Date.now() const processingTime = processingTimeEnd - processingTimeStart - Telemetry.utterance(this.nluResult, processedData?.executionTime || 0) + Telemetry.utterance( + BRAIN.lang, + this.nluResult, + processedData?.executionTime || 0 + ) return resolve({ processingTime, // In ms, total time diff --git a/server/src/telemetry.ts b/server/src/telemetry.ts index eb61f969..7a713710 100644 --- a/server/src/telemetry.ts +++ b/server/src/telemetry.ts @@ -4,7 +4,8 @@ import axios from 'axios' import osName from 'os-name' import getos from 'getos' -import type { NLUResult } from '@/core/nlp/types' +import type { ShortLanguageCode } from '@/types' +import type { NLUResult, NEREntity, NLPUtterance } from '@/core/nlp/types' import { IS_TELEMETRY_ENABLED, INSTANCE_ID, @@ -17,7 +18,6 @@ import { TCP_SERVER_VERSION, TTS_PROVIDER } from '@/constants' -import { BRAIN, NER } from '@/core' import { SystemHelper } from '@/helpers/system-helper' import { SkillDomainHelper } from '@/helpers/skill-domain-helper' import { LogHelper } from '@/helpers/log-helper' @@ -103,6 +103,7 @@ export class Telemetry { } public static async utterance( + lang: ShortLanguageCode, nluResult: NLUResult, executionTime: number ): Promise { @@ -130,10 +131,9 @@ export class Telemetry { triggeredSkill, triggeredAction, probability, - language: BRAIN.lang, + language: lang, executionTime, - // TODO: await because when github.com + hi fast = not anonymized - value: await NER.anonymizeEntities(utterance, entities), + value: this.anonymizeEntities(utterance, entities), triggeredSkillVersion: skill.version, triggeredSkillBridge: skill.bridge } @@ -210,4 +210,15 @@ export class Telemetry { } } } + + private static anonymizeEntities( + utterance: NLPUtterance, + entities: NEREntity[] + ): NLPUtterance { + entities.forEach((entity) => { + utterance = utterance.replace(entity.sourceText, `{${entity.entity}}`) + }) + + return utterance + } }