Une API de script de haut niveau pour les créateurs, les développeurs et les responsables de robots.
L'API de script Python Dialogflow CX (DFCX SCRAPI) est une API de haut niveau qui étend le client Google Python officiel pour Dialogflow CX. SCRAPI rend l'utilisation de DFCX plus facile, plus conviviale et plus pythonique pour les constructeurs, développeurs et responsables de robots.
SCRAPI --> Python Dialogflow CX
as
Keras --> Tensorflow
Avec DFCX SCRAPI, vous pouvez effectuer de nombreuses actions de création et de maintenance de robots à grande échelle, notamment :
L'authentification peut varier en fonction de la manière et de l'endroit où vous interagissez avec SCRAPI.
Si vous utilisez SCRAPI avec un bloc-notes Google Colab, vous pouvez ajouter les éléments suivants en haut de votre bloc-notes pour une authentification facile :
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
Après avoir exécuté ce qui précède, Colab récupérera vos informations d'identification dans l'environnement et les transmettra directement à SCRAPI. Pas besoin d'utiliser les clés du compte de service ! Vous pouvez ensuite utiliser SCRAPI simplement comme ceci :
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 vous utilisez SCRAPI avec Cloud Functions ou Cloud Run, SCRAPI peut récupérer les crédits d'environnement par défaut utilisés par ces services sans aucune configuration supplémentaire !
dfcx-scrapi
à votre fichier requirements.txt
Une fois que vous avez configuré ce qui précède, votre code de fonction peut être utilisé facilement comme ceci :
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 )
Semblable à Cloud Functions/Cloud Run, SCRAPI peut récupérer vos identifiants d'authentification locaux si vous utilisez gcloud CLI.
gcloud init
.gcloud auth login
gcloud auth list
pour vous assurer que votre compte principal est actif.Cela authentifiera votre compte GCP principal avec gcloud CLI, et SCRAPI pourra récupérer les crédits à partir d'ici.
Certaines classes de SCRAPI reposent toujours sur des clés de compte de service, notamment la classe DataframeFunctions en raison de la manière dont elle s'authentifie auprès de Google Sheets.
Pour utiliser ces fonctions, vous aurez besoin d'un compte de service disposant d'un accès approprié à votre projet GCP.
Pour plus d'informations et pour consulter la documentation officielle sur les comptes de service, accédez à Création et gestion des comptes de service GCP.
Une fois que vous avez obtenu une clé de compte de service avec les autorisations appropriées, vous pouvez l'utiliser comme suit :
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 )
Configurez les informations d'identification Google Cloud Platform et installez les dépendances.
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
Pour exécuter un simple morceau de code, vous pouvez procéder comme suit :
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 ()
Voici un bref aperçu de la structure de la bibliothèque SCRAPI et de la motivation derrière cette structure.
Le dossier Core est synonyme des types de ressources de base dans les agents DFCX (agents, intentions, flux, etc.)
Le dossier Outils contient diverses boîtes à outils personnalisées qui vous permettent d'effectuer des tâches de gestion de robots plus complexes, telles que
Le dossier Builders contient des méthodes simples pour construire les protos sous-jacents dans Dialogflow CX
Nous apprécions toutes les contributions ou demandes de fonctionnalités que vous souhaitez soumettre !
Distribué sous la licence Apache 2.0. Voir LICENCE pour plus d’informations.
Patrick Marlow - [email protected] - @kmaphoenix
Milad Tabrizi - [email protected] - @MRyderOC
Lien du projet : https://github.com/GoogleCloudPlatform/dfcx-scrapi
Bibliothèque client Python Dialogflow CX
Visage câlin - Paraphrase de Pégase