Crea una soluzione di arricchimento webhook esterna in Watson Discovery

In questa esercitazione, puoi utilizzare delle applicazioni di esempio per creare una soluzione di arricchimento webhook esterna utilizzando Watson Discovery.

IBM Cloud

Seguire questa esercitazione solo se si sta utilizzando una distribuzione gestita.

La seguente immagine mostra il flusso di configurazione dell'arricchimento esterno.

Mostra il
di configurazione dell'arricchimento esterno*Flusso di configurazione dell'arricchimento

La seguente immagine mostra il flusso del processo di arricchimento esterno.

Mostra il
del processo di arricchimento esterno*Flusso del processo di arricchimento

Per ulteriori informazioni sulle API di arricchimento esterno, vedi API di arricchimento esterno.

Obiettivi di apprendimento

Al termine dell'esercitazione, si apprenderà come utilizzare le seguenti applicazioni di esempio:

  • Regex: per l'estrazione di entità, la classificazione di documenti e la classificazione di frasi utilizzando espressioni regolari
  • Granite: Per l'estrazione di entità dalle e-mail utilizzando il modello watsonx.ai Granite
  • Slate: per l'estrazione di entità con il modello Slate watsonx.ai ottimizzato con i dati etichettati esportati dal workspace estrattore di entità di Watson Discovery.

Durata

Il completamento di questa esercitazione richiede circa 2 ore.

Prerequisito

  1. Prima di iniziare, devi configurare un account a pagamento con IBM Cloud per ottenere un'istanza di Watson Discovery Plus o piano Enterprise.

    Puoi completare questa esercitazione gratuitamente utilizzando un piano Plus, che offre una versione di prova di 30 giorni gratuitamente. Tuttavia, per creare un'istanza del piano Plus del servizio, devi avere un account a pagamento (dove fornisci i dettagli della carta di credito). Per ulteriori informazioni sulla creazione di un account a pagamento, vedi Aggiornamento del tuo account. Per creare un'istanza del servizio Discovery del piano Plus, vai alla pagina della risorsaDiscovery nel catalogo IBM Cloud e crea un'istanza del servizio piano Plus.

    Se decidi di smettere di utilizzare il piano Plus e non vuoi pagarlo, elimina l'istanza del servizio del piano Plus prima della fine del periodo di prova di 30 giorni.

  2. Dovresti avere accesso al repository Discovery doc - tutorial - downloads per scaricare le applicazioni e i dati di esempio.

Prerequisiti aggiuntivi per l'applicazione Granite

  1. Imposta un'istanza di Watson Machine Learning. Per ulteriori informazioni sui piani dei prezzi, vedi Watson Machine Learning.

  2. Crea una chiave API per IBM Cloud. Per ulteriori informazioni, consulta Descrizione delle chiavi API.

Prerequisiti aggiuntivi per l'applicazione Slate

  1. Imposta un'istanza di Watson Machine Learning. Per ulteriori informazioni sui piani dei prezzi, vedi Watson Machine Learning.

  2. Imposta un'istanza di Cloud Pak for Data 4.7.x o successiva e installa Watson Studio e Watson Machine Learning.

  3. Crea una chiave API per IBM Cloud. Per ulteriori informazioni, consulta Descrizione delle chiavi API.

  4. Creare una chiave API per IBM Cloud Pak for Data. Per ulteriori informazioni, vedere Iniziare con IBM Cloud Paks.

Regex - Estrazione entità, classificazione documento e classificazione frase utilizzando espressioni regolari

