예제 #1
0
def create_intent(project_id, display_name, answer, questions):

    credentials = Credentials.from_service_account_file(
        "google-credentials.json")

    intents_client = dialogflow.IntentsClient(credentials=credentials)

    parent = intents_client.project_agent_path(project_id)
    training_phrases = []

    for question in questions:
        part = dialogflow.types.Intent.TrainingPhrase.Part(text=question)

        training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
        training_phrases.append(training_phrase)

    text = dialogflow.types.Intent.Message.Text(text=answer)
    message = dialogflow.types.Intent.Message(text=text)

    intent = dialogflow.types.Intent(
        display_name=display_name,
        training_phrases=training_phrases,
        messages=[message])
  
    response = intents_client.create_intent(parent, intent)
예제 #2
0
def create_intent(project_id, display_name, training_phrases_parts,
                  message_texts):
    """Create an intent of the given intent type."""
    import dialogflow_v2 as dialogflow
    intents_client = dialogflow.IntentsClient()

    parent = intents_client.project_agent_path(project_id)
    training_phrases = []
    for training_phrases_part in training_phrases_parts:
        part = dialogflow.types.Intent.TrainingPhrase.Part(
            text=training_phrases_part)
        # Here we create a new training phrase for each provided part.
        training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
        training_phrases.append(training_phrase)

    text = dialogflow.types.Intent.Message.Text(text=message_texts)
    message = dialogflow.types.Intent.Message(text=text)

    intent = dialogflow.types.Intent(display_name=display_name,
                                     training_phrases=training_phrases,
                                     messages=[message])

    response = intents_client.create_intent(parent, intent)

    print('Intent created: {}'.format(response))
예제 #3
0
def create_intent(project_id, display_name, training_phrases_parts,
                  message_texts):

    import dialogflow_v2 as dialogflow
    intents_client = dialogflow.IntentsClient()

    parent = intents_client.project_agent_path(project_id)
    training_phrases = []
    for training_phrases_part in training_phrases_parts:
        part = dialogflow.types.Intent.TrainingPhrase.Part(
            text=training_phrases_part)

        training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
        training_phrases.append(training_phrase)

    text = dialogflow.types.Intent.Message.Text(text=message_texts)
    message = dialogflow.types.Intent.Message(text=text)

    intent = dialogflow.types.Intent(display_name=display_name,
                                     training_phrases=training_phrases,
                                     messages=[message])

    response = intents_client.create_intent(parent, intent)
    ##aux=intents_client.get_token(parent,intent)
    print('Intent created: {}'.format(response))
예제 #4
0
def delete_intent(project_id, intent_id):
    """Delete intent with the given intent type and intent value."""
    intents_client = dialogflow.IntentsClient()

    intent_path = intents_client.intent_path(project_id, intent_id)

    intents_client.delete_intent(intent_path)
예제 #5
0
    def _list_intents(project_id):
        import dialogflow_v2 as dialogflow
        intents_client = dialogflow.IntentsClient()

        parent = intents_client.project_agent_path(project_id)

        intents = intents_client.list_intents(parent)

        for intent in intents:
            print('=' * 20)
            print('Intent name: {}'.format(intent.name))
            print('Intent display_name: {}'.format(intent.display_name))
            print('Action: {}\n'.format(intent.action))
            print('Root followup intent: {}'.format(
                intent.root_followup_intent_name))
            print('Parent followup intent: {}\n'.format(
                intent.parent_followup_intent_name))

            print('Input contexts:')
            for input_context_name in intent.input_context_names:
                print('\tName: {}'.format(input_context_name))

            print('Output contexts:')
            for output_context in intent.output_contexts:
                print('\tName: {}'.format(output_context.name))
예제 #6
0
def delete_intent(project_id, intent_id):
    ##eliminar el intentito del chabot con python
    import dialogflow_v2 as dialogflow
    intents_client = dialogflow.IntentsClient()

    intent_path = intents_client.intent_path(project_id, intent_id)

    intents_client.delete_intent(intent_path)
    print('la intencion se ha eliminado')
