Una API de secuencias de comandos de alto nivel para creadores, desarrolladores y mantenedores de bots.
La API de scripting de Python Dialogflow CX (DFCX SCRAPI) es una API de alto nivel que amplía el cliente oficial de Google Python para Dialogflow CX. SCRAPI hace que el uso de DFCX sea más fácil, más amigable y más pitónico para los creadores, desarrolladores y mantenedores de bots.
SCRAPI --> Python Dialogflow CX
as
Keras --> Tensorflow
Con DFCX SCRAPI puede realizar muchas acciones de creación y mantenimiento de bots a escala, incluidas, entre otras:
La autenticación puede variar dependiendo de cómo y dónde interactúa con SCRAPI.
Si usa SCRAPI con una computadora portátil de Google Colab, puede agregar lo siguiente en la parte superior de su computadora portátil para facilitar la autenticación:
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
Después de ejecutar lo anterior, Colab recogerá sus credenciales del entorno y las pasará directamente a SCRAPI. ¡No es necesario utilizar claves de cuenta de servicio! Luego puedes usar SCRAPI simplemente así:
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 )
Si está utilizando SCRAPI con Cloud Functions o Cloud Run, SCRAPI puede aprovechar los créditos del entorno predeterminado utilizados por estos servicios sin ninguna configuración adicional.
dfcx-scrapi
a su archivo requirements.txt
Una vez que haya configurado lo anterior, su código de función se puede usar fácilmente de esta manera:
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 )
De manera similar a Cloud Functions/Cloud Run, SCRAPI puede aprovechar sus credenciales de autenticación local si está utilizando la CLI de gcloud.
gcloud init
.gcloud auth login
gcloud auth list
para asegurarse de que su cuenta principal esté activa.Esto autenticará su cuenta principal de GCP con la CLI de gcloud y SCRAPI puede obtener los créditos desde aquí.
Hay algunas clases en SCRAPI que todavía dependen de claves de cuenta de servicio, en particular la clase DataframeFunctions debido a cómo se autentica con Google Sheets.
Para utilizar estas funciones, necesitará una cuenta de servicio que tenga acceso adecuado a su proyecto de GCP.
Para obtener más información y ver la documentación oficial de las cuentas de servicio, vaya a Creación y administración de cuentas de servicio de GCP.
Una vez que haya obtenido una clave de cuenta de servicio con los permisos adecuados, podrá usarla de la siguiente manera:
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 )
Configure las credenciales de Google Cloud Platform e instale las dependencias.
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
Para ejecutar un simple fragmento de código, puede hacer lo siguiente:
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 ()
A continuación se ofrece una breve descripción general de la estructura de la biblioteca SCRAPI y la motivación detrás de esa estructura.
La carpeta principal es sinónimo de los tipos de recursos principales en los agentes DFCX (agentes, intenciones, flujos, etc.)
La carpeta Herramientas contiene varios kits de herramientas personalizados que le permiten realizar tareas de administración de bots más complejas, como
La carpeta Builders contiene métodos simples para construir los protos subyacentes en Dialogflow CX.
¡Agradecemos cualquier contribución o solicitud de funciones que desee enviar!
Distribuido bajo la Licencia Apache 2.0. Consulte LICENCIA para obtener más información.
Patrick Marlow - [email protected] - @kmaphoenix
Milad Tabrizi - [email protected] - @MRyderOC
Enlace del proyecto: https://github.com/GoogleCloudPlatform/dfcx-scrapi
Biblioteca cliente de Python de Dialogflow CX
Abrazando la cara - Paráfrasis de Pegaso