Snowflake Copilot: Here’s Everything We Know So Far About This AI-Powered Assistant

Updated June 04th, 2024

Share this article

Snowflake Copilot is an AI-powered assistant that helps you write, optimize, and understand SQL queries to analyze your Snowflake data assets. You can also ask open-ended questions in plain English to understand the contents of databases and schema in Snowflake.

Since Copilot is still in public preview and its capabilities are still evolving, this article will explain what’s available in the current version and what you can expect as Copilot continues to develop.

We’ll also explore Snowflake Copilot’s benefits and top use cases and address some of the most commonly asked questions.

Meet Atlan at the Snowflake Summit - Unlock exclusive experiences at Snowflake Summit! Sign up for a personalized demo, join us for an intimate customer dinner, or celebrate at an afterparty hosted by one of our partners. 👉 Meet us at the summit

Table of contents

  1. What is Snowflake Copilot?
  2. Snowflake Copilot benefits
  3. Snowflake Copilot core capabilities
  4. Snowflake Copilot best practices
  5. Standardize your metadata for more accurate, reliable insights with Snowflake Copilot
  6. Snowflake Copilot: Frequently Asked Questions
  7. Related Reads

What is Snowflake Copilot?

Snowflake Copilot is an AI-powered assistant that comprehends the context of your Snowflake data assets. As a result, you can:

  • Ask open-ended questions about your data and metadata
  • Send follow-up inquiries to understand the information stored in your Snowflake databases and schema

Text-to-SQL in Snowflake Copilot

Text-to-SQL in Snowflake Copilot - Source: Snowflake Blog.

Copilot also empowers you to refine, optimize, and debug your SQL queries, making it easier to unearth valuable insights from your Snowflake data.

Correcting SQL queries using Snowflake Copilot

Correcting SQL queries using Snowflake Copilot - Source: Snowflake Blog.

Snowflake Copilot is an LLM-powered assistant

Snowflake Copilot is an LLM-powered assistant - Source: Snowflake Copilot release note dated April 11-25, 2024.

According to VentureBeat, Snowflake Copilot “taps the power of Snowflake’s proprietary text-to-SQL model and Mistral’s recently launched Mistral Large large language model (LLM) to generate relevant SQL queries and help users understand and explore their data.”

Snowflake Copilot is powered by Snowflake Cortex, which is Snowflake’s intelligent, fully managed AI service. Its underlying infrastructure and resources enable Copilot’s AI capabilities.

What are the top use cases for Snowflake Copilot?

Snowflake Copilot democratizes data exploration and accelerates data analysis for Snowflake users. While it’s still under public preview and will continue to evolve, here are the top use cases so far:

  • Data exploration of your Snowflake assets in plain English
  • Text-to-SQL — construct and run SQL statements that analyze your Snowflake data assets
  • AI-powered explanations of SQL queries
  • Learn more about Snowflake by asking any questions you have about SQL (what is a Join?) and Snowflake documentation — concepts (what is Snowflake Cortex?), features (how does the TRANSLATE function work?), and capabilities (how do I ingest data into Snowflake?)

How much does Snowflake Copilot cost?

According to Snowflake, Snowflake Copilot will be free until May 31, 2024. They’re still working on precise details about its pricing and billing.

Next, let’s look at the benefits that the current version of Snowflake Copilot has to offer for Snowflake users.

Top benefits of using Snowflake Copilot

Snowflake emphasizes that Copilot’s use cases will “extend beyond worksheets, and we’re actively working to make Copilot a ubiquitous companion in Snowflake.”

Some of the benefits of using Copilot, based on what we know so far, include:

  • Democratization of data exploration as anyone (with the right access) can extract meaningful insights from your Snowflake data assets quickly by asking questions in plain English
  • Automation of SQL query generation — no need to remember SQL syntax
  • Automation of SQL query refinement and enhancement for better query performance and accuracy
  • There is no need for external LLMs, leading to better data security and privacy
  • Assured data governance since Copilot operates within the Snowflake security and governance framework

Now, let’s dive into the key features and functions of Copilot. Understanding these capabilities is essential for using Copilot effectively and getting the most out of your data analysis.

Snowflake Copilot core capabilities: What we know so far

As mentioned earlier, Snowflake Copilot is still in preview and will continue to evolve. So far, here are the top capabilities for Copilot:

  • Explore data in plain English with open-ended questions and follow-up inquiries to refine your analysis and get deeper insights
  • Construct and run SQL queries — if you ask, “How many sales crossed USD 10,000 in the past year?”, Copilot responds with an SQL query that addresses your question
  • Build complex queries by asking follow-up questions to refine your SQL query, so that you can get deeper insights
  • Explain a SQL statement by typing ‘Can you explain this query to me step-by-step?’, followed by the query. Copilot will respond with a step-by-step explanation.
  • Optimize existing SQL queries by asking Snowflake Copilot to help you assess query efficiency and offer suggestions to improve
  • Fix your SQL queries by asking Copilot to review them and provide corrections
  • Add custom instructions (up to 2000 characters) to get better responses — provide directions on using a specific tone or responding in a certain way, preferences on how to write SQL, or additional information about the data to consider

