SnowPro Specialty: Gen AI Question 94
Single answerTask-specific functionsA support operations team stores customer chat transcripts in a Snowflake table and wants to automate two downstream actions: 1) assign each transcript to one of several predefined issue categories such as BILLING, SHIPPING, or LOGIN, and 2) generate a short agent-facing summary of the conversation. The team wants the simplest implementation using Snowflake Cortex task-specific SQL functions instead of writing custom prompts for every row. Which approach best fits this requirement?
- A
Use SNOWFLAKE.CORTEX.CLASSIFY_TEXT to assign the predefined category labels, and use SNOWFLAKE.CORTEX.SUMMARIZE to create the short summary.
- B
Use SNOWFLAKE.CORTEX.COMPLETE for both tasks, because task-specific functions cannot be used on table data in SQL queries.
- C
Use SNOWFLAKE.CORTEX.EMBED_TEXT_768 to generate vectors, then use those vectors directly as the customer-facing category and summary output.
- D
Use SNOWFLAKE.CORTEX.TRANSLATE to convert each transcript into a standardized internal language, which also returns the most likely issue category and summary.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use Snowflake Cortex task-specific functions aligned to each business task: SNOWFLAKE.CORTEX.CLASSIFY_TEXT for assigning text to predefined labels and SNOWFLAKE.CORTEX.SUMMARIZE for generating concise summaries. This is preferable when the use case maps cleanly to supported task-specific functions, because it reduces prompt engineering effort and typically makes SQL implementations easier to read and maintain. By contrast, SNOWFLAKE.CORTEX.COMPLETE is more flexible but is a general-purpose function better suited when no dedicated task-specific function matches the requirement. EMBED_TEXT functions produce vector representations for semantic search and retrieval workflows, not end-user categorical or summary text. TRANSLATE is limited to translation use cases. This aligns with Snowflake Cortex documentation and best practice: use task-specific functions when they directly fit the problem, and use COMPLETE when you need broader generative behavior or custom prompting.
- A. Correct.
Correct. CLASSIFY_TEXT is the task-specific Cortex function designed to classify text into a provided set of labels, which matches the requirement to choose among predefined issue categories such as BILLING, SHIPPING, or LOGIN. SUMMARIZE is the task-specific function intended to produce a concise summary from longer text. This is the most direct and maintainable approach when the team wants built-in task-specific behavior rather than crafting prompts manually with a general-purpose completion function.
- B. Incorrect.
Incorrect. COMPLETE is a general-purpose LLM function and can often be used to perform many text tasks with prompting, but the scenario explicitly asks for the simplest implementation using task-specific functions. Also, the claim that task-specific functions cannot be used on table data in SQL queries is false; these functions are designed to be called in SQL over rows in Snowflake tables.
- C. Incorrect.
Incorrect. EMBED_TEXT_768 generates vector embeddings for similarity search, clustering, retrieval, and related ML workflows. Embeddings are not human-readable labels or summaries. A common misconception is that embeddings themselves can replace classification or summarization output, but they are numerical representations and typically require additional downstream logic or models.
- D. Incorrect.
Incorrect. TRANSLATE is intended for language translation. It does not inherently return issue categories or summaries. This option reflects a misunderstanding that a single text-processing function can infer multiple unrelated outputs beyond its documented purpose.