A business intelligence team wants to enable non-technical users to query structured data in Snowflake using natural language. They are considering Cortex Analyst. What is the primary role of a semantic model in Cortex Analyst to achieve this goal for structured/text-to-SQL use cases?
Correct Answer: C
Option C is correct. Cortex Analyst uses semantic models to bridge the gap between business users' natural language and the technical database schema. Semantic models provide semantic information like descriptive names and synonyms for tables and columns, which helps the underlying LLM accurately generate SQL queries from natural language questions. Option A is incorrect because the semantic model does not directly execute SQL; it provides the context for an LLM to generate SQL. Option B is incorrect as access control is managed by Snowflake's RBAC and not stored within the semantic model itself. Option D is incorrect; while performance is a consideration, caching is not the primary role of the semantic model in bridging the language gap for text-to-SQL functionality. Option E is incorrect because while vector embeddings are used in Snowflake (e.g., Cortex Search for RAG), the semantic model itself isn't primarily a vector store for all data columns for direct semantic search in this context; rather, it provides metadata for text-to-SQL generation.