Document AI-Modelle zwischen Datenbanken, Schemas und Konten kopieren

Unter diesem Thema wird erklärt, wie Sie Document AI-Modelle zwischen Datenbanken oder Schemas im selben Konto oder zwischen verschiedenen Konten in derselben Organisation kopieren. Sie könnten zum Beispiel ein Modell aus einem Entwicklungskonto in ein Produktionskonto kopieren.

Document AI speichert alle veröffentlichten oder trainierten Modelle innerhalb der Modell-Registry, mit der Sie Modellversionen und -replikationen speichern und verwalten können. Weitere Informationen zu den Möglichkeiten der Modell-Registry finden Sie unter Snowflake Model Registry.

Bemerkung

Sie können einen Document AI-Modell-Build (der das Modell, die zu extrahierenden Datenwerte und die zum Testen und Trainieren des Modells hochgeladenen Dokumente umfasst) nicht replizieren. Sie können nur das Modell replizieren, das entweder veröffentlicht oder aus einem Document AI-Modell-Build trainiert wurde.

Das Freigeben von Modellen wird derzeit für Document AI nicht unterstützt.

Wichtig

Stellen Sie bei der Verwendung der Befehle CREATE MODEL und ALTER MODEL … ADD VERSION mit Document AI sicher, dass der Versionsbezeichner das Format V<Ganzzahl> (z. B. V2) aufweist, sodass Sie die Methode <model_build_name>!PREDICT verwenden können. Beachten Sie, dass die Ganzzahl der Version des Document AI-Modell-Builds entspricht, den Sie veröffentlicht oder trainiert haben.

Voraussetzungen

Um ein Modell zu kopieren, müssen Sie wie folgt vorgehen:

  • Erteilen Sie alle Berechtigungen, die für das Arbeiten mit Document AI erforderlich sind. Weitere Informationen zu den Berechtigungen finden Sie unter Zugriffssteuerung von Document AI.

    Bemerkung

    Sie müssen die Berechtigung CREATE MODEL für jedes Schema erteilen, in das Sie ein Modell kopieren.

  • Veröffentlichen oder trainieren Sie das Quellmodell. Weitere Informationen dazu finden Sie unter Document AI-Modell-Build veröffentlichen.

Document AI-Modelle zwischen Datenbanken und/oder Schemas innerhalb eines Kontos kopieren

  1. Erstellen Sie das Modell aus dem Quellmodell mit der Rolle, die das Quellmodell erstellt hat:

    CREATE MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model
      WITH VERSION V1
      FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model
        VERSION V1;
    
    Copy
  2. Optional: Fügen Sie eine weitere Version des Modells hinzu:

    ALTER MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model
      ADD VERSION V2
      FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model
        VERSION V2;
    
    Copy
  3. Um es der Rolle prod_user zu ermöglichen, das kopierte Modell zu verwenden, weisen Sie dieser Rolle die OWNERSHIP-Berechtigung für das Modell zu:

    GRANT OWNERSHIP ON MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model
      TO ROLE prod_user;
    
    Copy

Document AI-Modelle zwischen Konten kopieren

Sie können ein Document AI-Modell von einem Quellkonto in ein oder mehrere Zielkonten derselben Organisation replizieren. Weitere Informationen zur Replikation finden Sie unter Einführung in Replikation und Failover über mehrere Konten.

Um das Modell von einem Quellkonto in ein Zielkonto zu replizieren, müssen Sie im Quellkonto eine Replikationsgruppe erstellen, um die Replikation der Datenbank, in der das Modell erstellt wurde, in ein Zielkonto zu ermöglichen. Außerdem müssen Sie die Produktionsbenutzerrolle einrichten.

Bemerkung

Sie müssen ein Benutzer mit der ACCOUNTADMIN-Rolle sein, um eine Replikationsgruppe erstellen und die Produktionsbenutzerrolle einrichten zu können.

Datenbank replizieren, in der das Modell erstellt wurde

Bemerkung

