API сценариев высокого уровня для создателей ботов, разработчиков и сопровождающих.
API сценариев Python Dialogflow CX (DFCX SCRAPI) — это API высокого уровня, который расширяет официальный клиент Google Python для Dialogflow CX. SCRAPI делает использование DFCX проще, дружественнее и понятнее для разработчиков, разработчиков и сопровождающих ботов.
SCRAPI --> Python Dialogflow CX
as
Keras --> Tensorflow
С помощью DFCX SCRAPI вы можете выполнять множество действий по созданию и обслуживанию ботов в любом масштабе, включая, помимо прочего:
Аутентификация может различаться в зависимости от того, как и где вы взаимодействуете с SCRAPI.
Если вы используете SCRAPI с блокнотом Google Colab, вы можете добавить в верхнюю часть блокнота следующую информацию для упрощения аутентификации:
project_id = '<YOUR_GCP_PROJECT_ID>'
# this will launch an interactive prompt that allows you to auth with GCP in a browser
!g cloud auth application - default login - - no - launch - browser
# this will set your active project to the `project_id` above
!g cloud auth application - default set - quota - project $ project_id
После выполнения вышеописанного Colab получит ваши учетные данные из среды и передаст их напрямую в SCRAPI. Нет необходимости использовать ключи учетной записи службы! Затем вы можете использовать SCRAPI просто так:
from dfcx_scrapi . core . intents import Intents
agent_id = '<YOUR_AGENT_ID>'
i = Intents () # <-- Creds will be automatically picked up from the environment
intents_map = i . get_intents_map ( agent_id )
Если вы используете SCRAPI с Cloud Functions или Cloud Run, SCRAPI может получить учетные данные среды по умолчанию, используемые этими службами, без какой-либо дополнительной настройки!
dfcx-scrapi
в файл requirements.txt
.После того, как вы настроите все вышеперечисленное, ваш функциональный код можно будет легко использовать следующим образом:
from dfcx_scrapi . core . intents import Intents
agent_id = '<YOUR_AGENT_ID>'
i = Intents () # <-- Creds will be automatically picked up from the environment
intents_map = i . get_intents_map ( agent_id )
Подобно Cloud Functions/Cloud Run, SCRAPI может использовать ваши локальные учетные данные для аутентификации , если вы используете интерфейс командной строки gcloud.
gcloud init
.gcloud auth login
gcloud auth list
чтобы убедиться, что ваша основная учетная запись активна.Это позволит аутентифицировать вашу основную учетную запись GCP с помощью интерфейса командной строки gcloud, и отсюда SCRAPI сможет получить учетные данные.
В SCRAPI есть некоторые классы, которые по-прежнему полагаются на ключи сервисных учетных записей, в частности класс DataframeFunctions, поскольку он выполняет аутентификацию в Google Sheets.
Чтобы использовать эти функции, вам понадобится сервисная учетная запись, имеющая соответствующий доступ к вашему проекту GCP.
Для получения дополнительной информации и просмотра официальной документации по сервисным учетным записям перейдите в раздел Создание и управление сервисными учетными записями GCP.
Получив ключ сервисной учетной записи с соответствующими разрешениями, вы можете использовать его следующим образом:
from dfcx_scrapi . core . intents import Intents
from dfcx_scrapi . tools . dataframe_functions import DataframeFunctions
agent_id = '<YOUR_AGENT_ID>'
creds_path = '<PATH_TO_YOUR_SERVICE_ACCOUNT_JSON_FILE>'
i = Intents ( creds_path = creds_path )
dffx = DataframeFunctions ( creds_path = creds_path )
df = i . bulk_intent_to_df ( agent_id )
dffx . dataframe_to_sheets ( 'GOOGLE_SHEET_NAME' , 'TAB_NAME' , df )
Настройте учетные данные Google Cloud Platform и установите зависимости.
gcloud auth login
gcloud auth application-default login
gcloud config set project < project name >
python3 -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt
Чтобы запустить простой фрагмент кода, вы можете сделать следующее:
dfcx_scrapi.core
from dfcx_scrapi . core . intents import Intents
creds_path = '<PATH_TO_YOUR_SERVICE_ACCOUNT_JSON_FILE>'
agent_path = '<FULL_DFCX_AGENT_ID_PATH>'
# DFCX Agent ID paths are in this format:
# 'projects/<project_id>/locations/<location_id>/agents/<agent_id>'
# Instantiate your class object and pass in your credentials
i = Intents ( creds_path , agent_id = agent_path )
# Retrieve all Intents and Training Phrases from an Agent and push to a Pandas DataFrame
df = i . bulk_intent_to_df ()
Вот краткий обзор структуры библиотеки SCRAPI и мотивов, лежащих в основе этой структуры.
Папка Core является синонимом основных типов ресурсов в агентах DFCX (агенты, намерения, потоки и т. д.).
В папке «Инструменты» содержатся различные настраиваемые наборы инструментов, которые позволяют выполнять более сложные задачи управления ботами, например:
Папка Builders содержит простые методы для создания базовых прототипов в Dialogflow CX.
Мы приветствуем любые предложения или пожелания, которые вы хотели бы отправить!
Распространяется по лицензии Apache 2.0. См. ЛИЦЕНЗИЮ для получения дополнительной информации.
Патрик Марлоу – [email protected] – @kmaphoenix
Милад Тебризи - [email protected] - @MRyderOC
Ссылка на проект: https://github.com/GoogleCloudPlatform/dfcx-scrapi.
Клиентская библиотека Python Dialogflow CX
Обнимающее лицо - парафраз Пегаса