Snowflake Copilot best practices: 5 tips to improve your outcomes

To make the most out of Snowflake Copilot and achieve the best results in your data analysis, consider these best practices:

  1. Create curated views to get better results. Make sure that the views you create have the following details:
    • Descriptive and easy-to-understand names for the columns — If a column contains the date for a specific sale, name the column sale_date
    • Columns with the appropriate data type — If a column contains the date for a specific sale, make sure it has the DATE type
    • Commonly used metrics/expressions as new columns — If profit is defined as revenue - cost, create a column (revenue - cost) AS profit in your view
    • Common and complex joins — If two tables, products and sales, are often joined, make sure that your view joins these tables
  2. Be as specific as possible when asking questions or requesting queries.
  3. Begin with basic questions or requests and gradually increase complexity as you understand Copilot’s capabilities.
  4. To refine your search and filter on specific values within columns, actively guide Snowflake Copilot. For instance, you can request a query that retrieves all the unique values present in a given column.
  5. Provide feedback on Copilot’s performance so that Snowflake can improve and tailor it to your needs.

Bottomline: Standardize your metadata for more accurate, reliable insights with Snowflake Copilot

Snowflake Copilot is a promising tool that has the potential to democratize data analysis within the Snowflake environment. Despite its early stage, Copilot’s ability to automate and streamline SQL query generation and refinement is already a significant asset for data teams.

It’s vital to note that standardizing your data and metadata — ensuring that it’s consistently structured, labeled, and contextualized — is crucial for delivering more accurate, reliable insights with Snowflake Copilot.

While creating customized views can help, a more scalable and sustainable solution is to establish a unified glossary. This centralized repository would offer enriched information on your assets with:

  • Standardized names and descriptions
  • Added context (READMEs, summaries, ownership details, version history)
  • A map of relationships between data assets across your data estate — for all data sources, tools, dashboards, etc.

Such a setup would provide contextual documentation for all data assets, ensure consistent understanding, and empower Snowflake Copilot to deliver accurate, reliable insights.

Snowflake Copilot: Frequently Asked Questions (FAQs)

If you have any questions or need further clarification, this section is a great place to start. We’ll address common queries and concerns about Snowflake Copilot.

1. What should you expect from Snowflake Copilot?

Snowflake Copilot aims to be ‘a ubiquitous companion’ that provides easy access to insights from Snowflake for faster, more effective decision-making.

Is Snowflake Copilot publicly available?

Snowflake Copilot is in public preview for AWS accounts in the United States.

2. Is Snowflake Copilot free?

Till May 31, 2024, there are no costs for interacting with Snowflake Copilot.

4. How can you set up Snowflake Copilot?

If you’re a Snowflake customer using AWS and in the US (us-east-1 and us-west-2), then you can use Snowflake Copilot whenever you select or create a session.

Copilot gives you the option of selecting the database and schema you wish to query.

Snowflake Copilot appears at the bottom right of your screen whenever you start a session

Snowflake Copilot appears at the bottom right of your screen whenever you start a session - Source: Snowflake Builders Blog.

5. Are there any limitations to using Snowflake Copilot?

Since Snowflake Copilot is still under development, there are some limitations to using it:

  • Limited language support: Currently, Snowflake Copilot only supports English and SQL.
  • No direct access to your data: You must provide specific values from the data inside your tables to fine-tune your results. For example, if you ask Snowflake Copilot to return all rows that have a specific column value, let’s say “X”, you must provide the value “X” in your request.
  • No support for cross-database or schema queries: Currently, you cannot run queries involving multiple databases or schemas. According to Snowflake, you can work around this by creating and using views that join data from different schemas and databases.
  • Potential delays in responses: Depending on the complexity of your query, Snowflake Copilot might take longer to offer a response.
  • Potential errors in SQL suggestions: Sometimes, the SQL queries suggested by Snowflake Copilot may contain invalid SQL syntax or non-existent tables or columns.
  • Delay in detecting new databases, schemas, and tables: Snowflake states that may take up to 3-4 hours for Snowflake Copilot to recognize newly created databases, schemas, and tables.
  • Limited number of tables and columns considered: According to Snowflake, when generating a response, Copilot only considers the top 10 tables and columns relevant to your request.

We believe that as Snowflake Copilot emerges out of preview and becomes generally available, these issues will get better.

6. What about security, privacy, and governance for Snowflake Copilot?

Since Snowflake Copilot is powered by Snowflake Cortex, your enterprise data and metadata are always stored securely inside Snowflake. Like Snowflake Cortex, Snowflake Copilot also fully supports RBAC and provides results based on the datasets you can access.

Share this article

[Website env: production]