Añadir y gestionar fuentes de datos en un cuaderno (API)

Una vez que hayas creado tu cuaderno, podrás añadirle varios tipos de contenido como fuentes de datos. Puedes hacerlo por lotes o de forma individual. Entre las fuentes se incluyen documentos y presentaciones de Google, texto sin formato, contenido web y vídeos de YouTube.

En esta página se describe cómo realizar las siguientes tareas:

Antes de empezar

Si tienes previsto añadir Documentos o Presentaciones de Google como fuente de datos, debes autorizar el acceso a Google Drive con las credenciales de usuario de Google. Para ello, ejecuta el siguiente comando gloud auth login y sigue las instrucciones de la CLI.

gcloud auth login --enable-gdrive-access

Añadir fuentes de datos en lote

Para añadir fuentes a un cuaderno, llama al método notebooks.sources.batchCreate.

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
     "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:batchCreate" \
  -d '{
  "userContents": [
    {
    USER_CONTENT
    }
   ]
  }'

Haz los cambios siguientes:

  • ENDPOINT_LOCATION: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
    • us- para la multirregión de EE. UU.
    • eu- para la multirregión de la UE
    • global- para la ubicación global
    Para obtener más información, consulta el artículo sobre cómo especificar una multirregión para tu almacén de datos.
  • PROJECT_NUMBER: el número de tu proyecto de Google Cloud .
  • LOCATION: la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_ID: identificador único del cuaderno.
  • USER_CONTENT: el contenido de la fuente de datos.

Solo puedes añadir una de las siguientes fuentes de datos como contenido:

  • En el caso del contenido de Google Drive que consista en Documentos o Presentaciones de Google, añade lo siguiente:

     "googleDriveContent": {
       "documentId": "DOCUMENT_ID_GOOGLE",
       "mimeType": "MIME_TYPE",
       "sourceName": "DISPLAY_NAME_GOOGLE"
     }
    

    Haz los cambios siguientes:

    • DOCUMENT_ID_GOOGLE: el ID del archivo que está en Google Drive. Este ID aparece en la URL del archivo. Para obtener el ID de un archivo, ábrelo. Su URL tiene el siguiente patrón: https://docs.google.com/FILE_TYPE/d/DOCUMENT_ID_GOOGLE/edit?resourcekey=RESOURCE_KEY.
    • MIME_TYPE: el tipo MIME del documento seleccionado. Usa application/vnd.google-apps.document para Documentos de Google o application/vnd.google-apps.presentation para Presentaciones de Google.
    • DISPLAY_NAME_GOOGLE: nombre visible de la fuente de datos.
  • Para introducir texto sin formato, añade lo siguiente:

      "textContent": {
        "sourceName": "DISPLAY_NAME_TEXT",
        "content": "TEXT_CONTENT"
      }
    

    Haz los cambios siguientes:

    • DISPLAY_NAME_TEXT: nombre visible de la fuente de datos.
    • TEXT_CONTENT: el contenido de texto sin formato que quieras subir como fuente de datos.
  • En el caso del contenido web, añade lo siguiente:

     "webContent": {
       "url": "URL_WEBCONTENT",
       "sourceName": "DISPLAY_NAME_WEB"
     }
    

    Haz los cambios siguientes:

    • URL_WEBCONTENT: la URL del contenido que quieres subir como fuente de datos.
    • DISPLAY_NAME_WEB: nombre visible de la fuente de datos.
  • En el caso del contenido de vídeo, añade lo siguiente:

     "videoContent": {
       "url": "URL_YOUTUBE"
     }
    

    Sustituye URL_YOUTUBE por la URL del vídeo de YouTube que quieras subir como fuente de datos.

Si la solicitud se realiza correctamente, deberías obtener una instancia del objeto source como respuesta, similar al siguiente JSON. Tenga en cuenta los valores SOURCE_ID y SOURCE_RESOURCE_NAME, que son necesarios para realizar otras tareas, como recuperar o eliminar la fuente de datos.

{
  "sources": [
    {
      "sourceId": {
        "id": "SOURCE_ID"
      },
      "title": "DISPLAY_NAME",
      "metadata": {
        "xyz": "abc"
      },
      "settings": {
        "status": "SOURCE_STATUS_COMPLETE"
      },
      "name": "SOURCE_RESOURCE_NAME"
    }
  ]
}

Subir un archivo como fuente

Además de añadir fuentes de datos en lotes, puede subir archivos individuales que se pueden usar como fuentes de datos en su cuaderno. Para subir un solo archivo, llama al método notebooks.sources.uploadFile.

REST

curl -X POST --data-binary "@PATH/TO/FILE" \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "X-Goog-Upload-File-Name: FILE_DISPLAY_NAME" \
  -H "X-Goog-Upload-Protocol: raw" \
  -H "Content-Type: CONTENT_TYPE" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/upload/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources:uploadFile" \

