Markdown y HTML de salida

Vertex AI Pipelines proporciona un conjunto de tipos de visualizaciones predefinidos para evaluar el resultado de un trabajo de canalización (por ejemplo, Metrics o ClassificationMetrics). Sin embargo, existen muchos casos en los que se necesita una visualización personalizada. Vertex AI Pipelines proporciona dos enfoques principales para generar artefactos de visualización personalizados: Markdown y archivos HTML.

Importa las dependencias requeridas

En tu entorno de desarrollo, importa las dependencias requeridas.

from kfp import dsl
from kfp.dsl import (
    Output,
    HTML,
    Markdown
)

HTML de salida

Para exportar un archivo HTML, define un componente con el artefacto Output[HTML]. También debes escribir el contenido HTML en la ruta del artefacto. En este ejemplo, se usa una variable de string para representar el contenido HTML.

@dsl.component
def html_visualization(html_artifact: Output[HTML]):
    public_url = 'https://user-images.githubusercontent.com/37026441/140434086-d9e1099b-82c7-4df8-ae25-83fda2929088.png'
    html_content = \
      '<html><head></head><body><h1>Global Feature Importance</h1>\n<img src="{}" width="97%"/></body></html>'.format(public_url)
    with open(html_artifact.path, 'w') as f:
        f.write(html_content)

Artefacto HTML en la consola de Google Cloud:

Artefacto HTML en la consola

Información del artefacto HTML en la consola de Google Cloud:

Información del artefacto HTML en la consola

Haz clic en “Ver HTML” para abrir un archivo HTML en una pestaña nueva.

Información del artefacto HTML en la consola

Markdown de salida

Para exportar un archivo de Markdown, define un componente con el artefacto Output[Markdown]. También debes escribir el contenido de Markdown en la ruta del artefacto. En este ejemplo, se usa una variable de string para representar el contenido de Markdown.

@dsl.component
def markdown_visualization(markdown_artifact: Output[Markdown]):
    import urllib.request

    with urllib.request.urlopen('https://gist.githubusercontent.com/zijianjoy/a288d582e477f8021a1fcffcfd9a1803/raw/68519f72abb59152d92cf891b4719cd95c40e4b6/table_visualization.md') as table:
        markdown_content = table.read().decode('utf-8')
        with open(markdown_artifact.path, 'w') as f:
            f.write(markdown_content)

Artefacto de Markdown en la consola de Google Cloud:

Artefacto Markdown en la consola

Información del artefacto de Markdown en la consola de Google Cloud:

Información del artefacto de Markdown en la consola

Crea tu canalización

Una vez que hayas definido tu componente con el artefacto de HTML o Markdown, crea y ejecuta una canalización que use el componente.

@dsl.pipeline(
    name=f'metrics-visualization-pipeline')
def metrics_visualization_pipeline():
    html_visualization_op = html_visualization()
    markdown_visualization_op = markdown_visualization()

Después de enviar la ejecución de la canalización, puedes ver el gráfico de esta ejecución en la consola de Google Cloud. Este gráfico incluye los artefactos HTML y de Markdown que declaraste en los componentes correspondientes. Puedes seleccionar estos artefactos para ver la visualización detallada.