Wenn alle Ihre Modell-Builds in derselben Datenbank gespeichert sind, müssen Sie diese Datenbank nur einmal replizieren.

  1. Primäre Replikationsgruppe im Quellkonto erstellen:

    CREATE REPLICATION GROUP doc_ai_models_replication_group
    OBJECT_TYPES = DATABASES
    ALLOWED_DATABASES = dev_doc_ai_db
    ALLOWED_ACCOUNTS = org.production_account;
    
    Copy
  2. Erstellen Sie eine sekundäre Replikationsgruppe in einem Zielkonto als Replikat der primären Replikationsgruppe im Quellkonto:

    CREATE REPLICATION GROUP doc_ai_models_secondary_replication_group
    AS REPLICA OF org.dev_account.doc_ai_models_replication_group;
    
    Copy
  3. Aktualisieren Sie die Datenbank im Zielkonto vom Quellkonto aus:

    ALTER REPLICATION GROUP doc_ai_models_secondary_replication_group REFRESH;
    
    Copy
  4. Optional: Geben Sie den Zeitplan für die Aktualisierung der sekundären Replikationsgruppe an, sodass das Konto automatisch alle 10 Minuten synchronisiert wird:

    ALTER REPLICATION GROUP doc_ai_models_secondary_replication_group
      SET REPLICATION_SCHEDULE = '10 MINUTE';
    
    Copy

Produktionsbenutzerrolle für die Informationsextraktion einrichten

Um sicherzustellen, dass der Benutzer, der im Ziel-Produktionskonto arbeitet (z. B. ein Benutzer mit der prod_user-Rolle), die Methode <model_build_name>!PREDICT mit dem replizierten Modell ausführen kann, führen Sie die folgenden Schritte aus:

  1. Weisen Sie alle erforderlichen Berechtigungen für die Arbeit mit Document AI für die kopierte Datenbank und das Schema der Rolle prod_user zu.

  2. Weisen Sie die USAGE-Berechtigung für die Quelldatenbank und das Schema sowie die Eigentümerschaft an allen Modellen in diesem Schema der Rolle prod_user zu:

    GRANT USAGE ON DATABASE dev_doc_ai_db TO ROLE prod_user;
    GRANT USAGE ON SCHEMA dev_doc_ai_db.dev_doc_ai_schema TO ROLE prod_user;
    GRANT OWNERSHIP ON ALL MODELS IN SCHEMA dev_doc_ai_db.dev_doc_ai_schema TO ROLE prod_user;
    
    Copy
  3. Optional: Eigentümerschaft an allen zukünftigen Modellen gewähren, die repliziert werden:

    GRANT OWNERSHIP ON ALL FUTURE MODELS IN SCHEMA dev_doc_ai_db.dev_doc_ai_schema TO ROLE prod_user;
    
    Copy

Nachdem Sie die erforderlichen Berechtigungen erteilt haben, muss ein Benutzer mit der prod_user-Rolle die folgenden Schritte ausführen:

  1. Modell aus dem Quellmodell erstellen:

    CREATE MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model
      WITH VERSION V1
      FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model
        VERSION V1;
    
    Copy

    Bemerkung

    Sie müssen das Modell aus dem Quellmodell erstellen. Sie können die <model_build_name>!PREDICT-Methode nicht direkt für das Modell aufrufen, das in der replizierten Datenbank im Zielkonto (Produktionskonto) gespeichert ist.

    Mit der prod_user-Rolle können Sie jetzt Informationen mithilfe der <model_build_name>!PREDICT-Methode im Zielkonto (Produktionskonto) extrahieren.

  2. Optional: Fügen Sie eine weitere Version des Modells hinzu:

    ALTER MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model
      ADD VERSION V2
      FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model
        VERSION V2;
    
    Copy

Zusätzliche Anmerkungen

  • Eine neue Version des Modells wird nach dem Training nicht automatisch kopiert. Sie müssen die Version manuell mit dem Befehl ALTER MODEL … ADD VERSION hinzufügen.

  • Das kopierte Modell wird auf der Document AI-UI nicht angezeigt, weil es nicht erneut trainiert werden kann. Sie können das kopierte Modell auf der Snowflake Model Registry-Benutzeroberfläche anzeigen und die Methode <model_build_name>!PREDICT für dieses Modell aufrufen.

  • Nachdem die OWNERSHIP-Berechtigung für das Modell der Produktionsbenutzerrolle zugewiesen wurde, können Sie die Eigentümerschaft nicht ändern. Um es einer anderen Rolle zu ermöglichen, das Modell nach der Veröffentlichung des Document AI-Modell-Builds zu verwenden, kopieren Sie das Document AI-Modell, und weisen Sie dieser Rolle die OWNERSHIP-Berechtigung für das kopierte Modell zu.