예제 #7
0
def _get_intent_ids(project_id, display_name):
    intents_client = dialogflow.IntentsClient()

    parent = intents_client.project_agent_path(project_id)
    intents = intents_client.list_intents(parent)
    intent_names = [
        intent.name for intent in intents
        if intent.display_name == display_name
    ]

    return [intent_name.split('/')[-1] for intent_name in intent_names]
예제 #8
0
    def __init__(self):
        if not utils.has_credentials():
            utils.print_missing_credential_notification()
            sys.exit(-1)

        self._project_id = utils.get_project_id_from_credentials()
        self._intents_client = dialogflow.IntentsClient()
        self._entity_types_client = dialogflow.EntityTypesClient()
        self._project_parent = self._intents_client.project_agent_path(
            self._project_id)
        log.info('Project Name: {}'.format(self._project_id))

        self.__load_intents__()
        self.__load_entities__()

        self._input_contexts = []
예제 #9
0
def update_intent(project_id, intent):
    intents_client = dialogflow.IntentsClient()
    intent = dialogflow.types.Intent(
        name=_get_intent_name(project_id, intent['name']),
        display_name=intent['name'],
        priority=intent.get('priority', 3),
        action=intent.get('action_name', ''),
        training_phrases=_get_training_phrases_from_json(intent),
        messages=[_get_message_from_json(intent)],
        input_context_names=_get_input_context_names_from_json(
            project_id, intent),
        output_contexts=_get_output_contexts_from_json(project_id, intent),
        parameters=_get_parameters_from_json(intent),
        is_fallback=intent.get('is_fallback', False))

    response = intents_client.update_intent(intent, '')
    logger.debug('Intent updated: {}'.format(response))
예제 #10
0
def create_intent(parent, display_name, training_phrases_parts, message_texts):
    intents_client = dialogflow.IntentsClient()

    training_phrases = []
    for training_phrases_part in training_phrases_parts:
        part = dialogflow.types.Intent.TrainingPhrase.Part(
            text=training_phrases_part)
        training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
        training_phrases.append(training_phrase)

    text = dialogflow.types.Intent.Message.Text(text=message_texts)
    message = dialogflow.types.Intent.Message(text=text)

    intent = dialogflow.types.Intent(display_name=display_name,
                                     training_phrases=training_phrases,
                                     messages=[message])

    intents_client.create_intent(parent, intent)
예제 #11
0
def update_answer(question: str, answer: str):
    credentials_raw = os.environ.get('GOOGLE_APPLICATION_CREDENTIALS')
    service_account_info = json.loads(credentials_raw)
    credentials = service_account.Credentials.from_service_account_info(
        service_account_info)
    client = dialogflow.IntentsClient(credentials=credentials)
    project_id = service_account_info.get('project_id')
    parent = client.project_agent_path(project_id)

    training_phrases = []
    part = dialogflow.types.Intent.TrainingPhrase.Part(text=question)
    # Here we create a new training phrase for each provided part.
    training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
    training_phrases.append(training_phrase)

    text = dialogflow.types.Intent.Message.Text(text=[answer])
    message = dialogflow.types.Intent.Message(text=text)

    intent = dialogflow.types.Intent(display_name=question,
                                     training_phrases=training_phrases,
                                     messages=[message])

    _ = client.create_intent(parent, intent)
예제 #12
0
def delete_all_intents(parent):
    intents = get_all_intents(parent)
    intents_client = dialogflow.IntentsClient()
    intents_client.batch_delete_intents(parent, intents)
예제 #13
0
def get_all_intents(parent):
    intents_client = dialogflow.IntentsClient()
    return intents_client.list_intents(parent)
예제 #14
0
def create_intent(project_id, display_name, training_phrases_parts):
        intents_client = dialogflow.IntentsClient()
예제 #15
0
def delete_intent(project_id, intent_id):
    intents_client = dialogflow.IntentsClient()
    intent_path = intents_client.intent_path(project_id, intent_id)
    intents_client.delete_intent(intent_path)
    logger.debug('Intent deleted with id: {}'.format(intent_id))