SnowPro Specialty: Gen AI Question 67
Single answerStored natively in semantic views (Public Preview)A retail analytics team is building a text-to-SQL experience on Snowflake for business users. They want the LLM to generate reliable queries without manually maintaining a separate semantic metadata repository outside Snowflake. The lead architect proposes using semantic views, with business definitions and relationships stored directly with the semantic model in Snowflake. Which approach best meets this requirement?
- A
Create a semantic view in Snowflake and define the business semantics natively in the view so the metadata is stored with the semantic object in Snowflake.
- B
Create standard SQL views and store all business definitions in an external vector database, because Snowflake semantic views only reference metadata and do not store it.
- C
Use Cortex Search services to replace semantic views, because search indexes are the native location for storing metric definitions and table relationships.
- D
Store semantic definitions in a Snowpark Container Services application, because semantic views require an application layer to persist business metadata.
Show answer and explanation
Correct answer: A
Explanation
The key phrase in the scenario is that the team wants semantics 'stored directly with the semantic model in Snowflake' and does not want a separate metadata repository. Semantic views in Snowflake are intended for this pattern: business semantics are stored natively with the semantic object in Snowflake, which is especially relevant for governed analytics and GenAI-driven text-to-SQL experiences. Options involving Cortex Search, external vector databases, or Snowpark Container Services are plausible because they are all Snowflake-adjacent technologies used in AI and application architectures, but they do not serve as the native store for semantic definitions in this use case. This aligns with Snowflake guidance for semantic views in Public Preview, where the semantic model is managed in Snowflake rather than maintained externally.
- A. Correct.
Correct. Semantic views are designed to hold semantic metadata natively in Snowflake, which aligns with the requirement to avoid maintaining a separate external semantic repository. This supports use cases such as text-to-SQL and governed business meaning for measures, dimensions, and relationships directly in Snowflake.
- B. Incorrect.
Incorrect. This reflects a common misconception that semantic metadata must be externalized. The point of semantic views is that the semantics are stored natively in Snowflake rather than only being referenced from another system. While external systems can consume metadata, they are not required as the system of record for the semantic definition.
- C. Incorrect.
Incorrect. Cortex Search is intended for retrieval over indexed content, not for defining a governed semantic model with business metrics, dimensions, and relationships for SQL generation. It does not replace the role of semantic views in modeling business meaning.
- D. Incorrect.
Incorrect. Snowpark Container Services can host custom applications, but it is not the required persistence layer for semantic metadata in semantic views. The scenario specifically asks for metadata stored directly in Snowflake, which semantic views address without requiring a containerized app.