Eine High-Level-Scripting-API für Bot-Builder, Entwickler und Betreuer.
Die Python Dialogflow CX Scripting API (DFCX SCRAPI) ist eine High-Level-API, die den offiziellen Google Python-Client für Dialogflow CX erweitert. SCRAPI macht die Verwendung von DFCX für Bot-Builder, Entwickler und Betreuer einfacher, benutzerfreundlicher und pythonischer.
SCRAPI --> Python Dialogflow CX
as
Keras --> Tensorflow
Mit DFCX SCRAPI können Sie viele Bot-Erstellungs- und Wartungsaktionen in großem Maßstab durchführen, einschließlich, aber nicht beschränkt auf:
Die Authentifizierung kann variieren, je nachdem, wie und wo Sie mit SCRAPI interagieren.
Wenn Sie SCRAPI mit einem Google Colab-Notizbuch verwenden, können Sie zur einfachen Authentifizierung oben in Ihrem Notizbuch Folgendes hinzufügen:
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
Nachdem Sie die oben genannten Schritte ausgeführt haben, holt Colab Ihre Anmeldeinformationen aus der Umgebung ab und leitet sie direkt an SCRAPI weiter. Es ist nicht erforderlich, Dienstkontoschlüssel zu verwenden! Anschließend können Sie SCRAPI einfach so nutzen:
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 )
Wenn Sie SCRAPI mit Cloud Functions oder Cloud Run verwenden, kann SCRAPI ohne zusätzliche Konfiguration die von diesen Diensten verwendeten Standardumgebungs-Credes übernehmen!
dfcx-scrapi
zu Ihrer Datei requirements.txt
hinzuSobald Sie mit den oben genannten Schritten fertig sind, kann Ihr Funktionscode ganz einfach wie folgt verwendet werden:
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 )
Ähnlich wie Cloud Functions/Cloud Run kann SCRAPI Ihre lokalen Authentifizierungsdaten abrufen , wenn Sie die gcloud-CLI verwenden.
gcloud init
.gcloud auth login
ausgcloud auth list
aus, um sicherzustellen, dass Ihr Hauptkonto aktiv ist.Dadurch wird Ihr Haupt-GCP-Konto mit der gcloud-CLI authentifiziert und SCRAPI kann die Anmeldedaten von hier abrufen.
Es gibt einige Klassen in SCRAPI, die immer noch auf Dienstkontoschlüsseln basieren, insbesondere die Klasse DataframeFunctions aufgrund der Art und Weise, wie sie sich bei Google Sheets authentifiziert.
Um diese Funktionen nutzen zu können, benötigen Sie ein Servicekonto, das über entsprechenden Zugriff auf Ihr GCP-Projekt verfügt.
Weitere Informationen und die offizielle Dokumentation für Dienstkonten finden Sie unter Erstellen und Verwalten von GCP-Dienstkonten.
Sobald Sie einen Dienstkontoschlüssel mit den entsprechenden Berechtigungen erhalten haben, können Sie ihn wie folgt verwenden:
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 )
Richten Sie Anmeldeinformationen für die Google Cloud Platform ein und installieren Sie Abhängigkeiten.
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
Um einen einfachen Code auszuführen, können Sie Folgendes tun:
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 ()
Hier finden Sie einen kurzen Überblick über die Struktur der SCRAPI-Bibliothek und die Motivation hinter dieser Struktur.
Der Core-Ordner ist gleichbedeutend mit den Kernressourcentypen in den DFCX-Agenten (Agenten, Absichten, Flows usw.).
Der Ordner „Tools“ enthält verschiedene benutzerdefinierte Toolkits, mit denen Sie komplexere Bot-Verwaltungsaufgaben ausführen können, z
Der Builders-Ordner enthält einfache Methoden zum Erstellen der zugrunde liegenden Prototypen in Dialogflow CX
Wir freuen uns über alle Beiträge oder Feature-Anfragen, die Sie einreichen möchten!
Verteilt unter der Apache 2.0-Lizenz. Weitere Informationen finden Sie unter LIZENZ.
Patrick Marlow – [email protected] – @kmaphoenix
Milad Tabrizi – [email protected] – @MRyderOC
Projektlink: https://github.com/GoogleCloudPlatform/dfcx-scrapi
Dialogflow CX Python-Clientbibliothek
Umarmendes Gesicht – Pegasus-Paraphrase