Strukturierte und unstrukturierte Daten aktualisieren

Auf dieser Seite wird beschrieben, wie Sie strukturierte und unstrukturierte Daten aktualisieren.

Informationen zum Aktualisieren Ihrer Website-Apps finden Sie unter Webseite aktualisieren.

Strukturierte Daten aktualisieren

Sie können die Daten in einem strukturierten Datenspeicher aktualisieren, solange Sie ein Schema verwenden, das mit dem Schema im Datenspeicher identisch oder abwärtskompatibel ist. Für Beispiel: Einem vorhandenen Schema nur neue Felder hinzufügen, ist abwärtskompatibel.

Sie können strukturierte Daten in der Google Cloud Console oder über die API aktualisieren.

Console

Mit der Google Cloud Console strukturierte Daten aus einem Zweig von Daten aktualisieren führen Sie diese Schritte aus:

  1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf.

    Zum Agent Builder

  2. Klicken Sie im Navigationsmenü auf Datenspeicher.

  3. Klicken Sie in der Spalte Name auf den Datenspeicher, den Sie bearbeiten möchten.

  4. Klicken Sie auf dem Tab Dokumente auf Daten importieren.

  5. So aktualisieren Sie von Cloud Storage aus:

    1. Wählen Sie im Bereich Datenquelle auswählen die Option Cloud Storage aus.
    2. Klicken Sie im Bereich Daten aus Cloud Storage importieren auf Durchsuchen. wählen Sie den Bucket aus, der die aktualisierten Daten enthält, und klicken dann auf Auswählen: Alternativ können Sie den Bucket-Standort direkt in das gs:// übergeben.
    3. Wählen Sie unter Optionen für den Datenimport eine Importoption aus.
    4. Klicken Sie auf Importieren.
  6. So aktualisieren Sie von BigQuery aus:

    1. Wählen Sie im Bereich Datenquelle auswählen die Option BigQuery aus.
    2. Klicken Sie im Bereich Daten aus BigQuery importieren auf Durchsuchen, wählen Sie eine Tabelle mit den aktualisierten Daten aus und klicken Sie dann auf Auswählen. Alternativ können Sie den Speicherort der Tabelle direkt in das Feld BigQuery-Pfad eingeben.
    3. Wählen Sie unter Optionen für den Datenimport eine Importoption aus.
    4. Klicken Sie auf Importieren.

REST

Aktualisieren Sie Ihre Daten mit der Methode documents.import. Angabe des entsprechenden reconciliationMode-Werts.