In questo esempio, stiamo utilizzando IBM Cloud Code Engine come ambiente dell'infrastruttura per l'applicazione dell'arricchimento webhook. Tuttavia, è possibile distribuire l'applicazione in qualsiasi altro ambiente.

  1. Distribuisci l'applicazione di arricchimento webhook a IBM Cloud Code Engine.

    1. Creare un progetto in IBM Cloud Code Engine. Per ulteriori informazioni, consultare Creazione di un progetto.

    2. Creare un segreto nel progetto. Per ulteriori informazioni, vedi Creazione di segreti.

      Questo segreto deve contenere le seguenti coppie chiave - valore:

      • WD_API_URL: L'endpoint API URL dell'istanza Discovery.
      • WD_API_KEY: la chiave API della tua istanza Discovery.
      • WEBHOOK_SECRET: una chiave da passare con una richiesta che può essere utilizzata per l'autenticazione con l'applicazione. Ad esempio,purple_unicorn.
    3. Distribuire l'applicazione dal codice sorgente del repository di esempio. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice di origine del repository.

      In Crea applicazione, fare clic su Specifica dettagli build e immettere questi dettagli.

      • Per l'origine, specificare:

      • Strategia: Dockerfile

      • Output: immetti le tue informazioni di registro dell'immagine del contenitore

      • Aprire Variabili di ambiente (facoltativo) e aggiungere le seguenti variabili di ambiente:

        • Definisci come: Reference to full secret
        • Segreto: il nome del segreto creato nel progetto nel passo precedente

      È possibile impostare il Numero minimo di istanze su 1.

    4. Assicurarsi che lo stato dell'applicazione cambi in Pronto.

  2. Configura l'arricchimento webhook Discovery. Per ulteriori informazioni, vedi Configurazione dell'arricchimento webhook.

  3. Inserisce i documenti in Discovery e ne visualizza i risultati.

    1. Carica nhtsa.csv da Discovery doc - tutorial - downloads nella raccolta.
    2. Trova i risultati dell'arricchimento webhook visualizzando l'anteprima dei risultati della tua query una volta completata l'elaborazione del documento.

Granite- Estrazione di entità utilizzando un modello di fondazione di watsonx.ai

In questo esempio, estraiamo le entità da un'e-mail usando il modello watsonx.ai Granite. Stiamo usando IBM Cloud Code Engine come ambiente di infrastruttura per l'applicazione dell'arricchimento dei webhook. Tuttavia, è possibile distribuire l'applicazione in qualsiasi altro ambiente.

  1. Distribuisci l'applicazione di arricchimento webhook a IBM Cloud Code Engine.

    1. Creare un progetto in IBM Cloud Code Engine. Per ulteriori informazioni, consultare Creazione di un progetto.

    2. Creare un segreto nel progetto. Per ulteriori informazioni, vedi Creazione di segreti.

      Questo segreto deve contenere le seguenti coppie chiave - valore:

      • WD_API_URL: L'endpoint API URL dell'istanza Discovery.
      • WD_API_KEY: la chiave API della tua istanza Discovery.
      • WEBHOOK_SECRET: una chiave da passare con una richiesta che può essere utilizzata per l'autenticazione con l'applicazione. Ad esempio,purple_unicorn.
      • IBM_CLOUD_API_KEY: la chiave dell'API di IBM Cloud. Viene utilizzato per accedere all'API Watson Machine Learning.
      • WML_ENDPOINT_URL: L'endpoint API URL del proprio Watson Machine Learning. Per ulteriori informazioni, consultare la documentazione di Machine Learning.
      • WML_INSTANCE_CRN: il CRN della tua istanza Watson Machine Learning. Puoi individuare la tua istanza e il tuo CRN utilizzando il comando ibmcloud : ibmcloud resources.
    3. Distribuire l'applicazione dal codice sorgente del repository di esempio. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice di origine del repository.

      In Crea applicazione, fare clic su Specifica dettagli build e immettere questi dettagli.

      • Per l'origine, specificare:

      • Strategia: Dockerfile

      • Output: immetti le tue informazioni di registro dell'immagine del contenitore

      • Aprire Variabili di ambiente (facoltativo) e aggiungere le seguenti variabili di ambiente:

        • Definisci come: Reference to full secret
        • Segreto: il nome del segreto creato nel progetto nel passo precedente

      È possibile impostare il Numero minimo di istanze su 1.

    4. Assicurarsi che lo stato dell'applicazione cambi in Pronto.

  2. Configura l'arricchimento webhook Discovery. Per ulteriori informazioni, vedi Configurazione dell'arricchimento webhook.

  3. Inserisce i documenti in Discovery e ne visualizza i risultati.

    1. Carica email.txt da Discovery doc - tutorial - downloads alla raccolta.
    2. Trova i risultati dell'arricchimento webhook visualizzando l'anteprima dei risultati della tua query una volta completata l'elaborazione del documento.

Estrazione Slate - Entity con Watsonx.ai Modello Slate ottimizzato con dati etichettati esportati dallo spazio di lavoro dell'estrattore entità di Watson Discovery.

