Crea y administra notebooks (API)

Gemini Notebook Enterprise es una herramienta potente para generar estadísticas y resúmenes a partir de tus documentos. En esta página, se describen las APIs que te permiten realizar las siguientes tareas de administración de notebooks de forma programática:

Antes de comenzar

Antes de comenzar a trabajar con tus notebooks, haz lo siguiente:

Crea un notebook

Para crear un notebook nuevo, usa el notebooks.create método.

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" \
  -d '{
  "title": "NOTEBOOK_TITLE",
  }'

Reemplaza lo siguiente:

  • ENDPOINT_LOCATION: Es la región múltiple para tu solicitud a la API. Especifica 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 Cómo especificar una región múltiple para tu almacén de datos.
  • PROJECT_NUMBER: Es el número de tu Google Cloud proyecto.
  • LOCATION: Es la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_TITLE: Es una cadena codificada en UTF-8 que se usa como título para el notebook que deseas crear.

Si la solicitud se realiza correctamente, deberías recibir un objeto JSON similar al siguiente.

{
"title": "NOTEBOOK_TITLE",
"notebookId": "NOTEBOOK_ID",
"emoji": "",
"metadata": {
  "userRole": "PROJECT_ROLE_OWNER",
  "isShared": false,
  "isShareable": true
},
"name": "NOTEBOOK_NAME"
}

Ten en cuenta lo siguiente:

  • NOTEBOOK_ID: Es un ID único para identificar el notebook creado. Necesitas el ID del notebook para otras tareas de administración de notebooks, como compartir o recuperar.
  • NOTEBOOK_NAME: Es el nombre completo del recurso del notebook. Este campo tiene el siguiente patrón: projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID

Accede al notebook creado y obtén su ID en un navegador

Para acceder al notebook creado y obtener su ID con un navegador, haz lo siguiente.

  1. Ve a la página principal de Gemini Notebook Enterprise, que está disponible en una de las siguientes URLs:

    1. Si usas una identidad de Google, ve a:

      https://notebook.cloud.google.com/LOCATION/?project=PROJECT_NUMBER
      
    2. Si usas una identidad de terceros, ve a:

      https://notebook.cloud.google/LOCATION/?project=PROJECT_NUMBER
      
  2. Selecciona el notebook creado. La URL del notebook seleccionado tiene el siguiente patrón:

    1. Si usas una identidad de Google:

      https://notebook.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. Si usas una identidad de terceros:

      https://notebook.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  3. Toma nota de la URL y el ID del notebook, que son útiles para otras tareas de administración de notebooks, como compartir.

Recupera un notebook

Para recuperar un notebook específico con su ID, usa el notebooks.get método.

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"

Reemplaza lo siguiente:

  • ENDPOINT_LOCATION: Es la región múltiple para tu solicitud a la API. Especifica 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 Cómo especificar una región múltiple para tu almacén de datos.
  • PROJECT_NUMBER: Es el número de tu Google Cloud proyecto.
  • LOCATION: Es la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_ID: Es el identificador único del notebook que recibiste cuando lo creaste.

Si la solicitud se realiza correctamente, deberías obtener una respuesta JSON similar a la siguiente para un notebook vacío. Si llamas a este método después de agregar fuentes a tu notebook, recibirás detalles sobre todas las fuentes agregadas al notebook recuperado. Si configuraste los detalles de CMEK, también recibirás información relacionada con CMEK para el notebook.

{
"title": "NOTEBOOK_TITLE",
"notebookId": "NOTEBOOK_ID",
"emoji": "",
"metadata": {
  "userRole": "PROJECT_ROLE_OWNER",
  "isShared": false,
  "isShareable": true,
  "lastViewed": "LAST_VIEWED_TIME",
  "createTime": "LAST_CREATED_TIME"
},
"name": "NOTEBOOK_NAME"
}

Muestra los notebooks vistos recientemente

Para obtener una lista de todos los notebooks de un proyecto que se vieron recientemente, usa el notebooks.listRecentlyViewed método. De forma predeterminada, la respuesta muestra los últimos 500 notebooks. Puedes elegir paginar las respuestas con el parámetro de consulta pageSize.

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:listRecentlyViewed"

Reemplaza lo siguiente:

  • ENDPOINT_LOCATION: Es la región múltiple para tu solicitud a la API. Especifica 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 Cómo especificar una región múltiple para tu almacén de datos.
  • PROJECT_NUMBER: Es el número de tu Google Cloud proyecto.
  • LOCATION: Es la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.

