Box Skills: Teile des Puzzles + Tutorial
Box Skills wurden 2017 eingeführt und seitdem wurden über 1000 Fähigkeiten in verschiedenen Branchen eingesetzt, um Box-Inhalte intelligenter zu machen. Wie einfach ist es, einen Skill einzurichten? In diesem Blog zeige ich es dir!
Auffrischung der Box-Fähigkeiten
Bevor ich mich mit der Einrichtung eines Box-Skills befasse, möchte ich einen Überblick darüber geben, was sie sind und welche Teile eine Box-Skills-Implementierung vervollständigen.
Wenn Sie auf unserer Entwickler-Website auf den Abschnitt des Architekturmusters verweisen , wird das folgende Diagramm angezeigt. Es stellt ein klassisches Beispiel für einen Box-Skill dar – in diesem Fall eine Grundriss-Identifikationslösung.
- Der Ablauf wird ausgelöst, wenn eine Grundrissdatei hochgeladen , verschoben oder in den für den Box-Skill konfigurierten Ordner kopiert wird.
- Die Datei wird über die in den Box-Skill- Konfigurationsschritten eingerichtete Aufruf-URL an eine Google Cloud-Funktion gesendet . Jeder Cloud-Anbieter, der Serverless-Funktionen anbietet, kann verwendet werden, auch wenn wir in diesem Tutorial GCP zeigen.
- Die Funktion führt benutzerdefinierten geschriebenen Code aus, um die Box-Skill-Nutzdaten zu analysieren , Sicherheitsschlüssel zu überprüfen , eine lokale Kopie der Datei herunterzuladen , die Datei an einen Anbieter von maschinellem Lernen zu senden – in diesem Beispiel auch GCP – und vom maschinellen Lerndienst entdeckte Metadaten zurückzuschreiben zur Originaldatei in Box.
Der zweite und der dritte Teil werden nicht über die Box-Plattform lizenziert oder abgerechnet und erfordern daher in der Regel die Zusammenarbeit mit den Vertriebs- und Aktivierungsteams dieser bestimmten Dienste – sie müssen nicht derselbe Anbieter sein. Beispielsweise kann eine Azure-Funktion IBM Watson aufrufen .
Box bietet einen Mehrwert im Ablauf, da die anfängliche Aktion des Inhalts den Beginn des Prozesses auslöst. Dies hält Entwickler davon ab, Inhalte zu migrieren oder zu duplizieren, um Erkenntnisse zu sammeln. Außerdem endet der Ablauf innerhalb von Sekunden mit durchsuchbaren Metadaten direkt auf der Plattform, sodass Benutzer die benötigten Informationen schneller sehen können.
In der folgenden Demo zeige ich Ihnen, wie Sie den Ablauf im obigen Diagramm einrichten. Am Ende hoffe ich, einen Grundriss hochladen zu können und die Anzahl der Schlafzimmer im Grundriss als Metadaten in die Datei zurückschreiben zu können. So kann ich zukünftig nach allen Grundrissen mit einer bestimmten Schlafzimmeranzahl suchen.
Lassen Sie uns in das Tutorial springen!
Administrative Einrichtung von Box Skills
Erstellen Sie ein Box-Entwicklerkonto (optional, aber empfohlen)
Wenn Sie kein Box-Unternehmenskonto haben, können Sie sich hier für ein kostenloses Entwicklerkonto anmelden . Ich empfehle, das Entwicklerkonto für das Tutorial zu verwenden, anstatt Ihre Produktionsumgebung zu verwenden.
Bitte beachten Sie, dass Sie bei der Anmeldung nicht dieselbe E-Mail-Adresse verwenden können, da die Einschränkung besteht, dass Sie in ganz Box eine eindeutige E-Mail-Adresse haben.
Create the Box Skill (vom Entwickler abgeschlossen)
Navigieren Sie zur Entwicklerkonsole und klicken Sie auf Neue App erstellen.
Wählen Sie Box Custom Skill aus.
Geben Sie der Anwendung einen Namen und klicken Sie auf App erstellen.
Nachdem Sie die Anwendung erstellt haben, sehen Sie den folgenden Bildschirm. In das rote Feld geben Sie die URL ein, an der die Box-Skills-Nutzlast angezeigt werden soll. Wir werden diese URL später hinzufügen.
Auf der Registerkarte Sicherheitsschlüssel finden Sie zwei Schlüssel, mit denen Sie überprüfen können, ob Box der Dienst ist, der die serverlose Funktion aufgerufen hat.
Box-Skill aktivieren/autorisieren (vom Administrator abgeschlossen)
Genau wie bei anderen Anwendungstypen muss ein Administrator Ihrer Box-Instanz den Box-Skill im Skills-Bereich der Verwaltungskonsole aktivieren und autorisieren. Sie müssen dem Administrator die Client-ID der Anwendung mitteilen, die im Konfigurationsbildschirm von Box Skill zu finden ist.
Sie müssen auch den/die Ordnernamen/Eigentümer der Inhalte angeben, für die der Skill ausgelöst werden soll. Wenn Sie noch keinen Ordner für den zu überwachenden Skill eingerichtet haben, sollten Sie dies tun, bevor Sie die Autorisierung von Ihrem Administrator anfordern.
Klicken Sie auf dem Bildschirm Skills Admin Console auf Skill hinzufügen.
Geben Sie die Client-ID des Skills ein und klicken Sie auf Weiter.
Wählen Sie aus, ob der Skill für alle Inhalte oder eine Teilmenge von Ordnern ausgeführt werden soll.
Filtern Sie das Pop-up für (einen) bestimmte(n) Ordner nach Benutzer- oder Ordnernamen. Überprüfen Sie die Ordner, für die der Skill ausgelöst werden soll.
Bestätigen Sie die Auswahl und klicken Sie auf Aktivieren.
Box-Metadatenvorlage erstellen (optional – vom Administrator ausgefüllt)
Dieser Schritt ist optional, da Metadaten oder Kompetenzdaten ohne Vorlage in eine Datei geschrieben werden können; Durch das Erstellen einer Metadatenvorlage können Benutzer jedoch problemlos nach den bereitgestellten Ergebnissen des maschinellen Lernens suchen.
Klicken Sie in der Admin-Konsole auf Inhalt > Metadaten > Neu erstellen.
Konfigurieren Sie die Metadatenvorlage, indem Sie ihr einen Namen geben, Attribute hinzufügen – die jeweils einen Namen, ein Format und eine Beschreibung haben sollten – und auf Speichern klicken.
Einrichtung der serverlosen Funktion
In diesem Beispiel wird unser Serverless Box Custom Skills -Starter-Repository verwendet, um die Entwicklung zu beschleunigen.
Klicken Sie auf den obigen Link und laden Sie das Repository auf Ihren Computer herunter.
Entpacken Sie den heruntergeladenen Ordner. Suchen Sie den Ordner box-custom-skills-starter-gcp im heruntergeladenen Repository und benennen Sie ihn in etwas um, das Ihrem Anwendungsfall entspricht. Sie können den Ordner auch gerne in Ihr typisches Projektverzeichnis verschieben. Wenn Sie lieber AWS oder Azure verwenden möchten, finden Sie hello world-Verzeichnisse im selben Zip-Ordner.
Öffnen Sie den Ordner in einem Code-Editor wie Visual Studio Code .
Bestätigen Sie im Terminal des Editors, dass Sie über Node v10.0.0 oder höher verfügen.
Bevor Sie fortfahren, müssen Sie ein GCP-Konto mit einer angehängten Abrechnungsmethode einrichten. Ich werde hier nicht auf alle diese Schritte eingehen, aber Sie finden die Schritte dafür auf der Serverless- Website. Stellen Sie sicher, dass Sie alle Schritte ausführen, einschließlich Erstellen eines Projekts + Aktivieren der APIs , Erstellen eines Dienstkontos und Herunterladen einer JSON-Schlüsseldatei .
Ziehen Sie die im obigen Schritt heruntergeladene JSON-Schlüsseldatei in den Ordner „.gcloud“.
Benennen Sie die Datei in serverless.json um.
Aktualisieren Sie die Datei „package.json“, um die Namensinformationen für Ihren Anwendungsfall zu erhalten.
Aktualisieren Sie die serverless.yml-Datei, um die Konfigurations- und Namensinformationen für Ihr GCP-Konto und Ihren Anwendungsfall zu erhalten. Stellen Sie außerdem sicher, dass Sie die in den folgenden Bildschirmen gezeigten Box-Sicherheitsschlüssel hinzufügen.
Die primären und sekundären Schlüssel der Box stammen aus dem Abschnitt „Sicherheitsschlüssel“ der Entwicklerkonsole, den ich einige Abschnitte weiter oben erwähnt habe. Es ist wichtig, diese Schlüssel zu verwenden, um sicherzustellen, dass nur Box den Code der serverlosen Funktion ausführen kann.
Führen Sie in einem Terminal npm install.
Dann laufen npx serverless deploy.
Die Bereitstellung kann insbesondere beim ersten Mal mehrere Minuten dauern. Nach Abschluss erhalten Sie eine Aufruf-URL zurück.
Kopieren Sie diese und fügen Sie sie in die zuvor erstellte Entwicklerkonsolenanwendung ein.
Rufen Sie die GCP-Konsole auf, um zu sehen, ob Ihre serverlose Funktion aktiv ist.
Sie müssen der Funktion auch eine zusätzliche Berechtigung hinzufügen, damit Box sie aufrufen kann. Klicken Sie auf Berechtigungen > Hinzufügen.
Geben Sie „allUsers“ in das Feld „Neue Prinzipale“ ein, wobei die Rolle „Cloud Functions Invoker“ ausgewählt ist. Klicken Sie auf Speichern.
Laden Sie eine Datei in den vom Administrator konfigurierten Box-Ordner hoch.
Öffnen Sie die Datei in Box, um die als Metadaten angehängte Nachricht „Hello World“ anzuzeigen.
Sie können auch die Protokolle in der Serverless-Funktion zur Überprüfung überprüfen.
GCP Document AI-Einrichtung
Jetzt, da der Box-Skill und die serverlose Funktion funktionieren, besteht der letzte Schritt darin, einen Anbieter für maschinelles Lernen einzurichten und unseren Code zu bearbeiten, um ihn zu verwenden. Die Dokumenten-KI von Google ist perfekt für diesen Anwendungsfall, da sie OCR -Text aus den hochgeladenen Grundrissen zieht, ohne dass ein benutzerdefiniertes Modell für maschinelles Lernen trainiert werden muss. Wir können den gefundenen Text an die obige Einrichtung der serverlosen Funktion zurücksenden, die Ergebnisse parsen und als durchsuchbare Metadaten wieder auf die Datei anwenden.
Bevor Sie mit den Einrichtungsschritten beginnen, besuchen Sie den Abschnitt zum Ausprobieren , um die typische Antwort zu sehen, die Sie erhalten.
Beachten Sie die Registerkarten OCR-Text und JSON. In der JSON-Antwort sehen Sie ein Textfeld. Hier werden die OCR-Textdaten zum Parsen abgelegt.
Wir werden den Abschnitt mit Anleitungen in der Dokumentation von Document AI verwenden, um die API für das zuvor erstellte GCP-Projekt zu konfigurieren. Beachten Sie, dass wir kein weiteres Dienstkonto einrichten oder eine neue JSON-Schlüsseldatei herunterladen müssen, da wir dies bereits im vorherigen Blogbeitrag getan haben.
Aktivieren Sie die Dokumenten-KI, indem Sie hier klicken und sie für das GCP-Projekt aktivieren, das wir zuvor in diesem Tutorial eingerichtet haben.
Gehen Sie zur Seite Prozessoren und klicken Sie auf Prozessoren durchsuchen.
Wählen Sie den OCR-Prozessortyp des Dokuments aus.
Geben Sie dem Prozessor im seitlichen Popup-Fenster einen Namen und klicken Sie auf Erstellen.
Suchen Sie den Vorhersageendpunkt für den Prozessor. Dies werden wir verwenden, um Informationen über die Grundrisse zu erhalten, sobald wir unseren Code bearbeitet haben.
Jetzt werden wir den Code bearbeiten, um diese neue API zu verwenden.
Führen Sie im Terminal Folgendes aus:
npm install axios @google-cloud/documentai
In der serverless.yml-Datei müssen wir einige weitere Variablen hinzufügen: gcp_project_id, gcp_location, gcp_processor_id, box_metadata_key, box_api_endpointund bedroom_list. Den neuen Abschnitt zum Kopieren finden Sie unten.
Die Projekt-ID, der Standort und die Prozessor-ID stammen aus der GCP-Konfiguration, die wir zuvor vorgenommen haben. Wenn wir sie jetzt als Variablen hinzufügen, können wir im Code darauf zugreifen und sie in Zukunft ohne Codebearbeitung ändern.
Der Metadatenschlüssel ist der Schlüssel für die Metadatenvorlage, die wir zuvor eingerichtet haben. Diese finden Sie in der Admin-Konsole unter Inhalt > Metadaten.
Die Schlafzimmerliste ist eine durch Kommas getrennte Zeichenfolge aller Namen, die unsere Grundrisse als Schlafzimmer bezeichnen. Dies hilft uns, den OCR-Test in eine durchsuchbare Ganzzahl zu zerlegen. Für diese und alle anderen Listen – Badezimmer, Veranden usw. – dürfen keine Leerzeichen zwischen den Begriffen stehen.
Diese werden alle sinnvoller, sobald wir die Datei index.js ändern.
Für die index.js müssen wir einige Änderungen vornehmen. Um es einfacher zu machen, gibt es ein vollständiges Beispiel der fertigen index.js-Datei in dem zuvor heruntergeladenen Repo, aus dem Sie kopieren können. Es heißt index_reference.js. Beachten Sie, dass dies nur ein Beispiel ist. Sie können dies verwenden, um die Funktionalität abhängig von Ihrem realen Anwendungsfall zu erweitern. Über dem folgenden Code werden Kommentare angezeigt, die beschreiben, was jeder Abschnitt tut.
Kopieren Sie einfach die Datei index_reference.js/fügen Sie sie ein und ersetzen Sie den Inhalt der Datei index.js.
Jetzt kannst du rennen npx serverless deployund dann können wir die Fähigkeit einsetzen!
Verwenden der Box-Fähigkeit
An diesem Punkt sind alle Teile für das Funktionieren eines Box-Skills eingerichtet: Box-Skill-Erstellung, Box-Skill-Autorisierung, Erstellung von Metadatenvorlagen und die Einrichtung der serverlosen Funktion/des maschinellen Lernens. Wir können den Skill jetzt für unseren eigentlichen Anwendungsfall verwenden!
Laden Sie eine Datei in den vom Administrator konfigurierten Box-Ordner hoch.
Klicken Sie in eine hochgeladene Datei und sehen Sie, dass Metadaten auf eine Datei angewendet wurden.
Box benötigt etwa zehn Minuten, um Metadaten zu indizieren. Danach können die Metadaten als Suchkriterien für Inhalte innerhalb der Box-Webanwendung verwendet werden.
Klicken Sie auf die Suchleiste > Metadaten > Wählen Sie eine Vorlage aus der Dropdown-Liste > geben Sie die Suchkriterien ein > drücken Sie die Eingabetaste.
Alle Dateien, die den Kriterien entsprechen, werden zurückgegeben.
Box-Skills-Tutorial abgeschlossen
In diesem Blogbeitrag habe ich gezeigt, wie Sie mit einfachem Boilerplate-Code und einer sofort einsatzbereiten API für maschinelles Lernen wertvolle Daten in den in Box gespeicherten Inhalten sammeln und verwenden können.
In diesem Tutorial haben wir Grundrisse verwendet, aber Sie können jedes gewünschte Dokument verwenden – Lebensläufe, Rechnungen, Bewerbungen usw. Die Möglichkeiten sind aufgrund der vielen gebrauchsfertigen APIs für maschinelles Lernen endlos. Plus – wie Sie dem Tutorial entnehmen können, ist das Einrichten des Flows nicht so schwierig!
Ein großes Dankeschön an Marley !
Wir hoffen, dass Ihnen dieses Tutorial gefallen hat, und Sie können sich gerne im Entwicklerforum an uns wenden , um Unterstützung zu erhalten, oder über Box Pulse , um Vorschläge zur Verbesserung der Box-Fähigkeiten zu machen.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