I modelli di ardesia hanno il miglior trade-off delle prestazioni in termini di costi per i casi di utilizzo non generativi. Per l'ottimizzazione, richiede dati con etichetta specifici dell'attività. Puoi preparare i dati etichettati in Watson Discovery, ottimizzare il modello Slate in Watson Studioe distribuire il modello in Watson Machine Learning. Una volta distribuito un modello ottimizzato, puoi creare un arricchimento webhook che arricchisce i documenti utilizzando quel modello in Watson Discovery.

  1. Prepara i dati etichettati in Watson Discovery.

    1. Creare uno spazio di lavoro del programma di estrazione entità ed etichettare i dati. Per ulteriori informazioni, vedi Definisci entità personalizzate.

    2. Scaricare i dati con etichetta dallo spazio di lavoro dell'estrattore entità. Per ulteriori informazioni, consultare Esportazione di dati con etichetta per un estrattore entità.

      In questa esercitazione, puoi utilizzare i dati etichettati di esempio da Discovery doc - tutorial - downloads nei passi successivi.

  2. Ottimizza il modello di lista in Watson Studio e distribuisci il modello a Watson Machine Learning.

    1. Creare un progetto in Watson Studio. Per ulteriori informazioni, consultare Creazione di un progetto.

    2. Crea uno spazio di distribuzione in Watson Machine Learning. Per ulteriori informazioni, vedi Creazione di spazi di distribuzione

    3. Creare un template ambiente nel progetto. Per ulteriori informazioni, consultare Creazione di modelli di ambiente. È possibile creare con le seguenti opzioni:

      • Tipo: Default
      • Configurazione hardware
        • Riserva vCPU: 2
        • Riserva RAM (GB): 8
      • Versione software: Runtime 23.1 su Python 3.10
    4. Creare il notebook nel progetto utilizzando il template ambiente come runtime dal file notebook. Per ulteriori informazioni sulla creazione di un notebook, consultare Creazione di notebook. Il file notebook si trova all'indirizzo Discovery doc - tutorial - downloads.

    5. Caricare i dati con etichetta nel notebook. Per ulteriori informazioni, consultare Carica dati dai file locali.

    6. Ottimizzare e distribuire il modello Slate eseguendo il notebook passo per passo e sostituendo determinate variabili.

  3. Distribuisci l'applicazione di arricchimento webhook a IBM Cloud Code Engine.

    1. Creare un progetto in IBM Cloud Code Engine. Per ulteriori informazioni, consultare Creazione di un progetto.

    2. Creare un segreto nel progetto. Per ulteriori informazioni, vedi Creazione di segreti.

      Questo segreto deve contenere le seguenti coppie chiave - valore:

      • WD_API_URL: L'endpoint API URL dell'istanza Discovery.
      • WD_API_KEY: la chiave API della tua istanza Discovery.
      • WEBHOOK_SECRET: una chiave da passare con una richiesta che può essere utilizzata per l'autenticazione con l'applicazione. Ad esempio,purple_unicorn.
      • SCORING_API_HOSTNAME: il nome host API della tua distribuzione del calcolo del punteggio Watson Machine Learning che serve il tuo modello di ardesia ottimizzato.
      • SCORING_DEPLOYMENT_ID: l'ID della tua distribuzione del punteggio Watson Machine Learning che serve il tuo modello di ardesia ottimizzato.
      • SCORING_API_TOKEN: il token API utilizzato nell'autorizzazione di connessione per utilizzare la distribuzione del punteggio Watson Machine Learning che serve il tuo modello Slate ottimizzato. Puoi ottenere un token utilizzando il seguente comando:
      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
      )
      
  4. Distribuire l'applicazione dal codice sorgente del repository di esempio. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice di origine del repository.

    1. In Crea applicazione, fare clic su Specifica dettagli build e immettere questi dettagli.

      • Per l'origine, specificare:

      • Strategia: Dockerfile

      • Output: immetti le tue informazioni di registro dell'immagine del contenitore

      • Aprire Variabili di ambiente (facoltativo) e aggiungere le seguenti variabili di ambiente:

        • Definisci come: Reference to full secret
        • Segreto: il nome del segreto creato nel progetto nel passo precedente

      È possibile impostare il Numero minimo di istanze su 1.

    2. Assicurarsi che lo stato dell'applicazione cambi in Pronto.

  5. Configura l'arricchimento webhook Discovery. Per ulteriori informazioni, vedi Configurazione dell'arricchimento webhook.

  6. Inserisce i documenti in Discovery e ne visualizza i risultati.

    1. Caricare una pagina di report annuale da Discovery doc - esercitazione - download nella raccolta.
    2. Trova i risultati dell'arricchimento webhook visualizzando l'anteprima dei risultati della tua query una volta completata l'elaborazione del documento.

Configurazione dell'arricchimento webhook

  1. Creare un progetto.

  2. Crea un arricchimento webhook utilizzando l'API Discovery.

    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'
    
  3. Crea una raccolta nel progetto e applica l'arricchimento webhook alla raccolta.

    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'