Si la solicitud se realiza correctamente, deberías obtener una respuesta JSON similar a la siguiente. La respuesta contiene hasta los últimos 500 notebooks a los que accedió un usuario recientemente.

{
  "notebooks": [
    {
      "title": "NOTEBOOK_TITLE_1",
      "notebookId": "NOTEBOOK_ID_1",
      "emoji": "",
      "metadata": {
        "userRole": "PROJECT_ROLE_OWNER",
        "isShared": false,
        "isShareable": true,
        "lastViewed": "LAST_VIEWED_TIME",
        "createTime": "LAST_CREATED_TIME"
      },
      "name": "NOTEBOOK_NAME_1"
    },
    {
      "title": "NOTEBOOK_TITLE_2",
      "notebookId": "NOTEBOOK_ID_2",
      "emoji": "",
      "metadata": {
        "userRole": "PROJECT_ROLE_OWNER",
        "isShared": false,
        "isShareable": true,
        "lastViewed": "LAST_VIEWED_TIME",
        "createTime": "LAST_CREATED_TIME"
      },
      "name": "NOTEBOOK_NAME_2"
    }
  ]
}

Borra un notebook

Para borrar un notebook, usa el notebooks.batchDelete método.

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:batchDelete" \
  -d '{
    "names": [
      "NOTEBOOK_NAME"
    ]
  }'

Reemplaza lo siguiente:

  • ENDPOINT_LOCATION: Es la región múltiple para tu solicitud a la API. Especifica 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 Cómo especificar una región múltiple para tu almacén de datos.
  • PROJECT_NUMBER: Es el número de tu Google Cloud proyecto.
  • LOCATION: Es la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
  • NOTEBOOK_NAME: Es el nombre completo del recurso del notebook que se borrará. Este campo tiene el siguiente patrón: projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID.

    Si la solicitud se realiza correctamente, recibirás un objeto JSON vacío. Si el notebook no existe, también recibirás un objeto JSON vacío, así que asegúrate de especificar el nombre del notebook correctamente.

Comparte un notebook

Para compartir un notebook nuevo, usa el notebooks.share método.

Se debe otorgar el rol de usuario de NotebookLM de Cloud al usuario con el que deseas compartir el notebook.

REST

  1. En tu Google Cloud proyecto, asigna el rol de Cloud NotebookLM User Identity and Access Management (IAM) a los usuarios con los que deseas compartir el notebook.

  2. Llama al siguiente método.

    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:share" \
      -d '{
        "accountAndRoles": [
         {
            "email":"USER_EMAIL_1",
            "role":"USER_ROLE_1",
         },
         {
            "email":"USER_EMAIL_2",
            "role":"USER_ROLE_2",
         },
        ]
      }'
    

    Reemplaza lo siguiente:

    • ENDPOINT_LOCATION: Es la región múltiple para tu solicitud a la API. Especifica 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 Cómo especificar una región múltiple para tu almacén de datos.
    • PROJECT_NUMBER: Es el número de tu Google Cloud proyecto.
    • LOCATION: Es la ubicación geográfica de tu almacén de datos, como global. Para obtener más información, consulta Ubicaciones.
    • NOTEBOOK_ID: Es un ID único para identificar el notebook que deseas compartir. Necesitas el ID del notebook para otras tareas de administración de notebooks, como compartir o recuperar.
    • USER_EMAIL: Es la dirección de correo electrónico del usuario con el que deseas compartir el notebook.
    • USER_ROLE: Es un rol que deseas asignar al usuario. Puede ser uno de los siguientes:

      • PROJECT_ROLE_OWNER: El usuario es propietario del proyecto.
      • PROJECT_ROLE_WRITER: El usuario tiene permisos de escritura en el proyecto.
      • PROJECT_ROLE_READER: El usuario tiene permisos de lectura en el proyecto.
      • PROJECT_ROLE_NOT_SHARED:El usuario no tiene acceso al proyecto.

    Si la solicitud se realiza correctamente, recibirás un objeto JSON vacío.

Verifica a los usuarios con un navegador

Para verificar si compartiste el notebook con los usuarios correctos y les asignaste los roles correctos, haz lo siguiente:

  1. Abre el notebook en tu navegador. Un notebook tiene el siguiente patrón de URL:

    1. Si usas una identidad de Google:

      https://notebook.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. Si usas una identidad de terceros:

      https://notebook.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  2. Haz clic en Compartir.

  3. Verifica los usuarios que aparecen como Personas con acceso y sus roles asignados.

¿Qué sigue?