Externe Webhook-Aufbereitungslösung in Watson Discovery erstellen
In diesem Lernprogramm können Sie Beispielanwendungen verwenden, um eine externe Webhook-Aufbereitungslösung mithilfe von Watson Discoveryzu erstellen.
IBM Cloud
Führen Sie dieses Lernprogramm nur aus, wenn Sie eine verwaltete Implementierung verwenden.
Die folgende Abbildung zeigt den Ablauf der Konfiguration der externen Aufbereitung.
Die folgende Abbildung zeigt den Ablauf des externen Aufbereitungsprozesses.
Weitere Informationen zu den APIs für externe Aufbereitung finden Sie unter Externe Aufbereitungs-API.
Lernziele
Wenn Sie das Lernprogramm abgeschlossen haben, lernen Sie, wie Sie die folgenden Beispielanwendungen verwenden:
Regex: Für Entitätsextraktion, Dokumentklassifizierung und Satzklassifizierung mithilfe regulärer AusdrückeGranite: Für die Extraktion von Entitäten aus E-Mails unter Verwendung des watsonx.ai Granite-ModellsSlate: Für die Entitätsextraktion mit dem Schiefermodell watsonx.ai, das mit beschrifteten Daten optimiert wurde, die aus dem Arbeitsbereich des Entitätsextraktors von Watson Discoveryexportiert wurden.
Dauer
Dieses Tutorial dauert etwa 2 Stunden.
Voraussetzung
-
Bevor Sie beginnen, müssen Sie ein gebührenpflichtiges Konto bei IBM Cloud einrichten, um eine Instanz des Plans Watson Discovery Plus oder Enterprise abzurufen.
Sie können dieses Lernprogramm kostenlos ausführen, indem Sie einen Plus-Plan verwenden, der eine 30-Tage-Testversion ohne Kosten bietet. Zum Erstellen einer Plus-Plan-Instanz des Service müssen Sie jedoch über ein gebührenpflichtiges Konto verfügen (in dem Sie Kreditkarteninformationen angeben). Weitere Informationen zum Erstellen eines gebührenpflichtigen Kontos finden Sie unter Upgrade für Ihr Konto durchführen. Um eine Discovery-Plus-Plan-Serviceinstanz zu erstellen, rufen Sie die Seite RessourceDiscovery im Katalog IBM Cloud auf und erstellen Sie eine Plus-Plan-Serviceinstanz.
Wenn Sie den Plus-Plan nicht mehr nutzen möchten und nicht dafür bezahlen möchten, löschen Sie die Service-Instanz des Plus-Plans, bevor die 30-tägige Testphase endet.
-
Sie müssen Zugriff auf das Repository Discovery doc-tutorial-downloads haben, um die Beispielanwendungen und -daten herunterzuladen.
Zusätzliche Voraussetzungen für die Anwendung Granite
-
Richten Sie eine Instanz von Watson Machine Learningein. Weitere Informationen zu den Preisstrukturplänen finden Sie unter Watson Machine Learning.
-
Erstellen Sie einen API-Schlüssel für IBM Cloud. Weitere Informationen finden Sie unter Informationen zu API-Schlüsseln.
Zusätzliche Voraussetzungen für die Slate-Anwendung
-
Richten Sie eine Instanz von Watson Machine Learningein. Weitere Informationen zu den Preisstrukturplänen finden Sie unter Watson Machine Learning.
-
Richten Sie eine Instanz von Cloud Pak for Data 4.7.x oder höher ein und installieren Sie Watson Studio und Watson Machine Learning.
-
Erstellen Sie einen API-Schlüssel für IBM Cloud. Weitere Informationen finden Sie unter Informationen zu API-Schlüsseln.
-
Erstellen Sie einen API-Schlüssel für IBM Cloud Pak for Data. Weitere Informationen finden Sie unter Einführung in die IBM Cloud Paks.
Regex-Entitätsextraktion, Dokumentklassifizierung und Satzklassifizierung mithilfe regulärer Ausdrücke
In diesem Beispiel wird IBM Cloud Code Engine als Infrastrukturumgebung für die Anwendung der Webhook-Aufbereitung verwendet. Sie können die Anwendung jedoch in jeder anderen Umgebung implementieren.
-
Stellen Sie die Webhook-Aufbereitungsanwendung in IBM Cloud Code Enginebereit.
-
Erstellen Sie in IBM Cloud Code Engine ein Projekt. Weitere Informationen finden Sie unter Projekt erstellen.
-
Erstellen Sie ein Geheimnis im Projekt. Weitere Informationen finden Sie unter Geheime Schlüssel erstellen.
Dieser geheime Schlüssel muss die folgenden Schlüssel/Wert-Paare enthalten:
WD_API_URL: Der API-Endpunkt URL Ihrer Discovery-Instanz.WD_API_KEY: Der API-Schlüssel Ihrer Discovery-Instanz.WEBHOOK_SECRET: Ein Schlüssel, der mit der Anforderung übergeben wird, die für die Authentifizierung bei der Anwendung verwendet wird. Beispiel:purple_unicorn.
-
Implementieren Sie die Anwendung aus dem Quellcode des Beispielrepositorys. Weitere Informationen finden Sie unter App aus Repository-Quellcode bereitstellen.
Klicken Sie unter Anwendung erstellenauf Builddetails angeben und geben Sie diese Details ein.
-
Geben Sie für die Quelle Folgendes an:
- Code-Repository URL: URL des Beispiel-Code-Repositorys Discovery doc-tutorial-downloads-Seite
- Zugriff auf den Code-Repository:
None - Niederlassungsname:
master - Kontextverzeichnis:
discovery-data/webhook-enrichment-sample/regex
-
strategy:
Dockerfile -
Ausgabe: Geben Sie Ihre Container-Image-Registry-Informationen ein
-
Öffnen Sie Umgebungsvariablen (optional) und fügen Sie die folgenden Umgebungsvariablen hinzu:
- Definieren als:
Reference to full secret - Secret: Der Name des geheimen Schlüssels, den Sie im vorherigen Schritt im Projekt erstellt haben
- Definieren als:
Sie können Min. Anzahl Instanzen auf 1 setzen.
-
-
Stellen Sie sicher, dass sich der Anwendungsstatus in Bereit ändert.
-
-
Konfigurieren Sie die Discovery-Webhook-Aufbereitung. Weitere Informationen finden Sie unter "Webhook-Anreicherung konfigurieren ".
-
Aufnahme von Dokumenten in Discovery und Anzeige der Ergebnisse.
- Laden Sie nhtsa.csv von Discovery doc-tutorial-downloads in die Sammlung hoch.
- Suchen Sie die Ergebnisse der Webhook-Aufbereitung, indem Sie Ihre Abfrageergebnisse voranzeigen, nachdem die Dokumentverarbeitung abgeschlossen ist.
Granite- Extraktion von Entitäten unter Verwendung eines Grundmodells von watsonx.ai
In diesem Beispiel extrahieren wir Entitäten aus einer E-Mail mit dem Modell watsonx.ai Granite. Wir verwenden IBM Cloud Code Engine als Infrastrukturumgebung für die Anwendung der Webhook-Anreicherung. Sie können die Anwendung jedoch in jeder anderen Umgebung implementieren.
-
Stellen Sie die Webhook-Aufbereitungsanwendung in IBM Cloud Code Enginebereit.
-
Erstellen Sie in IBM Cloud Code Engine ein Projekt. Weitere Informationen finden Sie unter Projekt erstellen.
-
Erstellen Sie ein Geheimnis im Projekt. Weitere Informationen finden Sie unter Geheime Schlüssel erstellen.
Dieser geheime Schlüssel muss die folgenden Schlüssel/Wert-Paare enthalten:
WD_API_URL: Der API-Endpunkt URL Ihrer Discovery-Instanz.WD_API_KEY: Der API-Schlüssel Ihrer Discovery-Instanz.WEBHOOK_SECRET: Ein Schlüssel, der mit der Anforderung übergeben wird, die für die Authentifizierung bei der Anwendung verwendet wird. Beispiel:purple_unicorn.IBM_CLOUD_API_KEY: Der API-Schlüssel von IBM Cloud. Er wird für den Zugriff auf die API Watson Machine Learning verwendet.WML_ENDPOINT_URL: Der API-Endpunkt URL von Ihrem Watson Machine Learning. Weitere Informationen finden Sie in der Dokumentation zu Machine Learning.WML_INSTANCE_CRN: Der CRN Ihrer Watson Machine Learning. Sie können Ihre Instanz und CRN mit demibmcloud-Befehlibmcloud resourcessuchen.
-
Implementieren Sie die Anwendung aus dem Quellcode des Beispielrepositorys. Weitere Informationen finden Sie unter App aus Repository-Quellcode bereitstellen.
Klicken Sie unter Anwendung erstellenauf Builddetails angeben und geben Sie diese Details ein.
-
Geben Sie für die Quelle Folgendes an:
- Code-Repository URL: URL des Beispiel-Code-Repositorys Discovery doc-tutorial-downloads-Seite
- Zugriff auf den Code-Repository:
None - Niederlassungsname:
master - Kontextverzeichnis:
discovery-data/webhook-enrichment-sample/granite
-
strategy:
Dockerfile -
Ausgabe: Geben Sie Ihre Container-Image-Registry-Informationen ein
-
Öffnen Sie Umgebungsvariablen (optional) und fügen Sie die folgenden Umgebungsvariablen hinzu:
- Definieren als:
Reference to full secret - Secret: Der Name des geheimen Schlüssels, den Sie im vorherigen Schritt im Projekt erstellt haben
- Definieren als:
Sie können Min. Anzahl Instanzen auf 1 setzen.
-
-
Stellen Sie sicher, dass sich der Anwendungsstatus in Bereit ändert.
-
-
Konfigurieren Sie die Discovery-Webhook-Aufbereitung. Weitere Informationen finden Sie unter "Webhook-Anreicherung konfigurieren ".
-
Aufnahme von Dokumenten in Discovery und Anzeige der Ergebnisse.
- Laden Sie email.txt von Discovery doc-tutorial-downloads in die Sammlung hoch.
- Suchen Sie die Ergebnisse der Webhook-Aufbereitung, indem Sie Ihre Abfrageergebnisse voranzeigen, nachdem die Dokumentverarbeitung abgeschlossen ist.
Slate-Entitätsextraktion mit dem Slate-Modell Watsonx.ai, das mit beschrifteten Daten optimiert wurde, die aus dem Arbeitsbereich des Entitätsextraktors von Watson Discoveryexportiert wurden.
Schiefermodelle bieten den besten Kompromiss in Bezug auf die Kostenleistung bei nicht generativen Anwendungsfällen. Für die Optimierung sind taskspezifische gekennzeichnete Daten erforderlich. Sie können gekennzeichnete Daten in Watson Discoveryvorbereiten, das Slate-Modell in Watson Studiooptimieren und das Modell in Watson Machine Learningbereitstellen. Nachdem Sie ein fein abgestimmtes Modell implementiert haben, können Sie eine Webhook-Aufbereitung erstellen, die Dokumente mithilfe dieses Modells in Watson Discoveryaufbereitet.
-
Bereiten Sie gekennzeichnete Daten in Watson Discoveryvor.
-
Erstellen Sie einen Arbeitsbereich für Entitätsextraktoren und Bezeichnungsdaten. Weitere Informationen finden Sie unter Angepasste Entitäten definieren.
-
Laden Sie beschriftete Daten aus dem Arbeitsbereich des Entitätsextraktionsprogramms herunter. Weitere Informationen finden Sie unter Beschriftete Daten für ein Entitätsextraktionsprogramm exportieren.
In diesem Lernprogramm können Sie die beschrifteten Beispieldaten aus Discovery doc-tutorial-downloads in nachfolgenden Schritten verwenden.
-
-
Optimieren Sie das Schiefermodell in Watson Studio und stellen Sie das Modell in Watson Machine Learningbereit.
-
Erstellen Sie ein Projekt in Watson Studio. Weitere Informationen finden Sie unter Projekt erstellen.
-
Erstellen Sie einen Bereitstellungsbereich in Watson Machine Learning. Weitere Informationen finden Sie unter Bereitstellungsbereiche erstellen.
-
Erstellen Sie eine Umgebungsschablone im Projekt. Weitere Informationen finden Sie unter Umgebungsvorlagen erstellen. Sie können mit den folgenden Optionen erstellen:
- Typ:
Default - Hardwarekonfiguration
- Reserve vCPU: 2
- RAM reservieren (GB): 8
- Softwareversion: Laufzeit 23.1 auf Python 3.10
- Typ:
-
Erstellen Sie ein Notebook im Projekt mit der Umgebungsvorlage als Laufzeit aus der Notebook-Datei. Weitere Informationen zum cxreating eines Notebooks finden Sie unter Notebooks erstellen. Die Notebookdatei befindet sich unter Discovery doc-tutorial-downloads.
-
Laden Sie beschriftete Daten in das Notebook hoch. Weitere Informationen hierzu finden Sie unter Daten aus lokalen Dateien laden.
-
Optimieren und implementieren Sie das Slate-Modell, indem Sie das Notebook schrittweise ausführen und bestimmte Variablen ersetzen.
-
-
Stellen Sie die Webhook-Aufbereitungsanwendung in IBM Cloud Code Enginebereit.
-
Erstellen Sie in IBM Cloud Code Engine ein Projekt. Weitere Informationen finden Sie unter Projekt erstellen.
-
Erstellen Sie ein Geheimnis im Projekt. Weitere Informationen finden Sie unter Geheime Schlüssel erstellen.
Dieser geheime Schlüssel muss die folgenden Schlüssel/Wert-Paare enthalten:
WD_API_URL: Der API-Endpunkt URL Ihrer Discovery-Instanz.WD_API_KEY: Der API-Schlüssel Ihrer Discovery-Instanz.WEBHOOK_SECRET: Ein Schlüssel, der mit der Anforderung übergeben wird, die für die Authentifizierung bei der Anwendung verwendet wird. Beispiel:purple_unicorn.SCORING_API_HOSTNAME: Der API-Hostname Ihrer Scoring-Bereitstellung für Watson Machine Learning, die Ihr fein abgestimmtes Schiefermodell bereitstellt.SCORING_DEPLOYMENT_ID: Die ID Ihrer Watson Machine Learning-Scoring-Bereitstellung, die Ihr fein abgestimmtes Schiefermodell bedient.SCORING_API_TOKEN: Das API-Token, das in der Trägerautorisierung verwendet wird, um Ihre Watson Machine Learning zu nutzen, die Ihr optimiertes Slate-Modell bereitstellt. Sie können einen Token mit dem folgenden Befehl erhalten:
curl -X POST {auth} \ SCORING_API_TOKEN=$( curl -k -X POST 'https://{hostname of your cp4d instance}/icp4d-api/v1/authorize' \ --header "Content-Type: application/json" -d "{\"username\":\"admin\",\"api_key\":\"{api key of your cp4d instance}\"}" \ | jq .token )
-
-
Implementieren Sie die Anwendung aus dem Quellcode des Beispielrepositorys. Weitere Informationen finden Sie unter App aus Repository-Quellcode bereitstellen.
-
Klicken Sie unter Anwendung erstellenauf Builddetails angeben und geben Sie diese Details ein.
-
Geben Sie für die Quelle Folgendes an:
- Code-Repository URL: URL des Beispiel-Code-Repositorys Discovery doc-tutorial-downloads-Seite
- Zugriff auf den Code-Repository:
None - Niederlassungsname:
master - Kontextverzeichnis:
discovery-data/webhook-enrichment-sample/slate
-
strategy:
Dockerfile -
Ausgabe: Geben Sie Ihre Container-Image-Registry-Informationen ein
-
Öffnen Sie Umgebungsvariablen (optional) und fügen Sie die folgenden Umgebungsvariablen hinzu:
- Definieren als:
Reference to full secret - Secret: Der Name des geheimen Schlüssels, den Sie im vorherigen Schritt im Projekt erstellt haben
- Definieren als:
Sie können Min. Anzahl Instanzen auf 1 setzen.
-
-
Stellen Sie sicher, dass sich der Anwendungsstatus in Bereit ändert.
-
-
Konfigurieren Sie die Discovery-Webhook-Aufbereitung. Weitere Informationen finden Sie unter "Webhook-Anreicherung konfigurieren ".
-
Aufnahme von Dokumenten in Discovery und Anzeige der Ergebnisse.
- Laden Sie eine Seite des Geschäftsberichts von Discovery doc-tutorial-downloads in die Sammlung hoch.
- Suchen Sie die Ergebnisse der Webhook-Aufbereitung, indem Sie Ihre Abfrageergebnisse voranzeigen, nachdem die Dokumentverarbeitung abgeschlossen ist.
Webhook-Aufbereitung konfigurieren
-
Erstellen Sie ein Projekt.
-
Erstellen Sie mithilfe der API Discovery eine Webhook-Aufbereitung.
curl -X POST {auth} \ --header 'Content-Type: multipart/form-data' \ --form 'enrichment={"name":"my-first-webhook-enrichment", \ "type":"webhook", \ "options":{"url":"{your_code_engine_app_domain}/webhook", \ "secret":"{your_webhook_secret}", \ "location_encoding":"utf-32"}}' \ '{url}/v2/projects/{project_id}/enrichments?version=2023-03-31' -
Erstellen Sie eine Sammlung im Projekt und wenden Sie die Webhook-Aufbereitung auf die Sammlung an.
curl -X POST {auth} \ --header 'Content-Type: application/json' \ --data '{"name":"my-collection", \ "enrichments":[{"enrichment_id":"{enrichment_id}", \ "fields":["text"]}]}' \ '{url}/v2/projects/{project_id}/collections?version=2023-03-31'