So aktualisieren Sie strukturierte Daten aus BigQuery oder Cloud Storage mithilfe der Befehlszeile führen Sie die folgenden Schritte aus:

  1. Suchen Sie die Datenspeicher-ID. Wenn Sie bereits einen Datenspeicher haben ID verwenden, fahren Sie mit dem nächsten Schritt fort.

    1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf und klicken Sie im Navigationsmenü auf Datenspeicher.

      Zur Seite „Datenspeicher“

    2. Klicken Sie auf den Namen Ihres Datenspeichers.

    3. Rufen Sie auf der Datenseite Ihres Datenspeichers die Datenspeicher-ID ab.

  2. Rufen Sie die folgende Methode auf, um Ihre strukturierten Daten aus BigQuery zu importieren. Sie können entweder aus BigQuery oder Cloud Storage importieren. Wenn Sie Daten aus Cloud Storage importieren möchten, gehen Sie zu zum nächsten Schritt.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
    -d '{
      "bigquerySource": {
        "projectId": "PROJECT_ID",
        "datasetId":"DATASET_ID",
        "tableId": "TABLE_ID",
        "dataSchema": "DATA_SCHEMA_BQ",
      },
      "reconciliationMode": "RECONCILIATION_MODE",
      "autoGenerateIds": AUTO_GENERATE_IDS,
      "idField": "ID_FIELD",
      "errorConfig": {
        "gcsPrefix": "ERROR_DIRECTORY"
      }
    }'
    
    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: die ID des Vertex AI Search-Datenspeichers.
    • DATASET_ID: der Name Ihres BigQuery-Datasets.
    • TABLE_ID: der Name Ihrer BigQuery-Tabelle.
    • DATA_SCHEMA_BQ: ein optionales Feld zur Angabe des zu verwendenden Schemas wenn Daten aus der BigQuery-Quelle geparst werden. Kann die folgende Werte:
      • document: der Standardwert. Die von Ihnen verwendete BigQuery-Tabelle muss dem folgenden BigQuery-Standardschema entsprechen. Ich können Sie die ID jedes Dokuments selbst definieren und dabei das gesamte Daten im String json_data.
      • custom: Es wird jedes BigQuery-Tabellenschema akzeptiert und Vertex AI Agent Builder generiert automatisch die IDs für jedes importierte Dokument.
    • ERROR_DIRECTORY: Optionales Feld, in dem ein Cloud Storage-Verzeichnis für Fehlerinformationen zum Import angegeben werden kann, z. B. gs://<your-gcs-bucket>/directory/import_errors. Google empfiehlt, Dieses Feld ist leer, damit Vertex AI Agent Builder automatisch ein des temporären Verzeichnisses.
    • RECONCILIATION_MODE: ein optionales Feld, das angibt, wie die importierte Dokumente mit den vorhandenen Dokumenten im Zieldatenspeicher. Kann die folgenden Werte haben:
      • INCREMENTAL: Der Standardwert. Führt zu einer inkrementellen Aktualisierung der Daten. von BigQuery in Ihren Datenspeicher übertragen. Dies führt zu einem Upsert-Vorgang. , der neue Dokumente hinzufügt und vorhandene Dokumente durch aktualisierte Dokumente mit derselben ID.
      • FULL: führt zu einem vollständigen Rebase der Dokumente in Ihrem Datenspeicher. Daher werden Ihrem Datenspeicher neue und aktualisierte Dokumente hinzugefügt. Dokumente, die nicht in BigQuery vorhanden sind, werden aus Ihren Daten entfernt. speichern. Der Modus „FULL“ ist hilfreich, wenn Daten automatisch gelöscht werden sollen die Sie nicht mehr benötigen.
    • AUTO_GENERATE_IDS: Optionales Feld, mit dem angegeben wird, ob Dokument-IDs automatisch generiert werden sollen. Wenn true festgelegt ist, werden Dokument-IDs werden auf Basis eines Hashwerts der Nutzlast generiert. Das generierte Dokument-IDs bleiben möglicherweise bei mehreren Importen nicht einheitlich. Wenn automatisch IDs über mehrere Importe hinweg generieren, empfiehlt, reconciliationMode auf FULL zu setzen, um einheitliche Dokument-IDs.

      Geben Sie autoGenerateIds nur an, wenn bigquerySource.dataSchema auf custom festgelegt ist. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben. Wenn Sie autoGenerateIds nicht angeben oder auf false festlegen, müssen Sie idField angeben. Andernfalls können die Dokumente nicht importiert werden.

    • ID_FIELD: Optionales Feld, mit dem angegeben wird, welche Felder die Dokument-IDs sind. Für BigQuery-Quelldateien: idField den Namen der Spalte in der BigQuery-Tabelle an, enthält die Dokument-IDs.

      Geben Sie idField nur an, wenn beide dieser Bedingungen erfüllt sind. Andernfalls wird ein INVALID_ARGUMENT-Fehler zurückgegeben:

      • bigquerySource.dataSchema ist auf custom gesetzt.
      • auto_generate_ids ist auf false festgelegt oder nicht angegeben.

      Außerdem muss der Wert des BigQuery-Spaltennamens Stringtyp, muss zwischen 1 und 63 Zeichen lang sein und muss gemäß RFC-1034. Andernfalls wird das Feld Dokumente konnten nicht importiert werden.

    Das ist das BigQuery-Standardschema. Ihre BigQuery-Tabelle muss diesem Schema entsprechen, wenn Sie dataSchema auf document festlegen.

    [
     {
       "name": "id",
       "mode": "REQUIRED",
       "type": "STRING",
       "fields": []
     },
     {
       "name": "jsonData",
       "mode": "NULLABLE",
       "type": "STRING",
       "fields": []
     }
    ]
    
  3. Rufen Sie die folgende Methode auf, um Ihre strukturierten Daten aus Cloud Storage zu importieren. Sie können entweder aus BigQuery oder Cloud Storage importieren. Wenn Sie aus BigQuery importieren möchten, kehren Sie zum vorherigen Schritt zurück.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
    -d '{
      "gcsSource": {
        "inputUris": ["GCS_PATHS"],
        "dataSchema": "DATA_SCHEMA_GCS",
      },
      "reconciliationMode": "RECONCILIATION_MODE",
      "idField": "ID_FIELD",
      "errorConfig": {
        "gcsPrefix": "ERROR_DIRECTORY"
      }
    }'
    
    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: die ID des Vertex AI Search-Datenspeichers.
    • GCS_PATHS: eine Liste kommagetrennter URIs, die Cloud Storage-Speicherorte, aus denen Sie importieren möchten. Jeder URI kann 2.000 Zeichen lang sein. URIs können mit dem vollständigen Pfad eines Speicherobjekts oder mit dem Muster für ein oder mehrere Objekte übereinstimmen. Beispiel: gs://bucket/directory/*.json ist ein gültiger Pfad.
    • DATA_SCHEMA_GCS: Optionales Feld, in dem das Schema angegeben wird, das beim Parsen von Daten aus der BigQuery-Quelle verwendet werden soll. Kann die folgenden Werte haben:
      • document: der Standardwert. Die von Ihnen verwendete BigQuery-Tabelle muss dem folgenden BigQuery-Standardschema entsprechen. Ich können Sie die ID jedes Dokuments selbst definieren und dabei das gesamte Daten im String json_data.
      • custom: Es wird jedes BigQuery-Tabellenschema akzeptiert und Vertex AI Agent Builder generiert automatisch die IDs für jedes importierte Dokument.
    • ERROR_DIRECTORY: Optionales Feld, in dem ein Cloud Storage-Verzeichnis für Fehlerinformationen zum Import angegeben werden kann, z. B. gs://<your-gcs-bucket>/directory/import_errors. Google empfiehlt, Dieses Feld ist leer, damit Vertex AI Agent Builder automatisch ein des temporären Verzeichnisses.
    • RECONCILIATION_MODE: ein optionales Feld, das angibt, wie die importierte Dokumente mit den vorhandenen Dokumenten im Zieldatenspeicher. Kann die folgenden Werte haben:
      • INCREMENTAL: Der Standardwert. Führt zu einer inkrementellen Aktualisierung der Daten. von BigQuery in Ihren Datenspeicher übertragen. Dies führt zu einem Upsert-Vorgang. , der neue Dokumente hinzufügt und vorhandene Dokumente durch aktualisierte Dokumente mit derselben ID.
      • FULL: führt zu einer vollständigen Neuausrichtung der Dokumente in Ihrem Datenspeicher. Daher werden Ihrem Datenspeicher neue und aktualisierte Dokumente hinzugefügt und Dokumente, die nicht in BigQuery enthalten sind, werden aus Ihrem Datenspeicher entfernt. Der Modus „FULL“ ist hilfreich, wenn Daten automatisch gelöscht werden sollen die Sie nicht mehr benötigen.

