BigQuery-Einbindung

BigQuery lässt sich in Document AI einbinden, um Dokumentanalysen und Anwendungsfälle für generative KI zu erstellen. Mit der Beschleunigung der digitalen Transformation generieren Unternehmen riesige Mengen an Text- und anderen Dokumentdaten. Diese Daten bieten ein enormes Potenzial für Erkenntnisse und neue Anwendungsfälle für generative KI. Um diese Daten optimal zu nutzen, haben wir eine Integration zwischen BigQuery und Document AI angekündigt. Damit können Sie Statistiken aus Dokumentdaten extrahieren und neue Large Language Model-Anwendungen (LLM) erstellen.

Übersicht

BigQuery-Kunden können jetzt benutzerdefinierte Document AI-Extractor erstellen, die auf den innovativen Foundation-Modellen von Google basieren und anhand ihrer eigenen Dokumente und Metadaten angepasst werden können. Diese benutzerdefinierten Modelle können dann in BigQuery aufgerufen werden, um strukturierte Daten auf sichere und reglementierte Weise mithilfe der Einfachheit und Leistungsfähigkeit von SQL aus Dokumenten zu extrahieren. Vor dieser Integration haben einige Kunden versucht, unabhängige Document AI-Pipelines zu erstellen, bei denen die Extraktionslogik und das Schema manuell zusammengestellt werden mussten. Da es keine integrierten Integrationsfunktionen gab, musste das Unternehmen eine maßgeschneiderte Infrastruktur entwickeln, um Daten zu synchronisieren und für Konsistenz zu sorgen. Das machte jedes Dokumentanalyseprojekt zu einem erheblichen Unterfangen, das erhebliche Investitionen erforderte. Mit dieser Integration können Kunden jetzt Remote-Modelle in BigQuery für ihre benutzerdefinierten Extraktoren in Document AI erstellen und damit Dokumentanalysen und generative KI im großen Maßstab durchführen. So eröffnen sich neue Möglichkeiten für datengetriebene Erkenntnisse und Innovationen.

Einheitliche, verwaltete Daten für KI

So erstellen Sie einen benutzerdefinierten Extraktor in Document AI:

  1. Legen Sie fest, welche Daten aus Ihren Dokumenten extrahiert werden sollen. Dieser wird document schema genannt, mit jeder Version des benutzerdefinierten Extraktors gespeichert und ist über BigQuery zugänglich.
  2. Optional können Sie zusätzliche Dokumente mit Anmerkungen als Beispiele für die Extraktion einreichen.
  3. Trainieren Sie das Modell für den benutzerdefinierten Extraktor anhand der in Document AI bereitgestellten Basismodelle.

Neben benutzerdefinierten Extraktoren, die manuell trainiert werden müssen, bietet Document AI in der Prozessorgalerie auch sofort einsatzbereite Extraktoren für Ausgaben, Belege, Rechnungen, Steuerformulare, Ausweise und eine Vielzahl anderer Szenarien.

Sobald der benutzerdefinierte Extractor bereit ist, können Sie in BigQuery Studio die Dokumente in den folgenden vier Schritten mit SQL analysieren:

  1. Registrieren Sie mit SQL ein BigQuery-Remote-Modell für den Extractor. Das Modell kann das oben erstellte Dokumentschema verstehen, den benutzerdefinierten Extractor aufrufen und die Ergebnisse parsen.
  2. Erstellen Sie mit SQL Objekttabellen für die in Cloud Storage gespeicherten Dokumente. Sie können die unstrukturierten Daten in den Tabellen verwalten, indem Sie Zugriffsrichtlinien auf Zeilenebene festlegen. Dadurch wird der Zugriff der Nutzer auf bestimmte Dokumente eingeschränkt und damit auch die KI-Funktionen für Datenschutz und Sicherheit.
  3. Verwenden Sie die Funktion ML.PROCESS_DOCUMENT in der Objekttabelle, um relevante Felder zu extrahieren, indem Sie Inferenzaufrufe an den API-Endpunkt senden. Sie können die Dokumente für die Extraktionen auch mit einer WHERE-Klausel außerhalb der Funktion herausfiltern. Die Funktion gibt eine strukturierte Tabelle zurück, wobei jede Spalte ein extrahiertes Feld ist.
  4. Führen Sie eine Zusammenführung der extrahierten Daten mit anderen BigQuery-Tabellen durch, um strukturierte und unstrukturierte Daten zu kombinieren und Geschäftswerte zu ermitteln.

Das folgende Beispiel veranschaulicht die Nutzererfahrung:

bigquery-integration-with-document-ai-1

  # Create an object table in BigQuery that maps to the document files stored in Cloud Storage.
  CREATE OR REPLACE EXTERNAL TABLE `my_dataset.document`
  WITH CONNECTION `my_project.us.example_connection`
  OPTIONS (
    object_metadata = 'SIMPLE',
    uris = ['gs://my_bucket/path/*'],
    metadata_cache_mode= 'AUTOMATIC',
    max_staleness= INTERVAL 1 HOUR
  );

  # Create a remote model to register your Doc AI processor in BigQuery.
  CREATE OR REPLACE MODEL `my_dataset.layout_parser`
  REMOTE WITH CONNECTION `my_project.us.example_connection`
  OPTIONS (
    remote_service_type = 'CLOUD_AI_DOCUMENT_V1',   
    document_processor='PROCESSOR_ID'
  );

  # Invoke the registered model over the object table to parse PDF document
  SELECT uri, total_amount, invoice_date
  FROM ML.PROCESS_DOCUMENT(
    MODEL `my_dataset.layout_parser`,
    TABLE `my_dataset.document`,
    PROCESS_OPTIONS => (
      JSON '{"layout_config": {"chunking_config": {"chunk_size": 250}}}')
    )
  WHERE content_type = 'application/pdf';

Ergebnistabelle

bigquery-integration-with-document-ai-2

Anwendungsfälle für Textanalyse, Zusammenfassung und andere Dokumentanalysen

Nachdem Sie Text aus Ihren Dokumenten extrahiert haben, können Sie Dokumentanalysen auf verschiedene Arten durchführen:

  • Textanalyse mit BigQuery ML: BigQuery ML unterstützt das Training und die Bereitstellung von Einbettungsmodellen auf vielfältige Weise. Sie können BigQuery ML beispielsweise verwenden, um das Kundensentiment in Supportanrufen zu ermitteln oder Produktfeedback in verschiedene Kategorien zu klassifizieren. Wenn Sie Python verwenden, können Sie auch BigQuery DataFrames für pandas und scikit-learn-ähnliche APIs für die Textanalyse Ihrer Daten verwenden.
  • text-embedding-004-LLM verwenden, um Einbettungen aus den gechunkten Dokumenten zu generieren: BigQuery hat eine ML.GENERATE_EMBEDDING-Funktion, die das text-embedding-004-Modell aufruft, um Einbettungen zu generieren. Sie können beispielsweise mithilfe von BigQuery SQL Kundenfeedback mithilfe von Document AI extrahieren und mit PaLM 2 zusammenfassen.
  • Dokumentmetadaten mit anderen strukturierten Daten verknüpfen, die in BigQuery-Tabellen gespeichert sind:

Sie können beispielsweise Einbettungen mit den gechunkten Dokumenten generieren und für die Vektorsuche verwenden.

# Example 1: Parse the chunked data

CREATE OR REPLACE TABLE docai_demo.demo_result_parsed AS (SELECT
  uri,
  JSON_EXTRACT_SCALAR(json , '$.chunkId') AS id,
  JSON_EXTRACT_SCALAR(json , '$.content') AS content,
  JSON_EXTRACT_SCALAR(json , '$.pageFooters[0].text') AS page_footers_text,
  JSON_EXTRACT_SCALAR(json , '$.pageSpan.pageStart') AS page_span_start,
  JSON_EXTRACT_SCALAR(json , '$.pageSpan.pageEnd') AS page_span_end
FROM docai_demo.demo_result, UNNEST(JSON_EXTRACT_ARRAY(ml_process_document_result.chunkedDocument.chunks, '$')) json)

# Example 2: Generate embedding

CREATE OR REPLACE TABLE `docai_demo.embeddings` AS
SELECT * FROM ML.GENERATE_EMBEDDING(
  MODEL `docai_demo.embedding_model`,
  TABLE `docai_demo.demo_result_parsed`
);

Anwendungsfälle für die Suche und generative KI implementieren

Nachdem Sie strukturierten Text aus Ihren Dokumenten extrahiert haben, können Sie Indexe erstellen, die für Suchanfragen vom Typ „Nadel im Heuhaufen“ optimiert sind. Dies ist dank der Such- und Indexierungsfunktionen von BigQuery möglich und bietet eine leistungsstarke Suchfunktion. Diese Integration ermöglicht auch neue generative LLM-Anwendungen wie die Verarbeitung von Textdateien für den Datenschutzfilter, die Inhaltssicherheitsprüfung und das Token-Chunking mithilfe von SQL und benutzerdefinierten Document AI-Modellen. Der extrahierte Text in Kombination mit anderen Metadaten vereinfacht die Zusammenstellung des Trainingskorpus, der zum Optimieren von Large Language Models erforderlich ist. Außerdem basieren Ihre Anwendungsfälle für LLM auf verwalteten Unternehmensdaten, die mithilfe der Funktionen zur Generierung von Einbettungen und zum Verwalten von Vektorindexen in BigQuery fundiert sind. Wenn Sie diesen Index mit Vertex AI synchronisieren, können Sie Anwendungsfälle für die Retrieval-gestützte Generierung implementieren, um eine kontrolliertere und optimiertere KI zu erhalten.

Beispielanwendung

Beispiel für eine End-to-End-Anwendung mit dem Document AI Connector: