0 / 0

Generación de datos sintéticos no estructurados (beta)

Última actualización: 08 may 2025
creado: "2025-03-11 14:09:23 -0400" title: "Generación de datos sintéticos no estructurados" fname: " synthetic\sdg-unstructured-overview.liquid.md "

creado: "2025-03-11 14:09:23 -0400" title: "Generación de datos sintéticos no estructurados" fname: " synthetic\sdg-unstructured-overview.liquid.md "

Con la API de generación de datos sintéticos watsonx.ai, puede crear grandes conjuntos de datos de texto no estructurado de alta calidad que imitan los datos en tiempo real de su organización. Utilice los conjuntos de datos sintéticos generados para ajustar y evaluar los modelos de base para su caso de uso específico.

Nota:La generación de datos sintéticos no estructurados está disponible como función beta y se puede acceder a ella mediante programación a través de la API watsonx.ai sólo en las regiones de Sídney y Toronto.

Visión general

Puede utilizar grandes modelos lingüísticos (LLM) entrenados con grandes conjuntos de datos para generar resultados personalizados para su organización. Sin embargo, hay que afinar los modelos con una gran cantidad de datos de entrenamiento útiles y precisos. Un conjunto de datos pequeño o de baja calidad es insuficiente para entrenar con éxito modelos que generen resultados relevantes para su caso de uso específico.

Utilice la API de generación de datos sintéticos para crear grandes conjuntos de datos de texto no estructurados mediante canalizaciones de creación de datos y validadores de datos optimizados para generar datos con los que ajustar y evaluar modelos de cimentación.

Un proceso de creación de datos genera datos sintéticos en distintos formatos que imitan los datos iniciales de muestra y los documentos de referencia que usted proporciona como entrada al proceso. En función de su caso de uso, puede elegir entre los siguientes pipelines de creación de datos:

Llamada a la herramienta
El canal de creación de datos de la herramienta crea conjuntos de datos de entrenamiento que pueden utilizarse para entrenar modelos de IA que interactúen con herramientas externas, interfaces de programación de aplicaciones (API) o sistemas para mejorar sus capacidades.
Texto a SQL
La cadena de creación de datos de texto a SQL genera tripletas de datos SQL sintéticos que contienen una declaración en lenguaje natural que describe una operación de base de datos, una declaración SQL equivalente para realizar la operación de base de datos y el esquema de base de datos.
Conocimientos
La canalización de datos de conocimiento genera pares de pregunta y respuesta ( QnA ) basados en ejemplos de documentos específicos de un dominio empresarial.

Para obtener más información sobre los formatos de datos semilla y cómo elegir una canalización de generación de datos, consulte Canalizaciones de generación de datos y formatos de datos semilla.

API REST

Puede utilizar la API de generación de datos sintéticos (SDG) para administrar la generación de datos sintéticos no estructurados. Los datos sintéticos se generan con modelos de cimentación que se facilitan en watsonx.ai. El formato de los datos generados se basa en los datos iniciales de muestra que proporcione y en el canal de generación de datos que utilice. Una vez que el modelo base genera el conjunto de datos, éstos se validan con respecto a los requisitos de calidad del canal de creación de datos y se almacenan en el activo del proyecto.

Nota: Durante el periodo beta se siguen cobrando los tokens utilizados por los modelos de la fundación para generar datos sintéticos.

Para obtener detalles del método API, consulte la documentación de referencia de la API watsonx.ai.

Para obtener más información sobre las mejores prácticas que debe seguir cuando ajuste y evalúe modelos de cimentación utilizando los datos que se generan con la API, consulte Mejores prácticas.

El siguiente diagrama muestra el flujo de trabajo de la API REST para generar datos sintéticos no estructurados proporcionando datos semilla de muestra en un formato que se adapte a su caso de uso.

watsonx.ai flujo de trabajo API de generación de datos sintéticos no estructurados

Antes de empezar

Para generar datos sintéticos no estructurados mediante programación, primero debe completar la siguiente configuración:

  1. Crear un proyecto y tener el rol de Admin o Editor en el proyecto. Su proyecto debe tener asociada una instancia del servicio watsonx.ai Runtime.

  2. Cree una clave API de usuario IBM Cloud y un token IBM Cloud Identity and Access Management (IAM). Para más detalles, consulte Credenciales para el acceso programático.

  3. Crear una credencial de tarea.

    Una credencial de tarea es una clave de API que se utiliza para autenticar trabajos de larga duración que se inician mediante pasos que se seguirán durante el procedimiento de generación de datos sintéticos. No es necesario pasar la credencial de la tarea en la solicitud de API. Para obtener más información, consulte Creación de credenciales de tareas.

  4. Opcional : Elija un modelo de base que se utilizará para generar conjuntos de datos sintéticos.

    Los siguientes modelos están certificados para su uso con el servicio Synthetic Data Generator :

    • granite-3-8b-instruct
    • mistral-large

    La API utiliza por defecto el modelo granite-3-8b-instruct . Para obtener detalles sobre el modelo, incluida la información de facturación y los ID de modelo de API, consulte Modelos de cimientos compatibles.

