From 90490dc25eeb6a7eb8591ca0cc69c270e786390f Mon Sep 17 00:00:00 2001 From: Axel Suarez Date: Mon, 30 Sep 2019 10:49:05 -0700 Subject: [PATCH 1/2] Adding Recognizer interface to LuisRecognizer --- .../botbuilder/ai/luis/luis_recognizer.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/botbuilder-ai/botbuilder/ai/luis/luis_recognizer.py b/libraries/botbuilder-ai/botbuilder/ai/luis/luis_recognizer.py index c5fa5c101..6733e8a1c 100644 --- a/libraries/botbuilder-ai/botbuilder/ai/luis/luis_recognizer.py +++ b/libraries/botbuilder-ai/botbuilder/ai/luis/luis_recognizer.py @@ -8,7 +8,13 @@ from azure.cognitiveservices.language.luis.runtime.models import LuisResult from msrest.authentication import CognitiveServicesCredentials -from botbuilder.core import BotAssert, IntentScore, RecognizerResult, TurnContext +from botbuilder.core import ( + BotAssert, + IntentScore, + Recognizer, + RecognizerResult, + TurnContext, +) from botbuilder.schema import ActivityTypes from . import LuisApplication, LuisPredictionOptions, LuisTelemetryConstants @@ -16,7 +22,7 @@ from .luis_util import LuisUtil -class LuisRecognizer: +class LuisRecognizer(Recognizer): """ A LUIS based implementation of . """ @@ -95,7 +101,7 @@ def top_intent( return top_intent or default_intent - async def recognize( + async def recognize( # pylint: disable=arguments-differ self, turn_context: TurnContext, telemetry_properties: Dict[str, str] = None, From bc4f14837534f2ce9c883dbf2adabcd69a62c105 Mon Sep 17 00:00:00 2001 From: Axel Suarez Date: Mon, 30 Sep 2019 13:43:26 -0700 Subject: [PATCH 2/2] adding abstract method --- libraries/botbuilder-core/botbuilder/core/recognizer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/botbuilder-core/botbuilder/core/recognizer.py b/libraries/botbuilder-core/botbuilder/core/recognizer.py index 7ec64b565..043c746c1 100644 --- a/libraries/botbuilder-core/botbuilder/core/recognizer.py +++ b/libraries/botbuilder-core/botbuilder/core/recognizer.py @@ -1,12 +1,12 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. -from abc import ABC +from abc import ABC, abstractmethod from .turn_context import TurnContext from .recognizer_result import RecognizerResult class Recognizer(ABC): - @staticmethod - async def recognize(turn_context: TurnContext) -> RecognizerResult: + @abstractmethod + async def recognize(self, turn_context: TurnContext) -> RecognizerResult: raise NotImplementedError()