Python

Weitere Informationen finden Sie in der Vertex AI Agent Builder Python API Referenzdokumentation.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "global"
# data_store_id = "YOUR_DATA_STORE_ID"
# bigquery_dataset = "YOUR_BIGQUERY_DATASET"
# bigquery_table = "YOUR_BIGQUERY_TABLE"

#  For more information, refer to:
# https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
client_options = (
    ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
    if location != "global"
    else None
)

# Create a client
client = discoveryengine.DocumentServiceClient(client_options=client_options)

# The full resource name of the search engine branch.
# e.g. projects/{project}/locations/{location}/dataStores/{data_store_id}/branches/{branch}
parent = client.branch_path(
    project=project_id,
    location=location,
    data_store=data_store_id,
    branch="default_branch",
)

request = discoveryengine.ImportDocumentsRequest(
    parent=parent,
    bigquery_source=discoveryengine.BigQuerySource(
        project_id=project_id,
        dataset_id=bigquery_dataset,
        table_id=bigquery_table,
        data_schema="custom",
    ),
    # Options: `FULL`, `INCREMENTAL`
    reconciliation_mode=discoveryengine.ImportDocumentsRequest.ReconciliationMode.INCREMENTAL,
)

# Make the request
operation = client.import_documents(request=request)

print(f"Waiting for operation to complete: {operation.operation.name}")
response = operation.result()

# After the operation is complete,
# get information from operation metadata
metadata = discoveryengine.ImportDocumentsMetadata(operation.metadata)

