CertSafari

    Free Snowflake SnowPro Specialty: Gen AI (GES-C02) Sample Questions

    35 free sample questions from our bank of 351+, covering every exam domain, with answers and detailed explanations. Updated August 2026.

    Domain 1: Snowflake for Gen AI Overview

    Subdomain 1.2: Outline Gen AI capabilities in Snowflake.

    1.An administrator wants Cortex Analyst to follow organization-specific rules when generating SQL and deciding which questions to answer. Which capabilities does the custom instructions feature actually provide? (Select all that apply.)(Select 3)

    1. A.Custom instructions can guide SQL generation behavior using natural-language guidance embedded in the semantic model
    2. B.Custom instructions can be used to block or redirect questions about specific restricted topics via question categorization
    3. C.Custom instructions support separate, more structured guidance for different parts of the Analyst workflow through modular components
    4. D.Custom instructions replace the semantic model entirely, removing the need to define tables, facts, or dimensions
    5. E.Custom instructions can only be applied at the account level and never scoped to an individual semantic model
    Show answer & explanation

    Correct answers: A, B, CCustom instructions can guide SQL generation behavior using natural-language guidance embedded in the semantic model; Custom instructions can be used to block or redirect questions about specific restricted topics via question categorization; Custom instructions support separate, more structured guidance for different parts of the Analyst workflow through modular components

    • A. Custom instructions let administrators write natural-language guidance that steers how Cortex Analyst generates SQL for a given semantic model.
    • B. The question categorization component of custom instructions is specifically designed to block or redirect questions on restricted topics.
    • C. Custom instructions support modular, structured components covering different parts of the workflow, such as SQL generation and question categorization, rather than a single flat instruction blob.
    • D. This is incorrect; custom instructions supplement the semantic model's tables, facts, and dimensions rather than replacing the need to define them.
    • E. This is incorrect; custom instructions are configured within a given semantic model's YAML, so they are scoped per model rather than being account-wide only.

    Subdomain 1.2: Outline Gen AI capabilities in Snowflake.

    2.An application needs to display a Cortex Agent's response token-by-token as it is generated, rather than waiting for the full answer. How should the agent:run REST API be called?

    1. A.Call the endpoint with the default streaming behavior, which sends the response as server-sent events
    2. B.Call the endpoint with stream set to false, which is the only mode the API supports
    3. C.Poll a separate status endpoint every second until the full response is written to a stage
    4. D.Use the DATA_AGENT_RUN SQL function instead, since only SQL functions support token-by-token output
    Show answer & explanation

    Correct answer: ACall the endpoint with the default streaming behavior, which sends the response as server-sent events

    • A. By default the agent:run API streams the response as server-sent events, which is exactly how an application can display output token-by-token as it is generated.
    • B. Setting stream to false disables streaming and returns a single consolidated JSON response instead of incremental tokens, which is the opposite of what is needed here.
    • C. Manually polling a status endpoint is unnecessary and slower than using the API's built-in streaming mode for incremental output.
    • D. DATA_AGENT_RUN returns a non-streaming JSON response and does not provide token-by-token output; the REST API's streaming mode is the appropriate choice instead.

    Subdomain 1.2: Outline Gen AI capabilities in Snowflake.

    3.Which statement correctly distinguishes Cortex Analyst, Cortex Search, and Cortex Agents?

    1. A.Cortex Analyst handles text-to-SQL over structured semantic views, Cortex Search handles retrieval over unstructured content, and Cortex Agents orchestrate both as tools within a single reasoning workflow
    2. B.Cortex Analyst, Cortex Search, and Cortex Agents are three interchangeable names for the exact same underlying service
    3. C.Cortex Search performs text-to-SQL generation while Cortex Analyst performs document retrieval
    4. D.Cortex Agents can only be used for numeric forecasting and cannot call Cortex Analyst or Cortex Search
    Show answer & explanation

    Correct answer: ACortex Analyst handles text-to-SQL over structured semantic views, Cortex Search handles retrieval over unstructured content, and Cortex Agents orchestrate both as tools within a single reasoning workflow

    • A. This correctly separates the three capabilities: Cortex Analyst for structured text-to-SQL, Cortex Search for unstructured retrieval, and Cortex Agents for orchestrating both together.
    • B. These are three distinct products with different purposes, not interchangeable names for one service.
    • C. This reverses the actual roles; Cortex Analyst performs text-to-SQL generation, and Cortex Search performs document and content retrieval.
    • D. Cortex Agents are designed to orchestrate tools like Cortex Analyst and Cortex Search across structured and unstructured data, not restricted to numeric forecasting.

    Subdomain 1.1: Define Snowflake’s Gen AI principles and features.

    4.A developer already calls AI_COMPLETE with Snowflake's Arctic model but wants to compare output quality using a different vendor's large language model without deploying new infrastructure. What should they do?

    1. A.Change the model name argument passed to AI_COMPLETE to reference an available catalog model
    2. B.Register a new custom model class in the Model Registry and deploy it to a warehouse
    3. C.Submit a Cortex Fine-tuning job to retrain the existing model on new labeled data
    4. D.Provision a Snowpark Container Services compute pool to host the alternate model
    Show answer & explanation

    Correct answer: AChange the model name argument passed to AI_COMPLETE to reference an available catalog model

    • A. This is correct: catalog models such as Claude, Llama, and Mistral are called serverlessly by simply swapping the model name argument, with no separate deployment needed.
    • B. This is incorrect: registering a custom model class is for bringing in externally trained models, not for switching between already-available catalog LLMs.
    • C. This is incorrect: retraining weights is unnecessary and far more effortful than simply pointing the function call at a different catalog model.
    • D. This is incorrect: provisioning dedicated GPU compute is unnecessary since catalog LLMs are already served in a fully managed, serverless way.

    Subdomain 1.1: Define Snowflake’s Gen AI principles and features.

    5.A business unit wants a chatbot-style interface that end users can simply configure, without writing orchestration code, so employees can ask natural-language questions that get routed to the right structured or unstructured data sources automatically. Which product is designed for this?

    1. A.Cortex Fine-tuning, a service for adapting base model weights to a domain
    2. B.Snowpark Container Services, a platform for hosting custom containerized models
    3. C.The Cortex Code command-line interface, a terminal-based coding assistant
    4. D.Snowflake Intelligence, a configured conversational layer built on top of Cortex Agents
    Show answer & explanation

    Correct answer: DSnowflake Intelligence, a configured conversational layer built on top of Cortex Agents

    • A. This is incorrect: adapting model weights is a training activity and does not provide an end-user-facing, configuration-driven chatbot interface.
    • B. This is incorrect: containerized model hosting addresses infrastructure for custom models, not a business-user-facing conversational interface.
    • C. This is incorrect: a terminal-based coding assistant targets engineers writing code, not business employees asking conversational questions.
    • D. This is correct: this product delivers a configurable, no-code chatbot experience by packaging the orchestration already provided by Cortex Agents for end users.

    Domain 2: Snowflake Gen AI Functions

    Subdomain 2.2: Perform data analysis given a use case.

    6.What is the purpose of the Suggested Questions feature in a Cortex Analyst-powered chat interface?

    1. A.It presents users with example prompts drawn from the semantic model so they can discover what kinds of questions the system can answer
    2. B.It automatically executes the highest-confidence SQL query without user confirmation
    3. C.It ranks embedding vectors by cosine similarity for search
    4. D.It restricts which database roles can query the semantic view
    Show answer & explanation

    Correct answer: AIt presents users with example prompts drawn from the semantic model so they can discover what kinds of questions the system can answer

    • A. Suggested Questions surfaces example natural-language prompts based on the semantic model, helping new users understand the scope of questions the interface can handle and accelerating adoption.
    • B. Suggested Questions is about presenting example prompts to users, not about automatically running queries without any user-initiated question or confirmation.
    • C. Ranking by cosine similarity is a vector search operation used in retrieval, unrelated to the onboarding purpose of showing example questions in a chat interface.
    • D. Access control over the semantic view is handled through RBAC and grants, not through the Suggested Questions feature, which is purely about surfacing example prompts.

    Subdomain 2.2: Perform data analysis given a use case.

    7.Which of the following are genuine capabilities of Cortex Analyst as documented for building chat-with-data experiences? (Select all that apply)(Select 4)

    1. A.Generating SQL from natural-language questions grounded in a semantic model
    2. B.Referencing a Verified Query Repository of vetted question-to-SQL examples
    3. C.Applying CUSTOM_INSTRUCTIONS to steer generated SQL toward organizational conventions
    4. D.Integrating with Cortex Search to answer questions that span structured and unstructured data
    5. E.Automatically deleting underlying tables that are no longer queried
    6. F.Guaranteeing zero query latency regardless of warehouse size
    Show answer & explanation

    Correct answers: A, B, C, DGenerating SQL from natural-language questions grounded in a semantic model; Referencing a Verified Query Repository of vetted question-to-SQL examples; Applying CUSTOM_INSTRUCTIONS to steer generated SQL toward organizational conventions; Integrating with Cortex Search to answer questions that span structured and unstructured data

    • A. Text-to-SQL generation grounded in a semantic model is the core capability of Cortex Analyst, translating natural-language business questions into accurate SQL.
    • B. The Verified Query Repository is a documented feature that lets Cortex Analyst reference curated, validated question-to-SQL examples to improve accuracy on recurring questions.
    • C. CUSTOM_INSTRUCTIONS lets administrators supply standing guidance that shapes how Cortex Analyst interprets questions and writes SQL, matching organizational conventions.
    • D. Cortex Analyst can be combined with Cortex Search so a single interface answers both structured, SQL-answerable questions and unstructured, document-grounded questions.
    • E. Cortex Analyst answers questions against existing tables and semantic models; it has no documented capability to automatically drop or delete underlying tables.
    • F. Query execution time still depends on warehouse sizing and query complexity; Cortex Analyst does not guarantee zero latency regardless of the compute resources involved.

    Subdomain 2.1: Apply AI functions in Snowflake.

    8.An analyst runs: SELECT AI_AGG(review_text, 'List the top three recurring complaints across these reviews.') FROM reviews GROUP BY product_id; What is the expected behavior?

    1. A.One aggregated insight string is returned per product_id group, synthesized across all rows in that group even beyond a single context window
    2. B.The function fails because AI_AGG cannot be combined with GROUP BY
    3. C.One row is returned per input review with an individual insight computed for that review only
    4. D.The instruction argument is ignored and the function instead returns raw concatenated review text
    Show answer & explanation

    Correct answer: AOne aggregated insight string is returned per product_id group, synthesized across all rows in that group even beyond a single context window

    • A. This is correct: this aggregate function synthesizes an instruction-driven insight across every row in a group, and it explicitly supports datasets larger than the model's context window.
    • B. This is incorrect: aggregate behavior with GROUP BY is a core supported use case for this function, not a failure condition.
    • C. This is incorrect: this function is an aggregate, so it collapses many rows into one output per group rather than returning a value per input row.
    • D. This is incorrect: the natural-language instruction argument directly controls what insight is generated; it is not ignored.

    Subdomain 2.1: Apply AI functions in Snowflake.

    9.A data scientist is choosing which Cortex vector functions to use while building a similarity-search feature over product embeddings. Which of the following are valid, purpose-built vector functions in Snowflake? (Select all that apply.)(Select 4)

    1. A.VECTOR_COSINE_SIMILARITY, for angular similarity between two vectors
    2. B.VECTOR_L2_DISTANCE, for Euclidean distance between two vectors
    3. C.VECTOR_INNER_PRODUCT, for a magnitude-weighted dot product between two vectors
    4. D.VECTOR_L1_DISTANCE, for Manhattan distance between two vectors
    5. E.VECTOR_CLASSIFY, for assigning a vector to a predefined category
    6. F.VECTOR_TRANSLATE, for converting a vector between embedding models
    Show answer & explanation

    Correct answers: A, B, C, DVECTOR_COSINE_SIMILARITY, for angular similarity between two vectors; VECTOR_L2_DISTANCE, for Euclidean distance between two vectors; VECTOR_INNER_PRODUCT, for a magnitude-weighted dot product between two vectors; VECTOR_L1_DISTANCE, for Manhattan distance between two vectors

    • A. This is correct: this function measures angular closeness between two vectors, which is a real, documented vector similarity function commonly used with text embeddings.
    • B. This is correct: this function computes Euclidean straight-line distance between two vectors and is a real documented distance function.
    • C. This is correct: this function computes the dot product between two vectors, factoring in both direction and magnitude, and is a real documented vector function.
    • D. This is correct: this function computes Manhattan (sum of absolute differences) distance and is a real documented vector function, often faster than Euclidean distance at high dimensions.
    • E. This is incorrect: there is no vector-native classification function under this name; category assignment on text or images is handled by the AI_CLASSIFY function instead.
    • F. This is incorrect: there is no function that converts a vector produced by one embedding model into another model's vector space; re-embedding the source input is required instead.

    Subdomain 2.1: Apply AI functions in Snowflake.

    10.A data engineer is sorting Cortex AI functions into 'row-level' (one output per input row) versus 'aggregate' (one output per group of rows). Which statements correctly classify a function into the right category? (Select all that apply.)(Select 3)

    1. A.AI_SENTIMENT is row-level, returning one sentiment result for each input text
    2. B.AI_CLASSIFY is row-level, returning one classification result for each input text
    3. C.AI_SUMMARIZE_AGG is row-level, returning one summary for each individual input row
    4. D.AI_AGG is an aggregate function that collapses many rows into one instruction-driven output per group
    5. E.AI_TRANSLATE is an aggregate function that requires a GROUP BY clause to run
    6. F.AI_REDACT is an aggregate function that merges PII findings across many rows into one result
    Show answer & explanation

    Correct answers: A, B, DAI_SENTIMENT is row-level, returning one sentiment result for each input text; AI_CLASSIFY is row-level, returning one classification result for each input text; AI_AGG is an aggregate function that collapses many rows into one instruction-driven output per group

    • A. This is correct: sentiment extraction evaluates one input text and returns one sentiment result for it, with no aggregation across rows involved.
    • B. This is correct: classification evaluates one input at a time and returns category labels for that single input, making it a row-level operation.
    • C. This is incorrect: this function is an aggregate that synthesizes a summary across every row in a group, it does not return a separate summary per individual row.
    • D. This is correct: this function is documented as an aggregate that combines many rows into a single instruction-driven output per group, similar in spirit to GROUP BY aggregates.
    • E. This is incorrect: translation operates on one text value at a time and has no aggregate behavior or GROUP BY requirement.
    • F. This is incorrect: PII redaction operates on one text value at a time and returns scrubbed text or detection spans for that single input, it does not merge findings across rows.

    Subdomain 2.3: Build or interact with interfaces to chat with data in Snowflake.

    11.Which database role provides the minimum privileges required for a user to invoke Cortex Analyst, following the principle of least privilege?

    1. A.SNOWFLAKE.CORTEX_ANALYST_USER
    2. B.SYSADMIN
    3. C.ACCOUNTADMIN
    4. D.SNOWFLAKE.CORTEX_USER
    Show answer & explanation

    Correct answer: ASNOWFLAKE.CORTEX_ANALYST_USER

    • A. This database role is scoped specifically to Cortex Analyst usage, so granting it gives a caller exactly the access needed without extending broader Cortex privileges.
    • B. This is a general administrative role for managing database objects; it does not inherently grant the ability to call Cortex Analyst.
    • C. This role has global account privileges, which is far broader than necessary and violates least-privilege design for a chat-with-data feature.
    • D. This role grants access to Cortex functions more broadly than Analyst alone, so it is not the narrowest role available for this specific need.

    Subdomain 2.3: Build or interact with interfaces to chat with data in Snowflake.

    12.Which steps make up the orchestration loop that a Cortex Agent performs when handling a request? (Select all that apply)(Select 3)

    1. A.Fine-tuning
    2. B.Planning
    3. C.Model training
    4. D.Tool execution
    5. E.Reflection
    Show answer & explanation

    Correct answers: B, D, EPlanning; Tool execution; Reflection

    • A. Fine-tuning adjusts model weights ahead of time and is not a runtime step an agent performs while handling an individual request.
    • B. The agent first analyzes the request, disambiguates it if needed, and decides which tools to call, which is the planning stage of the loop.
    • C. Training a model is a separate offline process unrelated to how an already-configured agent handles an incoming request.
    • D. After planning, the agent calls the selected tools, such as Cortex Analyst or Cortex Search, to gather the information needed to answer.
    • E. The agent evaluates the results returned by its tools to decide whether to clarify, call further tools, or produce a final response, which is the reflection stage.

    Subdomain 2.4: Apply Snowflake Cortex functions in data pipelines.

    13.A team is building a retrieval-augmented generation pipeline. Incoming knowledge-base articles are chunked into passages, and the pipeline must keep an embedding index current as new articles are added, without manually re-embedding the whole corpus each time. Which design satisfies this?

    1. A.A dynamic table that calls AI_EMBED on the passage column and stores the result in a VECTOR-typed column, refreshed incrementally as new chunks arrive
    2. B.A one-time batch job that runs AI_EMBED against all passages and writes the vectors to a VARIANT column
    3. C.A task that runs AI_TRANSLATE on new passages daily to keep the corpus normalized
    4. D.A stream that captures new passages and immediately calls AI_SIMILARITY against every existing passage
    Show answer & explanation

    Correct answer: AA dynamic table that calls AI_EMBED on the passage column and stores the result in a VECTOR-typed column, refreshed incrementally as new chunks arrive

    • A. A dynamic table computing AI_EMBED into a VECTOR column can incrementally refresh only for new or changed base rows, keeping the embedding index current without full recomputation.
    • B. A one-time batch job does not automatically pick up newly added articles, and VARIANT is not the appropriate storage type for embeddings meant to support vector similarity search.
    • C. AI_TRANSLATE changes the language of text, it does not generate or maintain embeddings for retrieval.
    • D. Running AI_SIMILARITY against every existing passage for each new chunk computes pairwise comparisons rather than building or maintaining an embedding index, and does not scale as the corpus grows.

    Subdomain 2.4: Apply Snowflake Cortex functions in data pipelines.

    14.A global support pipeline receives tickets in many languages, but the classification categories and downstream keyword rules were designed and validated only in English. What is the most appropriate processing order?

    1. A.Apply AI_TRANSLATE to normalize ticket text into English first, then run AI_CLASSIFY and any keyword-based rules against the translated text
    2. B.Run AI_CLASSIFY directly on the original-language text, then translate only the category label afterward
    3. C.Translate only the tickets that AI_CLASSIFY marks as low-confidence
    4. D.Run keyword rules first on the original text, then translate only the tickets that fail all keyword rules
    Show answer & explanation

    Correct answer: AApply AI_TRANSLATE to normalize ticket text into English first, then run AI_CLASSIFY and any keyword-based rules against the translated text

    • A. Normalizing the language up front ensures the classification model and keyword rules, which were validated against English text, operate on text in the language they were designed for, giving consistent results across all tickets.
    • B. Classifying non-English text with a model and rules tuned for English is likely to be unreliable, and translating only the resulting label afterward does not fix inaccurate classification of the original content.
    • C. AI_CLASSIFY does not natively expose a low-confidence signal to gate translation, and language mismatch itself is likely a root cause of unreliable classification, not just a subset needing extra handling.
    • D. Running keyword rules first on untranslated text means those rules, built for English, are applied to text they were never designed to match, producing unreliable results before any translation occurs.

    Subdomain 2.5: Run third-party models in Snowflake.

    15.Which of the following are valid volume types that can be referenced in a Snowpark Container Services specification file, and which of those persist data beyond the life of a single service instance? (Select the types that provide persistent storage.)(Select 2)

    1. A.local
    2. B.memory
    3. C.block
    4. D.stage
    5. E.warehouse
    Show answer & explanation

    Correct answers: C, Dblock; stage

    • A. local volumes provide ephemeral storage shared between containers within the same service instance and do not persist once that instance is gone.
    • B. memory volumes are RAM-backed scratch space that disappears when the container stops, so they do not persist data beyond the instance.
    • C. block volumes provide persistent storage that survives service restarts, making them suited for stateful workloads that must retain data.
    • D. stage volumes expose the contents of a Snowflake stage, which is durable storage outside the service instance, so data written there persists independently of the container's lifecycle.
    • E. warehouse is not a valid volume type at all; virtual warehouses provide SQL compute and have no relationship to container storage mounts.

    Subdomain 2.5: Run third-party models in Snowflake.

    16.A vendor supplies a proprietary sentiment-analysis model as a Docker image with no Python object to serialize, only a REST endpoint exposed inside the container on port 8080. Which combination of steps correctly runs this model in Snowflake?

    1. A.Push the image to a Snowflake image repository, create a compute pool, and define a service specification exposing port 8080 as an endpoint
    2. B.Call registry.log_model() directly on the Docker image file to register it
    3. C.Upload the image bytes to an internal stage and query it with AI_COMPLETE
    4. D.Create a virtual warehouse sized to match the container's memory requirement
    Show answer & explanation

    Correct answer: APush the image to a Snowflake image repository, create a compute pool, and define a service specification exposing port 8080 as an endpoint

    • A. Since the model ships only as a container with an internal REST port, the correct path is Snowpark Container Services: push to an image repository, provision a compute pool, and expose the port through the specification's endpoints so the service can be called.
    • B. log_model serializes Python model objects; it cannot register an opaque Docker image that has no corresponding Python object to serialize.
    • C. AI_COMPLETE calls Snowflake-hosted large language models by name and cannot execute an arbitrary uploaded container image.
    • D. Virtual warehouses run SQL and Snowpark compute but cannot host an arbitrary containerized REST service regardless of sizing.

    Subdomain 2.5: Run third-party models in Snowflake.

    17.A data science team already has a model tracked in an external MLflow server with a saved pyfunc flavor. They want to bring it into Snowflake governance without retraining. What is the most direct way to accomplish this using the Model Registry?

    1. A.Load the MLflow pyfunc model in Python and pass it to log_model
    2. B.Export the MLflow run as a Docker image and manually build a compute pool spec
    3. C.Re-train the model from scratch inside a Snowpark stored procedure
    4. D.Convert the model to a SQL UDF before importing
    Show answer & explanation

    Correct answer: ALoad the MLflow pyfunc model in Python and pass it to log_model

    • A. Because MLflow pyfunc models are natively supported by log_model, loading the existing pyfunc object and passing it directly to log_model registers it without retraining.
    • B. Manually exporting to a Docker image and building compute pool infrastructure is unnecessary extra work when native MLflow support already exists in the registry.
    • C. Retraining from scratch discards the existing MLflow-tracked model entirely and is not required since native import support exists.
    • D. Converting to a SQL UDF is not a supported or necessary step for bringing an MLflow pyfunc model into the Model Registry.

    Domain 3: Snowflake Gen AI Governance

    Subdomain 3.1: Set up model access controls.

    18.A data governance lead is comparing the CORTEX_USER and AI_FUNCTIONS_USER database roles. Which statements correctly describe a difference between the two? (Select all that apply.)(Select 3)

    1. A.CORTEX_USER is granted to PUBLIC by default, while AI_FUNCTIONS_USER is not
    2. B.AI_FUNCTIONS_USER only covers scalar Cortex functions and excludes aggregate functions such as AI_AGG
    3. C.CORTEX_USER grants broader access across Cortex AI functions than AI_FUNCTIONS_USER
    4. D.AI_FUNCTIONS_USER is required to set the CORTEX_MODELS_ALLOWLIST parameter
    5. E.CORTEX_USER can only be granted to the ACCOUNTADMIN role
    Show answer & explanation

    Correct answers: A, B, CCORTEX_USER is granted to PUBLIC by default, while AI_FUNCTIONS_USER is not; AI_FUNCTIONS_USER only covers scalar Cortex functions and excludes aggregate functions such as AI_AGG; CORTEX_USER grants broader access across Cortex AI functions than AI_FUNCTIONS_USER

    • A. CORTEX_USER is granted to PUBLIC by default so that most Cortex functions work out of the box, whereas AI_FUNCTIONS_USER is not granted to PUBLIC and must be explicitly assigned.
    • B. AI_FUNCTIONS_USER is scoped to scalar functions and specifically excludes aggregate-style functions like AI_AGG and AI_SUMMARIZE_AGG, unlike the broader CORTEX_USER role.
    • C. CORTEX_USER grants access to the full set of Cortex AI functions, making it broader in scope than the more limited AI_FUNCTIONS_USER role.
    • D. Setting the CORTEX_MODELS_ALLOWLIST parameter requires the ACCOUNTADMIN role and ALTER ACCOUNT privileges; it has no relationship to holding the AI_FUNCTIONS_USER database role.
    • E. CORTEX_USER can be granted to any role, and in fact is granted to PUBLIC by default, so it is not restricted to ACCOUNTADMIN.

    Subdomain 3.1: Set up model access controls.

    19.Which of the following are recognized methods for reducing hallucinations and bias in Cortex-based Gen AI applications? (Select all that apply.)(Select 3)

    1. A.Grounding responses in retrieved, relevant source documents through Cortex Search
    2. B.Measuring output quality with groundedness and correctness metrics via AI Observability
    3. C.Applying prompt engineering techniques such as instructing the model to answer only from provided context
    4. D.Maximizing the model's temperature setting on every request
    5. E.Allowing every role in the account unrestricted access to every available model
    Show answer & explanation

    Correct answers: A, B, CGrounding responses in retrieved, relevant source documents through Cortex Search; Measuring output quality with groundedness and correctness metrics via AI Observability; Applying prompt engineering techniques such as instructing the model to answer only from provided context

    • A. Retrieval-augmented generation anchors model responses in actual source documents, substantially reducing the model's tendency to fabricate unsupported claims.
    • B. AI Observability computes groundedness and correctness metrics using an LLM-as-judge approach, giving teams a way to detect and iterate away from hallucinated or biased outputs.
    • C. Explicit prompt instructions that constrain the model to answer only using supplied context are a well-established technique for reducing fabrication.
    • D. Maximizing temperature increases output randomness and creative variation, which tends to worsen rather than reduce hallucination.
    • E. Broadening model access controls is a governance concern unrelated to output quality and does nothing to reduce hallucination or bias in generated responses.

    Subdomain 3.1: Set up model access controls.

    20.A data platform team must satisfy two simultaneous requirements: (1) block a contractor role from calling any model beyond a short approved list, and (2) allow an internal analytics role to call an emerging preview model that is not yet on the approved list but has been separately vetted for that team. Which design satisfies both requirements without conflicting configuration?

    1. A.Keep the account allowlist restricted to the approved list for the contractor role's default access, and additionally grant the analytics role the specific per-model application role for the preview model
    2. B.Set the allowlist to 'All' for the whole account so every role can reach every model, then hope no contractor calls an unapproved model
    3. C.Set the allowlist to 'None' account-wide with no RBAC grants, blocking every role including the analytics team
    4. D.Grant CORTEX_USER only to the contractor role and leave the analytics role without any Cortex privileges
    Show answer & explanation

    Correct answer: AKeep the account allowlist restricted to the approved list for the contractor role's default access, and additionally grant the analytics role the specific per-model application role for the preview model

    • A. Because RBAC is checked before the allowlist, granting the analytics role the specific model's application role lets it reach the preview model even though the allowlist otherwise restricts the account to the approved list used for the contractor.
    • B. Opening the allowlist to 'All' would let the contractor role reach every model, directly violating the requirement to restrict the contractor to a short approved list.
    • C. Blocking everything with no RBAC grants would also prevent the analytics role from reaching the preview model, failing the second requirement entirely.
    • D. Granting CORTEX_USER to the contractor while withholding it from the analytics role reverses the intended access and does not grant the preview model access the analytics team needs.

    Subdomain 3.3: Manage, monitor, and optimize Snowflake Cortex costs.

    21.A developer must choose a model for a customer-support summarization task inside AI_COMPLETE. Which consideration most directly reduces token-driven cost while still meeting quality requirements?

    1. A.Selecting the smallest model that produces acceptable summary quality rather than defaulting to the largest available model
    2. B.Always selecting the largest available model regardless of task complexity to guarantee output quality
    3. C.Running the same prompt against every available model and keeping all of the outputs for comparison
    4. D.Increasing the number of few-shot examples in every prompt regardless of task difficulty
    Show answer & explanation

    Correct answer: ASelecting the smallest model that produces acceptable summary quality rather than defaulting to the largest available model

    • A. Since per-token pricing varies significantly by model size, choosing the smallest model that still meets quality needs directly reduces the credit rate applied to every token processed.
    • B. Defaulting to the largest model regardless of task complexity maximizes the per-token rate paid even when a cheaper model would suffice, increasing cost unnecessarily.
    • C. Running every model against the same prompt multiplies token consumption across all of them, which increases total cost rather than reducing it.
    • D. Adding more few-shot examples increases input token count on every call, raising cost rather than lowering it, especially when the added examples are not needed for the task.

    Subdomain 3.3: Manage, monitor, and optimize Snowflake Cortex costs.

    22.Before running AI_COMPLETE over a multi-million-row table for the first time, an engineer wants to estimate the token cost of the job without incurring model inference charges. Which approach lets them do this?

    1. A.Run the COUNT_TOKENS function against the prompt text to estimate token volume before invoking the generative function
    2. B.Run AI_COMPLETE on a single row and multiply the resulting credit charge by the row count
    3. C.Query CORTEX_ANALYST_USAGE_HISTORY for a similar historical workload
    4. D.Estimate cost using the row count of the source table alone, since each row consumes exactly one token
    Show answer & explanation

    Correct answer: ARun the COUNT_TOKENS function against the prompt text to estimate token volume before invoking the generative function

    • A. COUNT_TOKENS reports token counts for given text without invoking the model itself, letting the engineer estimate cost ahead of running the actual generative workload.
    • B. Running the function on even a single row still incurs an actual inference charge, which is exactly the cost the engineer is trying to estimate without incurring first.
    • C. CORTEX_ANALYST_USAGE_HISTORY tracks Cortex Analyst requests, not AI_COMPLETE token usage, so it would not provide a relevant estimate for this workload.
    • D. Token count depends on text length and content, not row count, since a single row can contain many tokens; row count alone is not a valid proxy for token volume.

    Subdomain 3.2: Grant and revoke Role-Based Access Control (RBAC) and privileges.

    23.Which database role is documented as sufficient, on its own among the Cortex-specific roles, to authorize a user to call a Cortex Agent?

    1. A.SNOWFLAKE.CORTEX_AGENT_USER
    2. B.SNOWFLAKE.CORTEX_ANALYST_USER
    3. C.SNOWFLAKE.CORTEX_EMBED_USER
    4. D.SNOWFLAKE.AI_FUNCTIONS_USER
    Show answer & explanation

    Correct answer: ASNOWFLAKE.CORTEX_AGENT_USER

    • A. This is correct: calling a Cortex Agent is authorized by holding either CORTEX_USER or this agent-scoped role, which was purpose-built for that use case.
    • B. This is incorrect: this role is scoped to Cortex Analyst requests and is not documented as sufficient for calling an agent by itself.
    • C. This is incorrect: this role only covers embedding functions and managed search embeddings, unrelated to agent invocation.
    • D. This is incorrect: this role covers scalar AI functions but explicitly excludes Cortex services such as Agents.

    Subdomain 3.2: Grant and revoke Role-Based Access Control (RBAC) and privileges.

    24.An account administrator wants to move away from the account-wide model allowlist toward fine-grained RBAC for Cortex LLM models. What is the first step needed before any per-model application role can be granted?

    1. A.Call SNOWFLAKE.MODELS.CORTEX_BASE_MODELS_REFRESH() so model objects and their application roles are populated
    2. B.Set CORTEX_MODELS_ALLOWLIST to None immediately, before granting any per-model roles
    3. C.Drop the SNOWFLAKE.MODELS schema and recreate it manually with custom model objects
    4. D.Grant IMPORTED PRIVILEGES on the SNOWFLAKE database to every consuming role
    Show answer & explanation

    Correct answer: ACall SNOWFLAKE.MODELS.CORTEX_BASE_MODELS_REFRESH() so model objects and their application roles are populated

    • A. This is correct: the model objects in SNOWFLAKE.MODELS and their corresponding application roles must be populated via this refresh call before any model-specific role can be granted.
    • B. This is incorrect: disabling the allowlist before RBAC grants are in place would leave users with fully-qualified model calls unable to fall back, so the refresh and grant steps must happen first, in that order.
    • C. This is incorrect: the SNOWFLAKE.MODELS schema is system-managed and populated by the refresh procedure, not something an administrator manually drops or recreates.
    • D. This is incorrect: this broad database-level privilege is not the documented prerequisite for enabling model-specific RBAC; the refresh procedure is what populates the grantable roles.

    Subdomain 3.4: Use Snowflake AI observability tools.

    25.An engineer instruments the top-level entry-point function of a custom RAG application with TruLens and tags its span type as RECORD_ROOT. What is the purpose of the RECORD_ROOT span type?

    1. A.It marks the overall input and output of a single application invocation, anchoring record-level metrics such as answer relevance and correctness
    2. B.It marks a function that performs vector search, anchoring metrics such as context relevance for the retrieved chunks
    3. C.It marks a function that generates the final text response, anchoring token-count and latency measurements only
    4. D.It marks a function that writes results to an event table, anchoring storage cost attribution for the run
    Show answer & explanation

    Correct answer: AIt marks the overall input and output of a single application invocation, anchoring record-level metrics such as answer relevance and correctness

    • A. RECORD_ROOT designates the top-level call whose input and output represent the whole record, which is where record-level metrics like answer relevance and correctness attach.
    • B. Retrieval functions are tagged with the RETRIEVAL span type, not RECORD_ROOT, so that context relevance can be computed against the retrieved chunks specifically.
    • C. Generation functions are tagged with the GENERATION span type; RECORD_ROOT is not limited to token or latency capture and covers the whole record instead.
    • D. Writing to the event table is an internal platform mechanism, not something a developer tags with a span type, and RECORD_ROOT has no connection to storage cost attribution.

    Subdomain 3.4: Use Snowflake AI observability tools.

    26.A developer tries to register a new External Agent for their chatbot but the operation fails, and they discover a model object in the same schema already uses the intended name. Why does this conflict occur?

    1. A.External Agent objects share a namespace with model objects in the schema, so their names cannot collide
    2. B.External Agent objects can only be created in the SNOWFLAKE database, and the name collision is with a system model there
    3. C.External Agent creation requires the CREATE MODEL privilege, and the schema's model quota has already been reached
    4. D.External Agent names must match an existing Cortex Search service name, and none was available to reuse
    Show answer & explanation

    Correct answer: AExternal Agent objects share a namespace with model objects in the schema, so their names cannot collide

    • A. External Agent objects share a namespace with model objects within a schema, so an existing model object with the same name will block creation of an External Agent using that name.
    • B. External Agents are created in the developer's own schema, not restricted to the SNOWFLAKE system database, so that is not the source of this naming conflict.
    • C. Creating an External Agent does not require the CREATE MODEL privilege or draw from a model quota; the conflict here is purely a duplicate-name issue in a shared namespace.
    • D. External Agent names have no required relationship to Cortex Search service names, so a missing search service is not what is causing this registration failure.

    Domain 4: Snowflake Document Processing

    Subdomain 4.1: Use document parsing functions.

    27.A pipeline sets page_split to TRUE when calling AI_PARSE_DOCUMENT on a 40-page contract so that a downstream task can process one page at a time. How should the pipeline read the parsed pages from the returned JSON?

    1. A.Iterate the response's pages array and reference each element's content field alongside its zero-based index field
    2. B.Read the single top-level content field and split it into pages using a newline count stored in pageCount
    3. C.Query the images array, since page_split reroutes page-level text into image objects only in LAYOUT mode
    4. D.Reference the metadata field, since metadata only becomes available in the response when page_split is TRUE
    Show answer & explanation

    Correct answer: AIterate the response's pages array and reference each element's content field alongside its zero-based index field

    • A. When page_split is TRUE, the response contains a pages array whose elements each expose a content field and an index field identifying that page's position.
    • B. There is no single combined content field once page_split is enabled, and pageCount is not a mechanism for splitting text by newlines.
    • C. The images array holds extracted picture content when extract_images is enabled; page-level text is never rerouted into image objects.
    • D. The metadata field is tied to setting return_error_details to TRUE, not to page_split, so its availability does not depend on page splitting.

    Subdomain 4.1: Use document parsing functions.

    28.As of the April 2026 platform update, what is the maximum number of pages AI_PARSE_DOCUMENT can process in a single document call, in both OCR and LAYOUT modes?

    1. A.2,000 pages
    2. B.500 pages
    3. C.300 pages
    4. D.There is no page-count ceiling; only the response token limit constrains document size
    Show answer & explanation

    Correct answer: A2,000 pages

    • A. The April 2026 platform update raised AI_PARSE_DOCUMENT's supported page count to 2,000 pages for both OCR and LAYOUT modes.
    • B. 500 pages understates the current documented limit after the April 2026 increase, which raised the ceiling well beyond that figure.
    • C. 300 pages reflects an earlier, lower ceiling and is no longer accurate after the documented April 2026 page-limit increase.
    • D. AI_PARSE_DOCUMENT does enforce a documented maximum page count per call in addition to any token-related constraints on output size.

    Subdomain 4.2: Prepare and manage documents and implement extracting workflows.

    29.Before a Snowpark pipeline can call AI_PARSE_DOCUMENT or AI_EXTRACT on newly arrived contracts, what must the engineering team do to make the files available to the function?

    1. A.Load the files into a stage, then reference them via TO_FILE()
    2. B.Insert the raw file bytes into a VARIANT column and pass that column directly
    3. C.Register each file as a Snowpark DataFrame before calling the function
    4. D.Upload the files into a Snowflake model registry entry for the pipeline
    Show answer & explanation

    Correct answer: ALoad the files into a stage, then reference them via TO_FILE()

    • A. Both functions operate on FILE objects created from documents sitting in an internal or external stage, and TO_FILE() is the mechanism used to reference a staged document in the call.
    • B. Storing raw bytes in a VARIANT column bypasses the stage-based FILE reference these functions expect, so it is not a supported input path.
    • C. A Snowpark DataFrame represents tabular query results, not a staged document reference, so it cannot substitute for a FILE object built from a stage.
    • D. The model registry stores machine learning models and artifacts, not source documents awaiting parsing or extraction, so it is unrelated to this requirement.

    Subdomain 4.2: Prepare and manage documents and implement extracting workflows.

    30.An analyst designs a single AI_EXTRACT call that asks for 120 distinct entities and 12 tables from one contract. What will happen when the call runs?

    1. A.It fails, since a single call allows at most 100 entity questions and 10 table questions
    2. B.It succeeds, since AI_EXTRACT has no cap on entity or table questions per call
    3. C.It fails, since a single call allows at most 50 entity questions and 5 table questions
    4. D.It succeeds, but only the first 100 entities and 10 tables are returned silently
    Show answer & explanation

    Correct answer: AIt fails, since a single call allows at most 100 entity questions and 10 table questions

    • A. AI_EXTRACT limits a single call to at most 100 entity extraction questions and 10 table extraction questions, so requesting 120 entities and 12 tables exceeds both caps and the call fails.
    • B. The function does enforce documented per-call caps on both entity and table questions, so there is no unlimited-question behavior to rely on here.
    • C. The actual documented caps are 100 entity questions and 10 table questions per call, not the lower thresholds stated here.
    • D. Exceeding the documented caps produces a failure rather than a silent truncation of the request down to the allowed limits.

    Subdomain 4.3: Build automated document processing pipelines with Cortex AI integration.

    31.A document-processing task graph occasionally fails when AI_PARSE_DOCUMENT times out on unusually large scanned PDFs, and the on-call engineer wants the root task to stop scheduling new runs after several consecutive failures rather than continuing to fire and fail indefinitely. Which task property should be configured on the root task?

    1. A.SUSPEND_TASK_AFTER_NUM_FAILURES set to a small integer so the task automatically suspends after that many consecutive failed runs
    2. B.USER_TASK_TIMEOUT_MS set to zero so the task never times out regardless of document size
    3. C.TARGET_COMPLETION_INTERVAL set to match the parsing warehouse's auto-suspend timeout
    4. D.SYSTEM$STREAM_HAS_DATA added to the root task's WHEN clause to skip runs when prior failures are detected
    Show answer & explanation

    Correct answer: ASUSPEND_TASK_AFTER_NUM_FAILURES set to a small integer so the task automatically suspends after that many consecutive failed runs

    • A. SUSPEND_TASK_AFTER_NUM_FAILURES automatically suspends a task once it has failed the configured number of consecutive times, preventing it from continuing to fire and fail indefinitely until an operator investigates and resumes it.
    • B. Disabling the timeout would let a stuck run consume compute indefinitely instead of failing fast; it does nothing to stop future scheduled runs after repeated failures.
    • C. TARGET_COMPLETION_INTERVAL relates to serverless task compute sizing goals, not to suspending a task after repeated failures.
    • D. SYSTEM$STREAM_HAS_DATA checks for unconsumed stream records, not for a task's own failure history, so it cannot be used to detect or react to consecutive run failures.

    Subdomain 4.3: Build automated document processing pipelines with Cortex AI integration.

    32.Which of the following are valid ways to schedule or trigger a task in a Snowflake document-processing pipeline? (Select all that apply)(Select 3)

    1. A.A SCHEDULE expression, using either a fixed interval or a cron pattern, that runs the task on a recurring cadence
    2. B.An AFTER clause that positions the task as a child of a predecessor task within a task graph
    3. C.A WHEN clause using SYSTEM$STREAM_HAS_DATA so the task only executes its body when the referenced stream has unconsumed records
    4. D.A GRANT OWNERSHIP statement that causes the task to fire automatically whenever ownership of the source table changes
    5. E.A COMMENT property on the task that Snowflake parses for timing keywords to derive an implicit schedule
    Show answer & explanation

    Correct answers: A, B, CA SCHEDULE expression, using either a fixed interval or a cron pattern, that runs the task on a recurring cadence; An AFTER clause that positions the task as a child of a predecessor task within a task graph; A WHEN clause using SYSTEM$STREAM_HAS_DATA so the task only executes its body when the referenced stream has unconsumed records

    • A. SCHEDULE accepts either a fixed interval like '5 MINUTE' or a cron-style expression, both of which are standard, documented ways to run a standalone task on a recurring cadence.
    • B. AFTER defines a task's position in a task graph as a child of one or more predecessor tasks, causing it to run once its predecessors complete rather than on its own independent schedule.
    • C. SYSTEM$STREAM_HAS_DATA is commonly used in a task's WHEN clause to conditionally skip execution when the associated stream has no new change records, avoiding wasted runs.
    • D. Changing table ownership is an access-control operation and has no relationship to task scheduling or triggering; it does not cause any task to fire.
    • E. Task comments are free-text metadata for documentation purposes only; Snowflake does not parse them for scheduling keywords or derive execution timing from them.

    Subdomain 4.3: Build automated document processing pipelines with Cortex AI integration.

    33.In a Snowflake document pipeline, what privilege must a role hold in order to manually resume or execute a suspended user-managed task using EXECUTE TASK?

    1. A.The EXECUTE TASK privilege on the account, or ownership of the task combined with the appropriate operate privilege
    2. B.The SNOWFLAKE.CORTEX_USER database role, since document tasks always call Cortex functions
    3. C.The USE AI FUNCTIONS account-level privilege, since it also covers all task execution
    4. D.MONITOR privilege on the warehouse the task uses, which alone is sufficient to execute any task
    Show answer & explanation

    Correct answer: AThe EXECUTE TASK privilege on the account, or ownership of the task combined with the appropriate operate privilege

    • A. Executing or resuming a task requires the EXECUTE TASK privilege (typically granted at the account level to the role that manages the task) along with sufficient ownership or operate rights on the task object itself; this is separate from privileges needed to call Cortex functions.
    • B. CORTEX_USER governs access to Cortex AI functions like AI_COMPLETE or AI_PARSE_DOCUMENT; it does not grant the ability to execute or resume a task, which is a distinct object-level operation.
    • C. USE AI FUNCTIONS gates access to AI/Cortex functions, not task execution; a role could hold this privilege and still be unable to run or resume a task without EXECUTE TASK.
    • D. MONITOR on a warehouse allows viewing warehouse usage and status, but it does not grant the ability to execute or resume a task; that requires the task-specific EXECUTE TASK privilege.

    Subdomain 4.4: Troubleshoot and optimize document processing.

    34.An AI_EXTRACT table-extraction query against a dense, multi-page pricing table is returning results that appear cut off partway through the table, even though the source document is fully readable. What is the most likely cause and appropriate fix?

    1. A.The extracted table response has hit the function's per-call output token limit, so the table should be split by columns or pages into smaller extraction calls
    2. B.The stage holding the pricing document is missing server-side encryption, which silently truncates any document longer than one page
    3. C.AI_EXTRACT only supports single-page documents, so the pricing table must be manually re-paginated into separate one-page files first
    4. D.The extraction question was phrased as a compound question, which caps the entire response at exactly one row regardless of table size
    Show answer & explanation

    Correct answer: AThe extracted table response has hit the function's per-call output token limit, so the table should be split by columns or pages into smaller extraction calls

    • A. Table extraction responses are limited to a maximum output length in tokens, so a dense table can exceed that limit and appear truncated. Splitting the table by columns or across pages into smaller extraction calls keeps each response within the limit.
    • B. Server-side encryption affects whether Snowflake can read the file at all, not how much of a table gets returned once extraction succeeds. A missing-encryption issue would block extraction entirely rather than produce a partially truncated table.
    • C. AI_EXTRACT is not restricted to single-page documents, and multi-page documents are a normal, supported input. Re-paginating into single pages is not the documented cause of or fix for output truncation.
    • D. A compound question phrasing affects clarity of the extracted values, not the number of table rows a response can contain. Row-count truncation in this scenario is driven by the output length limit, not by question structure.

    Subdomain 4.4: Troubleshoot and optimize document processing.

    35.Before kicking off an arctic-extract fine-tuning job for the first time, an admin is checking that every required grant is in place. Which of the following privileges are genuinely required for this workflow? (Select all that apply)(Select 3)

    1. A.The SNOWFLAKE.CORTEX_USER database role, granted by a role with ACCOUNTADMIN
    2. B.CREATE MODEL privilege on the schema that will hold the fine-tuned model, plus USAGE on the containing database and schema
    3. C.READ or OWNERSHIP privilege on the stage that stores the training documents
    4. D.The GLOBALADMIN system role assigned to the user running the fine-tuning job
    5. E.The SECURITYADMIN role granted directly to the fine-tuning job's service account
    6. F.ORGADMIN privileges on the organization account, since fine-tuning is an org-level operation
    Show answer & explanation

    Correct answers: A, B, CThe SNOWFLAKE.CORTEX_USER database role, granted by a role with ACCOUNTADMIN; CREATE MODEL privilege on the schema that will hold the fine-tuned model, plus USAGE on the containing database and schema; READ or OWNERSHIP privilege on the stage that stores the training documents

    • A. The SNOWFLAKE.CORTEX_USER database role gates access to Cortex functions including fine-tuning, and this grant is made through a role holding ACCOUNTADMIN. Without it, the fine-tuning job cannot be initiated at all.
    • B. Creating a model object requires the CREATE MODEL privilege on the target schema, along with USAGE on the database and schema so the role can operate within that namespace. Both are part of the documented privilege set for this workflow.
    • C. The training documents live on a stage, and the role running the fine-tuning job needs READ or OWNERSHIP on that stage to access them. Without this, the job cannot read the files referenced by the training dataset.
    • D. GLOBALADMIN is not a standard Snowflake system role and is not part of the documented privilege requirements for fine-tuning. This option describes a role that does not fit the actual access model.
    • E. SECURITYADMIN is focused on managing grants and users at the account level and is not a documented requirement for running a fine-tuning job. Granting it directly to a service account is unrelated to the actual privilege checklist.
    • F. Fine-tuning is performed within a single Snowflake account's objects and does not require organization-level ORGADMIN privileges. This option overstates the scope of access actually needed.

    Want the full experience?

    These are just samples. Practice the full Snowflake SnowPro Specialty: Gen AI (GES-C02) question bank in quiz mode — free, no signup, with domain practice and exam simulation.