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
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
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