Cree una solución de enriquecimiento de webhook externo en Watson Discovery
En esta guía de aprendizaje, puede utilizar aplicaciones de ejemplo para crear una solución de enriquecimiento de webhook externo utilizando Watson Discovery.
IBM Cloud
Siga esta guía de aprendizaje sólo si está utilizando un despliegue gestionado.
La imagen siguiente muestra el flujo de configuración de enriquecimiento externo.
La imagen siguiente muestra el flujo de proceso de enriquecimiento externo.
Para obtener más información sobre las API de enriquecimiento externo, consulte API de enriquecimiento externo.
Objetivos de aprendizaje
Cuando finalice la guía de aprendizaje, aprenderá a utilizar las siguientes aplicaciones de ejemplo:
Regex: para la extracción de entidades, la clasificación de documentos y la clasificación de frases utilizando expresiones regularesGranite: Para la extracción de entidades del correo electrónico mediante el modelo watsonx.ai GraniteSlate: Para la extracción de entidades con el modelo de watsonx.ai Slate que se ajusta con los datos etiquetados exportados desde el espacio de trabajo del extractor de entidades de Watson Discovery.
Duración
Este tutorial tarda aproximadamente 2 horas en completarse.
Requisito previo
-
Antes de empezar, debe configurar una cuenta de pago con IBM Cloud para obtener una instancia de Watson Discovery Plus o plan Enterprise.
Puede completar esta guía de aprendizaje sin coste alguno utilizando un plan Plus, que ofrece una prueba de 30 días sin coste alguno. Sin embargo, para crear una instancia del servicio de plan Plus, debe tener una cuenta de pago (en la que se proporciona la información de la tarjeta de crédito). Para obtener más información sobre la creación de una cuenta de pago, consulte Actualización de la cuenta. Para crear una instancia de servicio del plan Plus Discovery, vaya a la página RecursoDiscovery del catálogo IBM Cloud y cree una instancia de servicio del plan Plus.
Si decide dejar de utilizar el plan Plus y no quiere pagarlo, elimine la instancia de servicio del plan Plus antes de que finalice el periodo de prueba de 30 días.
-
Debe tener acceso al repositorio Discovery doc-tutorial-downloads para descargar las aplicaciones y los datos de ejemplo.
Requisitos adicionales para la aplicación Granite
-
Configure una instancia de Watson Machine Learning. Para obtener más información sobre los planes de precios, consulte Watson Machine Learning.
-
Cree una clave de API para IBM Cloud. Para obtener más información, consulte Descripción de las claves de API.
Requisitos previos adicionales para la aplicación Slate
-
Configure una instancia de Watson Machine Learning. Para obtener más información sobre los planes de precios, consulte Watson Machine Learning.
-
Configure una instancia de Cloud Pak for Data 4.7.x o posterior e instale Watson Studio y Watson Machine Learning.
-
Cree una clave de API para IBM Cloud. Para obtener más información, consulte Descripción de las claves de API.
-
Cree una clave API para IBM Cloud Pak for Data. Para obtener más información, consulte Cómo empezar con IBM Cloud Paks.
Expresión regular-Extracción de entidades, clasificación de documentos y clasificación de frases utilizando expresiones regulares
En este ejemplo, estamos utilizando IBM Cloud Code Engine como entorno de infraestructura para la aplicación del enriquecimiento de webhook. Sin embargo, puede desplegar la aplicación en cualquier otro entorno.
-
Despliegue la aplicación de enriquecimiento de webhook en IBM Cloud Code Engine.
-
Cree un proyecto en IBM Cloud Code Engine. Para obtener más información, consulte Crear un proyecto.
-
Cree un secreto en el proyecto. Para obtener más información, consulte Creación de secretos.
Este secreto debe contener los siguientes pares de clave-valor:
WD_API_URL: El punto final de la API URL de su instancia de Discovery.WD_API_KEY: La clave de API de la instancia de Discovery.WEBHOOK_SECRET: clave que se debe pasar con la solicitud que se puede utilizar para autenticarse con la aplicación. Por ejemplo,purple_unicorn.
-
Despliegue la aplicación desde el código fuente del repositorio de ejemplo. Para obtener más información, consulte Despliegue de la app desde el código fuente del repositorio.
En Crear aplicación, pulse Especificar detalles de compilación y especifique estos detalles.
-
Para el origen, especifique:
- URL del repositorio de código: URL de la página de descargas de tutoriales de documentos del repositorio de código de muestra Discovery
- Código de acceso a la cuenta:
None - Nombre de sucursal:
master - Directorio de contexto:
discovery-data/webhook-enrichment-sample/regex
-
strategy:
Dockerfile -
Salida: especifique la información de registro de imágenes de contenedor
-
Abra Variables de entorno (opcional) y añada las variables de entorno siguientes:
- Definir como:
Reference to full secret - Secreto: El nombre del secreto que ha creado en el proyecto en el paso anterior
- Definir como:
Puede establecer el Número mínimo de instancias en 1.
-
-
Asegúrese de que el estado de la aplicación cambia a Listo.
-
-
Configure el enriquecimiento de webhook Discovery. Para obtener más información, consulte Configuración del enriquecimiento de webhook.
-
Ingiera documentos en Discovery y consulte los resultados.
- Cargue nhtsa.csv desde Discovery doc-tutorial-downloads en la colección.
- Busque los resultados de enriquecimiento de webhook previsualizando los resultados de la consulta una vez completado el proceso del documento.
Granite- Extracción de entidades utilizando un modelo base de watsonx.ai
En este ejemplo, extraemos entidades de un correo electrónico utilizando el modelo watsonx.ai Granite. Estamos utilizando IBM Cloud Code Engine como entorno de infraestructura para la aplicación del enriquecimiento webhook. Sin embargo, puede desplegar la aplicación en cualquier otro entorno.
-
Despliegue la aplicación de enriquecimiento de webhook en IBM Cloud Code Engine.
-
Cree un proyecto en IBM Cloud Code Engine. Para obtener más información, consulte Crear un proyecto.
-
Cree un secreto en el proyecto. Para obtener más información, consulte Creación de secretos.
Este secreto debe contener los siguientes pares de clave-valor:
WD_API_URL: El punto final de la API URL de su instancia de Discovery.WD_API_KEY: La clave de API de la instancia de Discovery.WEBHOOK_SECRET: clave que se debe pasar con la solicitud que se puede utilizar para autenticarse con la aplicación. Por ejemplo,purple_unicorn.IBM_CLOUD_API_KEY: La clave de API de IBM Cloud. Se utiliza para acceder a la API de Watson Machine Learning.WML_ENDPOINT_URL: El punto final de la API URL de su Watson Machine Learning. Para obtener más información, consulte la documentación de Machine Learning.WML_INSTANCE_CRN: el CRN de la instancia de Watson Machine Learning. Puede encontrar la instancia y el CRN utilizando el mandatoibmcloud:ibmcloud resources.
-
Despliegue la aplicación desde el código fuente del repositorio de ejemplo. Para obtener más información, consulte Despliegue de la app desde el código fuente del repositorio.
En Crear aplicación, pulse Especificar detalles de compilación y especifique estos detalles.
-
Para el origen, especifique:
- URL del repositorio de código: URL de la página de descargas de tutoriales de documentos del repositorio de código de muestra Discovery
- Código de acceso a la cuenta:
None - Nombre de sucursal:
master - Directorio de contexto:
discovery-data/webhook-enrichment-sample/granite
-
strategy:
Dockerfile -
Salida: especifique la información de registro de imágenes de contenedor
-
Abra Variables de entorno (opcional) y añada las variables de entorno siguientes:
- Definir como:
Reference to full secret - Secreto: El nombre del secreto que ha creado en el proyecto en el paso anterior
- Definir como:
Puede establecer el Número mínimo de instancias en 1.
-
-
Asegúrese de que el estado de la aplicación cambia a Listo.
-
-
Configure el enriquecimiento de webhook Discovery. Para obtener más información, consulte Configuración del enriquecimiento de webhook.
-
Ingiera documentos en Discovery y consulte los resultados.
- Cargue email.txt de Discovery doc-tutorial-downloads en la colección.
- Busque los resultados de enriquecimiento de webhook previsualizando los resultados de la consulta una vez completado el proceso del documento.
Slate-Extracción de entidades con el modelo de Watsonx.ai Slate que se ajusta con los datos etiquetados exportados desde el espacio de trabajo del extractor de entidades de Watson Discovery.
Los modelos de pizarra tienen el mejor equilibrio de rendimiento de coste para casos de uso no generativos. Para un ajuste preciso, requiere datos etiquetados específicos de la tarea. Puede preparar datos etiquetados en Watson Discovery, ajustar el modelo de Slate en Watson Studioy desplegar el modelo en Watson Machine Learning. Una vez que despliegue un modelo ajustado, puede crear un enriquecimiento de webhook que enriquezca los documentos utilizando dicho modelo en Watson Discovery.
-
Prepare los datos etiquetados en Watson Discovery.
-
Crear un espacio de trabajo de extractor de entidad y datos de etiqueta. Para obtener más información, consulte Definir entidades personalizadas.
-
Descargue los datos etiquetados del espacio de trabajo del extractor de entidad. Para obtener más información, consulte Exportación de datos etiquetados para un extractor de entidad.
En esta guía de aprendizaje, puede utilizar los datos etiquetados de ejemplo de Discovery doc-tutorial-downloads en los pasos siguientes.
-
-
Ajuste el modelo de pizarra en Watson Studio y despliegue el modelo en Watson Machine Learning.
-
Cree un proyecto en Watson Studio. Para obtener más información, consulte Creación de un proyecto.
-
Cree un espacio de despliegue en Watson Machine Learning. Para obtener más información, consulte Creación de espacios de despliegue
-
Cree una plantilla de entorno en el proyecto. Para obtener más información, consulte Creación de plantillas de entorno. Puede crear con las siguientes opciones:
- Tipo:
Default - Configuración de hardware
- Reserva vCPU: 2
- RAM de reserva (GB): 8
- Versión de software: Tiempo de ejecución 23.1 en Python 3.10
- Tipo:
-
Cree un cuaderno en el proyecto utilizando la plantilla de entorno como tiempo de ejecución desde el archivo de cuaderno. Para obtener más información sobre cxreating un cuaderno, consulte Creación de cuadernos. El archivo de cuaderno se encuentra en Discovery doc-tutorial-downloads.
-
Cargue los datos etiquetados en el cuaderno. Para obtener más información, consulte Cargar datos desde archivos locales.
-
Ajuste y despliegue el modelo de Slate ejecutando el cuaderno paso a paso y sustituyendo determinadas variables.
-
-
Despliegue la aplicación de enriquecimiento de webhook en IBM Cloud Code Engine.
-
Cree un proyecto en IBM Cloud Code Engine. Para obtener más información, consulte Crear un proyecto.
-
Cree un secreto en el proyecto. Para obtener más información, consulte Creación de secretos.
Este secreto debe contener los siguientes pares de clave-valor:
WD_API_URL: El punto final de la API URL de su instancia de Discovery.WD_API_KEY: La clave de API de la instancia de Discovery.WEBHOOK_SECRET: clave que se debe pasar con la solicitud que se puede utilizar para autenticarse con la aplicación. Por ejemplo,purple_unicorn.SCORING_API_HOSTNAME: El nombre de host de API de su despliegue de puntuación de Watson Machine Learning que sirve a su modelo de pizarra ajustado.SCORING_DEPLOYMENT_ID: el ID del despliegue de puntuación de Watson Machine Learning que sirve al modelo de pizarra ajustado.SCORING_API_TOKEN: la señal de API utilizada en la autorización de portador para utilizar el despliegue de puntuación de Watson Machine Learning que sirve al modelo Slate ajustado. Puede obtener un token utilizando el siguiente 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 )
-
-
Despliegue la aplicación desde el código fuente del repositorio de ejemplo. Para obtener más información, consulte Despliegue de la app desde el código fuente del repositorio.
-
En Crear aplicación, pulse Especificar detalles de compilación y especifique estos detalles.
-
Para el origen, especifique:
- URL del repositorio de código: URL de la página de descargas de tutoriales de documentos del repositorio de código de muestra Discovery
- Código de acceso a la cuenta:
None - Nombre de sucursal:
master - Directorio de contexto:
discovery-data/webhook-enrichment-sample/slate
-
strategy:
Dockerfile -
Salida: especifique la información de registro de imágenes de contenedor
-
Abra Variables de entorno (opcional) y añada las variables de entorno siguientes:
- Definir como:
Reference to full secret - Secreto: El nombre del secreto que ha creado en el proyecto en el paso anterior
- Definir como:
Puede establecer el Número mínimo de instancias en 1.
-
-
Asegúrese de que el estado de la aplicación cambia a Listo.
-
-
Configure el enriquecimiento de webhook Discovery. Para obtener más información, consulte Configuración del enriquecimiento de webhook.
-
Ingiera documentos en Discovery y consulte los resultados.
- Cargue una página de Informe anual desde Discovery doc-tutorial-downloads a la colección.
- Busque los resultados de enriquecimiento de webhook previsualizando los resultados de la consulta una vez completado el proceso del documento.
Configuración del enriquecimiento de webhook
-
Cree un proyecto.
-
Cree un enriquecimiento de webhook utilizando la 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' -
Cree una colección en el proyecto y aplique el enriquecimiento de webhook a la colección.
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'