Haz los cambios siguientes:

  • PATH/TO/FILE: la ruta al archivo que quieres subir.
  • FILE_DISPLAY_NAME: una cadena que indica el nombre visible del archivo en el cuaderno.
  • CONTENT_TYPE: el tipo de contenido que quieras subir. Para ver una lista de los tipos de contenido admitidos, consulta Tipos de contenido admitidos.
  • ENDPOINT_LOCATION: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
    • us- para la multirregión de EE. UU.
    • eu- para la multirregión de la UE
    • global- para la ubicación global
    Para obtener más información, consulta el artículo sobre cómo especificar una multirregión para tu almacén de datos.
  • PROJECT_NUMBER: el número de tu proyecto de Google Cloud .
  • LOCATION: la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_ID: identificador único del cuaderno.

Si la solicitud se realiza correctamente, deberías obtener una respuesta JSON similar a la siguiente.

{
  "sourceId": {
    "id": "SOURCE_ID"
  }
}

Tipos de contenido admitidos

El archivo que subas como fuente debe ser compatible.

Se admiten los siguientes tipos de contenido de documentos:

Extensión del archivo Tipo de contenido
.pdf application/pdf
.txt text/plain
.md text/markdown
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Se admiten los siguientes tipos de contenido de audio:

Extensión del archivo Tipo de contenido
.3g2 audio/3gpp2
.3gp audio/3gpp
.aac audio/aac
.aif audio/aiff
.aifc audio/aiff
.aiff audio/aiff
.amr audio/amr
.au audio/basic
.avi video/x-msvideo
.cda application/x-cdf
.m4a audio/m4a
.mid audio/midi
.midi audio/midi
.mp3 audio/mpeg
.mp4 video/mp4
.mpeg audio/mpeg
.ogg audio/ogg
.opus audio/ogg
.ra audio/vnd.rn-realaudio
.ram audio/vnd.rn-realaudio
.snd audio/basic
.wav audio/wav
.weba audio/webm
.wma audio/x-ms-wma

Se admiten los siguientes tipos de contenido de imagen:

Extensión del archivo Tipo de contenido
.png image/png
.jpg image/jpg
.jpeg image/jpeg

Recuperar una fuente

Para recuperar una fuente específica que se haya añadido a un cuaderno, usa el método notebooks.sources.get.

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/sources/SOURCE_ID"

Haz los cambios siguientes:

  • ENDPOINT_LOCATION: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
    • us- para la multirregión de EE. UU.
    • eu- para la multirregión de la UE
    • global- para la ubicación global
    Para obtener más información, consulta el artículo sobre cómo especificar una multirregión para tu almacén de datos.
  • PROJECT_NUMBER: el número de tu proyecto de Google Cloud .
  • LOCATION: la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_ID: el identificador único que recibiste al crear el cuaderno. Para obtener más información, consulta el artículo Crear un cuaderno.
  • SOURCE_ID: el identificador de la fuente que recibiste cuando añadiste la fuente a tu cuaderno.

Si la solicitud se realiza correctamente, deberías recibir una respuesta JSON similar a la siguiente.

{
  "sources": [
    {
      "sourceId": {
        "id": "SOURCE_ID"
      },
      "title": "DISPLAY_NAME",
      "metadata": {
        "wordCount": 148,
        "tokenCount": 160
      },
      "settings": {
        "status": "SOURCE_STATUS_COMPLETE"
      },
     "name": "SOURCE_RESOURCE_NAME"

    }
  ]
}

Eliminar fuentes de datos de un cuaderno

Para eliminar fuentes de datos en bloque de un cuaderno, usa el método notebooks.sources.batchDelete.

REST

  curl -X POST \
    -H "Authorization:Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/"NOTEBOOK_ID"/sources:batchDelete"
    -d '{
      "names": [
        "SOURCE_RESOURCE_NAME_1",
        "SOURCE_RESOURCE_NAME_2"
      ]
    }'

Haz los cambios siguientes:

  • ENDPOINT_LOCATION: la multirregión de tu solicitud a la API. Asigna uno de los siguientes valores:
    • us- para la multirregión de EE. UU.
    • eu- para la multirregión de la UE
    • global- para la ubicación global
    Para obtener más información, consulta el artículo sobre cómo especificar una multirregión para tu almacén de datos.
  • PROJECT_NUMBER: el número de tu proyecto de Google Cloud .
  • LOCATION: la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_ID: identificador único del cuaderno.
  • SOURCE_RESOURCE_NAME: nombre completo del recurso de la fuente de datos que se va a eliminar. Este campo tiene el siguiente patrón: projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID/source/SOURCE_ID.

Si la solicitud se realiza correctamente, deberías recibir un objeto JSON vacío.

Siguientes pasos