设置 Document AI¶
本主题介绍 Document AI 的设置,包括授予必要的角色和权限。
要使用 Document AI,请按以下步骤操作:
准备仓库、数据库和架构,以配合 Document AI 使用。
Snowflake 建议为 Document AI 创建一个单独的仓库,以帮助您跟踪成本;例如,
doc_ai_wh
X-小仓库。有关更多信息,请参阅 确定 Document AI 的最佳仓库规模。授予所需角色和权限。
有关更多信息,请参阅 Document AI 访问控制。有关授予角色和权限的示例,请参阅 向 Document AI 用户授予所需角色和权限。
将提取的文档上传到内部或外部暂存区。
要创建 内部暂存区,请运行 CREATE STAGE 命令,如下例所示:
CREATE STAGE doc_ai_stage DIRECTORY = (ENABLE = TRUE) ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE');
Document AI 访问控制¶
要为用户提供对 Document AI 的完全访问权限,您必须执行以下所有操作:
将 SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR 数据库角色授予账户角色,然后将账户角色授予用户。
授予准备 Document AI 模型构建的权限。
授予使用 Document AI 创建处理管道和提取信息的权限。
要了解有关 Snowflake 权限模型的更多信息,请参阅 访问控制概述 和 访问控制权限。
SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR 数据库角色支持创建 Document AI 模型构建、处理 Document AI 模型,以及使用 SQL 提取信息和处理文档管道。
备注
您可以使用现有账户角色,也可以创建新的账户角色,例如 doc_ai_role
,并将 SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR 数据库角色授予 doc_ai_role
账户角色。
准备 Document AI 模型构建的权限¶
要创建 Document AI 构建、上传文档以及测试和评估模型,您必须使用具有以下权限的角色:
权限 |
对象 |
---|---|
USAGE |
计划与 Document AI 配合使用的数据库。 |
USAGE |
计划与 Document AI 配合使用的仓库。 |
OPERATE |
计划与 Document AI 配合使用的仓库。 |
GRANT CREATE SNOWFLAKE.ML.DOCUMENT_INTELLIGENCE |
计划与 Document AI 配合使用的架构。 |
USAGE |
计划与 Document AI 配合使用的架构。 |
使用 Document AI 创建处理管道和提取信息的权限¶
要使用 Document AI 创建处理管道和提取信息,您必须使用具有准备 Document AI 构建所需的所有权限和以下权限的角色:
权限 |
对象 |
---|---|
CREATE STAGE |
计划与 Document AI 配合使用的架构。 |
CREATE STREAM |
计划与 Document AI 配合使用的架构。 |
CREATE TABLE |
计划与 Document AI 配合使用的架构。 |
CREATE TASK |
计划与 Document AI 配合使用的架构。 |
CREATE VIEW |
计划与 Document AI 配合使用的架构。 |
EXECUTE TASK |
计划用于使用 Tasks 创建处理管道的账户。 |
向 Document AI 用户授予所需角色和权限¶
以下示例介绍了为使用 Document AI 而授予的所有必要角色和权限。
备注
在授予必要角色和权限之前,请确保为 Document AI 准备了仓库、数据库和架构。
要创建 doc_ai_role
角色,并将 SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR 数据库角色授予此角色,请运行以下命令:
USE ROLE ACCOUNTADMIN;
CREATE ROLE doc_ai_role;
GRANT DATABASE ROLE SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR TO ROLE doc_ai_role;
要向 doc_ai_role
角色授予仓库使用和操作权限,请运行以下命令:
GRANT USAGE, OPERATE ON WAREHOUSE doc_ai_wh TO ROLE doc_ai_role;
要确保 doc_ai_role
角色可以使用数据库和架构,请运行以下命令:
GRANT USAGE ON DATABASE doc_ai_db TO ROLE doc_ai_role;
GRANT USAGE ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
要确保 doc_ai_role
角色可以创建一个暂存区来存储要提取的文档,请运行以下命令:
GRANT CREATE STAGE ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
要确保 doc_ai_role
角色可以创建模型构建(DOCUMENT_INTELLIGENCE 类的实例),请运行以下命令:
GRANT CREATE SNOWFLAKE.ML.DOCUMENT_INTELLIGENCE ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
要确保 doc_ai_role
角色可创建 处理管道,请运行以下命令:
GRANT CREATE STREAM, CREATE TABLE, CREATE TASK, CREATE VIEW ON SCHEMA doc_ai_db.doc_ai_schema TO ROLE doc_ai_role;
GRANT EXECUTE TASK ON ACCOUNT TO ROLE doc_ai_role;
要向 doc_ai_user
用户授予 doc_ai_role
角色,请运行以下命令:
GRANT ROLE doc_ai_role TO USER doc_ai_user;