# Handle the response
print(response)
print(metadata)

Unstrukturierte Daten aktualisieren

Sie können unstrukturierte Daten in der Google Cloud Console oder über die API aktualisieren.

Console

Mit der Google Cloud Console unstrukturierte Daten aus einem Zweig von Daten aktualisieren führen Sie diese Schritte aus:

  1. Rufen Sie in der Google Cloud Console die Seite Agent Builder auf.

    Zum Agent Builder

  2. Klicken Sie im Navigationsmenü auf Datenspeicher.

  3. Klicken Sie in der Spalte Name auf den Datenspeicher, den Sie bearbeiten möchten.

  4. Klicken Sie auf dem Tab Dokumente auf Daten importieren.

  5. So nehmen Sie Daten aus einem Cloud Storage-Bucket auf (mit oder ohne Metadaten):

    1. Wählen Sie im Bereich Datenquelle auswählen die Option Cloud Storage aus.
    2. Klicken Sie im Bereich Daten aus Cloud Storage importieren auf Durchsuchen. wählen Sie den Bucket aus, der die aktualisierten Daten enthält, und klicken dann auf Auswählen: Alternativ können Sie den Speicherort des Buckets direkt in das Feld gs:// eingeben.
    3. Wählen Sie unter Optionen für den Datenimport eine Importoption aus.
    4. Klicken Sie auf Importieren.
  6. So nehmen Sie Daten aus BigQuery auf:

    1. Wählen Sie im Bereich Datenquelle auswählen die Option BigQuery aus.
    2. Klicken Sie im Bereich Daten aus BigQuery importieren auf Durchsuchen, wählen Sie eine Tabelle mit den aktualisierten Daten aus und klicken Sie dann auf Auswählen. Alternativ können Sie den Speicherort der Tabelle direkt in Das Feld BigQuery-Pfad
    3. Wählen Sie unter Optionen für den Datenimport eine Importoption aus.
    4. Klicken Sie auf Importieren.

REST

Wenn Sie unstrukturierte Daten mit der API aktualisieren möchten, importieren Sie sie noch einmal mit der Methode documents.import und geben Sie den entsprechenden reconciliationMode-Wert an. Weitere Informationen zum Importieren unstrukturierter Daten finden Sie unter Unstrukturierte Daten.

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Vertex AI Agent Builder zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "global"
# data_store_id = "YOUR_DATA_STORE_ID"

# Examples:
# - Unstructured documents
#   - `gs://bucket/directory/file.pdf`
#   - `gs://bucket/directory/*.pdf`
# - Unstructured documents with JSONL Metadata
#   - `gs://bucket/directory/file.json`
# - Unstructured documents with CSV Metadata
#   - `gs://bucket/directory/file.csv`
# gcs_uri = "YOUR_GCS_PATH"

#  For more information, refer to:
# https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
client_options = (
    ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
    if location != "global"
    else None
)

# Create a client
client = discoveryengine.DocumentServiceClient(client_options=client_options)

# The full resource name of the search engine branch.
# e.g. projects/{project}/locations/{location}/dataStores/{data_store_id}/branches/{branch}
parent = client.branch_path(
    project=project_id,
    location=location,
    data_store=data_store_id,
    branch="default_branch",
)

request = discoveryengine.ImportDocumentsRequest(
    parent=parent,
    gcs_source=discoveryengine.GcsSource(
        # Multiple URIs are supported
        input_uris=[gcs_uri],
        # Options:
        # - `content` - Unstructured documents (PDF, HTML, DOC, TXT, PPTX)
        # - `custom` - Unstructured documents with custom JSONL metadata
        # - `document` - Structured documents in the discoveryengine.Document format.
        # - `csv` - Unstructured documents with CSV metadata
        data_schema="content",
    ),
    # Options: `FULL`, `INCREMENTAL`
    reconciliation_mode=discoveryengine.ImportDocumentsRequest.ReconciliationMode.INCREMENTAL,
)

# Make the request
operation = client.import_documents(request=request)

print(f"Waiting for operation to complete: {operation.operation.name}")
response = operation.result()

# After the operation is complete,
# get information from operation metadata
metadata = discoveryengine.ImportDocumentsMetadata(operation.metadata)

# Handle the response
print(response)
print(metadata)