Procedimiento

Siga estos pasos de alto nivel para generar datos sintéticos de texto no estructurado utilizando la API REST:

  1. Elija un canal de generación de datos y cargue los archivos de datos iniciales de entrada en el activo de su proyecto.

    El formato de los datos de entrada de muestra depende del canal de generación de datos que seleccione. Para todos los generadores de datos, debe proporcionar datos iniciales como entrada para la solicitud de generación de datos. En algunos casos, también deberá presentar documentos de referencia. Para más detalles, consulte Canalizaciones del generador de datos y formatos de datos semilla.

  2. Utilice el método de API REST Crear un trabajo de generación de datos sintéticos no estructurados para crear la configuración del trabajo para su tipo de activo generador de datos sintéticos. Debe especificar los siguientes parámetros en su solicitud:

    • El proceso de creación de datos
    • Referencia a sus datos de entrada de semillas
    • El número de pares QnA que hay que generar

    Puede especificar opcionalmente el ID de modelo de API de un modelo de cimentación para anular la configuración de modelo predeterminada.

  3. Ejecute el trabajo de generación de datos sintéticos no estructurados de una de las siguientes maneras:

    La ejecución de un trabajo puede tardar unos minutos u horas en completarse, dependiendo del volumen de los resultados generados, del proceso de creación de datos y del modelo. Puede supervisar el estado del trabajo de generación de datos sintéticos no estructurados haciendo clic en la ejecución del trabajo para acceder al registro desde la página Detalles de la ejecución del trabajo.

    Atención:Se cobra por las fichas que genera el modelo de fundación. Para más detalles, consulte Modelos de cimientos compatibles.
  4. Descargue los archivos JSONL de salida generados que contienen los datos sintéticos no estructurados del activo de datos de su proyecto. Los datos generados se formatean de acuerdo con la canalización del generador de datos que especificó en la solicitud de API para crear el trabajo de generación de datos sintéticos no estructurados.

Ejemplo de solicitud

Por ejemplo, el siguiente comando envía una solicitud de generación de datos sintéticos no estructurados:

curl -X POST \
  'https://api.{region}.dai.cloud.ibm.com/v1/synthetic_data/generation/unstructured?version=2025-04-17' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \'
  --header 'Authorization: Bearer eyJraWQiOi...' \'
  --data @payload.json'

A continuación se muestra un ejemplo de archivo payload.json que contiene un cuerpo de solicitud que anula el modelo de base predeterminado:

{
    "project_id": "<Your project ID>",
    "name": "<Name of the job that you want to create>",
    "description": "<Description of your project>",
    "pipeline": "<Data builder pipeline>",
    "model_id": "mistralai/mistral-large",
    "parameters": {
         "num_outputs_to_generate": < A value between 1 to 1000 >,
    },
    "seed_data_reference": {
         "type": "container",
         "location": {
            "path": "<Input seed data file name in project asset>"
         }
    },
    "results_reference": {
         "type": "container",
         "location": {
            "path": "<Generated data output file name in project asset>"
         }
    }
}

Detalles de la salida

Durante el periodo beta, puede generar un máximo de 1.000 pares QnA de datos sintéticos con cada solicitud de API REST. Para generar un conjunto de datos mayor, póngase en contacto con el equipo de asistencia abriendo un caso en el portal de asistencia IBM Cloud. Para más detalles, consulte Creación de casos de asistencia en la documentación de IBM Cloud.

Mejores prácticas

Siga las siguientes directrices cuando trabaje con la API de generación de datos sintéticos:

  • Para seleccionar el modelo de base más adecuado para su caso de uso, experimente generando un pequeño número de pares QnA con varios modelos de base certificados. Cambie la siguiente configuración en su solicitud de API para ajustar la cantidad de conjuntos de datos generados:

    "parameters": {
      "num_outputs_to_generate": 10
    }
    

    Tras verificar la calidad del resultado generado, elija un modelo de base certificado y proceda a generar conjuntos de datos más grandes.

  • Asegúrese de revisar los datos sintéticos no estructurados que se producen con la API antes de utilizar los datos para entrenar sus modelos.

  • Para utilizar datos sintéticos para entrenar modelos en Tuning Studio, el conjunto de datos debe contener atributos de input y output .

    En función del proceso de creación de datos que utilice para generar los datos sintéticos, siga los pasos siguientes para hacer que su conjunto de datos sea compatible con Tuning Studio :

    • Tubería de llamada de herramientas: No se requieren cambios, listo para usar.
    • Canalización de texto a SQL: Cambie el nombre del atributo utterance a input. Cambia el nombre del atributo query a output.
    • Canalización del conocimiento: Cambia el nombre del atributo question a input. Cambia el nombre del atributo answer a output.

Más información

Tema principal: Preparación de datos