Beispiel #1
0
    def get_active_intents_from_api(cls, classifier, logs):
        """
        Gets the current intents defined by this app, in LUIS that's an attribute of the app version
        """
        app_id = classifier.config[cls.CONFIG_APP_ID]
        version = classifier.config[cls.CONFIG_VERSION]
        endpoint_url = classifier.config[cls.CONFIG_ENDPOINT_URL]
        primary_key = classifier.config[cls.CONFIG_PRIMARY_KEY]

        start = timezone.now()
        url = endpoint_url + "/apps/" + app_id + "/versions/" + version + "/intents"
        response = requests.get(url, headers={cls.AUTH_HEADER: primary_key})
        elapsed = (timezone.now() - start).total_seconds() * 1000

        log = HTTPLog.from_response(HTTPLog.INTENTS_SYNCED,
                                    url,
                                    response,
                                    classifier=classifier)
        log.request_time = elapsed
        logs.append(log)

        response.raise_for_status()
        response_json = response.json()

        intents = []
        for intent in response_json:
            intents.append(
                Intent(name=intent["name"], external_id=intent["id"]))

        return intents
Beispiel #2
0
    def get_active_intents_from_api(cls, classifier, logs):
        """
        Gets the current intents defined by this app. In Wit intents are treated as a special case of an entity. We
        fetch the possible values for that entity.
        """
        access_token = classifier.config[cls.CONFIG_ACCESS_TOKEN]

        start = timezone.now()
        response = requests.get(
            cls.INTENT_URL,
            headers={"Authorization": f"Bearer {access_token}"})
        elapsed = (timezone.now() - start).total_seconds() * 1000

        log = HTTPLog.from_response(HTTPLog.INTENTS_SYNCED,
                                    cls.INTENT_URL,
                                    response,
                                    classifier=classifier)
        log.request_time = elapsed
        logs.append(log)

        response.raise_for_status()
        response_json = response.json()

        intents = []
        for intent in response_json["values"]:
            intents.append(
                Intent(name=intent["value"], external_id=intent["value"]))

        return intents
Beispiel #3
0
    def get_active_intents_from_api(cls, classifier, logs):
        access_token = classifier.config[cls.CONFIG_ACCESS_TOKEN]

        start = timezone.now()
        response = requests.get(cls.INTENT_URL, headers={"Authorization": f"Bearer {access_token}"})
        elapsed = (timezone.now() - start).total_seconds() * 1000

        log = HTTPLog.from_response(HTTPLog.INTENTS_SYNCED, cls.INTENT_URL, response, classifier=classifier)
        log.request_time = elapsed
        logs.append(log)

        response.raise_for_status()
        response_json = response.json()

        intents = []
        for intent in response_json["intents"]:
            intents.append(Intent(name=intent, external_id=intent))

        return intents