Overview of Snowflake Intelligence¶
Use Snowflake Intelligence to gain insights and take action based on data in your organization. With Snowflake Intelligence, you can:
Create charts and get instant answers using natural language. You can discover trends and analyze data without technical expertise or waiting for custom dashboards.
Access and analyze thousands of data sources, including structured and unstructured data together. You can connect insights from spreadsheets, documents, images, and databases simultaneously.
Snowflake Intelligence uses agents, which are AI models that are connected to one or more semantic views, semantic models, Cortex search services, and tools. Agents can answer questions, provide insights, and show visualizations. Snowflake Intelligence is powered by Cortex AISQL, Cortex Analyst, and Cortex Search.
Use the following sections to set up Snowflake Intelligence and start using it to get value from your data. For a Quickstart guide about Snowflake Intelligence, see Getting Started with Snowflake Intelligence.
Supported models and regions¶
Snowflake Intelligence supports the following models. You can use these models as long as the account has access to them. For more information, see Control model access.
Claude 4.0
Claude 3.7
Claude 3.5
GPT 4.1
While the listed models may not be available in all regions, you can use Snowflake Intelligence in any cloud or region by using Cortex Cross-region inference. This includes clouds and regions where the models are not available. For more information about configuring Cortex Cross-region inference, see Cross-region inference.
AWS US - You can use the Claude models in this region without Cortex Cross-region inference setup for Claude 3.5. To use the latest Claude 4 model, you must configure Cortex Cross-region inference to
aws_us
for the account.Azure US - If you are using Snowflake Intelligence in EAST US, you can use GPT 4.1 without Cortex Cross-region inference. Other region and model combinations require Cortex Cross-region inference setup for
azure_us
.AWS EU - You can use Claude 4 in this region as long as you configure Cortex Cross-region inference for
aws_eu
.
Set Up Snowflake Intelligence¶
To set up Snowflake Intelligence for your users, you must configure agent privileges.
Important
By default, Snowflake Intelligence uses the default role and the default warehouse of the user. When you invite others to use Snowflake Intelligence, make sure they’ve set a default role and warehouse.
Note
All of the queries from Snowflake Intelligence use the user’s credentials. All role-based access control and data-masking policies associated with the user automatically apply to all interactions and conversations with the agent.
Create a database. This holds the configuration object and the other objects used to support Snowflake Intelligence.
CREATE DATABASE IF NOT EXISTS snowflake_intelligence; GRANT USAGE ON DATABASE snowflake_intelligence TO ROLE PUBLIC;
After you set up the
snowflake_intelligence
database, use the following SQL commands to create a schema to store the agents and make them discoverable to everyone.CREATE SCHEMA IF NOT EXISTS snowflake_intelligence.agents; GRANT USAGE ON SCHEMA snowflake_intelligence.agents TO ROLE PUBLIC;
Grant the CREATE AGENT privilege on the
agents
schema to any role that should be able to create agents for Snowflake Intelligence.GRANT CREATE AGENT ON SCHEMA snowflake_intelligence.agents TO ROLE <role>;
Create an agent¶
Create an agent in the Snowflake Intelligence UI to answer questions and provide insights. The agent uses a semantic view, semantic model, a Cortex Search service, or a combination of these to provide answers. Although you can create a basic agent that doesn’t use any of these tools, that basic agent exclusively uses the base model to provide answers. As a result, the agent lacks access to data within your Snowflake account and has limited context for answers.
The semantic view or model is used for tables and structured data in Snowflake. This data can be in any table, as long as the table is queryable by Snowflake. Cortex Search is useful for indexing and searching pieces of data with a lot of text, such as documents, conversations, and transcripts.
Create a general knowledge agent¶
This tutorial guides you through the process of creating an agent that can answer general knowledge questions without adding any tools to the agent.
Sign in to Snowsight.
From the left-hand navigation, select AI & ML.
Select Agents.
Select Create agent.
For Platform integration, select Create this agent for Snowflake Intelligence.
For Agent object name, specify a name for the agent that is displayed to users in the UI.
For Display name, specify a name for the agent that is displayed to admins in the agent list.
Select Create agent.
Prompt the agent with general knowledge requests.
Create an agent that uses a semantic view in Cortex Analyst¶
This section assumes that you already have a semantic view created. For information about semantic views and how to create one, see Overview of semantic views.
After you’ve created the semantic view, you can create an agent that uses it. To create an agent, follow these steps:
Sign in to Snowsight.
From the left-hand navigation, select AI & ML.
Select Agents.
Select Create agent.
For Platform integration, select Create this agent for Snowflake Intelligence.
For Agent object name, specify a name for the agent that is displayed to users in the UI.
For Display name, specify a name for the agent that is displayed to admins in the agent list.
Select Create agent.
After the agent has been created, select the agent from the list of agents.
Select Edit.
For Description, describe the agent and how users can interact with it.
Select Instructions.
For Response instruction, provide instructions that the model uses for response generation. For example, specify if you want the agent to prioritize chart creation, or to keep a certain tone with users.
To add sample questions that users can ask the agent, enter a sample question and select Add a question.
Select Tools.
Find Cortex Analyst and select the respective + Add button.
For Name, enter a name for the semantic view.
Select Semantic view.
Select the semantic view that the agent uses.
For Warehouse, select the warehouse that the agent uses to run queries.
For Query timeout (seconds), specify the maximum time in seconds that that the agent waits for a query to complete before timing out.
For Description, describe the semantic view.
Select Add.
Select Orchestration.
For Orchestration model, select the model that the agent uses to handle orchestration.
For Planning instructions, provide instructions that influence tool selection by the agent based on user-provided input. These can include specific instructions about when to use each tool, or even to always use a tool at the beginning or end of a response.
Select Access.
To give a role access to the agent, select Add role, then select the role from the dropdown menu.
Select Save.
Create an agent that uses the Cortex Search service¶
This section assumes that you’ve already created a Cortex Search service. For information about creating a Cortex Search service, see Cortex Search.
Important
Any user who interacts with the Cortex Search service through the agent must have access to that service, including USAGE on the database and schema the service is in.
After you’ve created the search service, you can create an agent that uses it. To create an agent, follow these steps:
Sign in to Snowsight.
From the left-hand navigation, select AI & ML.
Select Agents.
Select Create agent.
For Platform integration, select Create this agent for Snowflake Intelligence.
For Agent object name, specify a name for the agent that is displayed to users in the UI.
For Display name, specify a name for the agent that is displayed to admins in the agent list.
Select Create agent.
After the agent has been created, select the agent from the list of agents.
Select Edit.
For Description, describe the agent and how users can interact with it.
Select Instructions.
For Response instruction, provide instructions that the model uses for response generation. For example, specify if you want the agent to prioritize chart creation, or to keep a certain tone with users.
To add sample questions that users can ask the agent, enter a sample question and select Add a question.
Select Tools.
Find Cortex Search Services and select the respective + Add button.
For Name, enter a name for the Cortex Search service.
For Description, describe the Cortex Search service.
For Search service, select the Cortex Search service that the agent uses.
Select Add.
Select Orchestration.
For Orchestration model, select the model that the agent uses to handle orchestration.
For Planning instructions, provide instructions that influence tool selection by the agent based on user-provided input. These can include specific instructions about when to use each tool, or even to always use a tool at the beginning or end of a response.
Select Access.
To give a role access to the agent, select Add role, then select the role from the dropdown menu.
Select Save.
Add custom tools to an agent¶
By adding custom tools, you can extend the functionality of your agents. With custom tools, the agent can call stored procedures and functions that you have defined to perform actions or do computations. For information about procedures and functions, see Extending Snowflake with Functions and Procedures.
Note
Snowflake Intelligence only supports custom tools that return a single string with a 16 kb size limit. Additionally, Snowflake Intelligence only supports simple types, such as numbers and strings, as parameters for custom tools. Complex objects types, such as arrays, maps, and JSON objects are not supported.
To add a custom tool, follow these steps:
Sign in to Snowsight.
From the left-hand navigation, select AI & ML.
Select Agents.
Select the agent from the list of agents.
Select Edit.
Select Tools.
Find Custom tools and select the respective + Add button.
For Name, enter a name for the custom tool.
For Resource type, select whether the custom tool is a function or a procedure. For information about whether to use a function or procedure, see Choosing whether to write a stored procedure or a user-defined function.
For Custom tool identifier, select the existing function or procedure that you want to add as a custom tool.
The related parameters for the function or procedure automatically appear. You can manually add parameters for the custom tool by adding a name, type, description, and selecting whether the parameter is required. You can also modify parameters that automatically populate.
For Warehouse, select the warehouse that the agent uses to run the custom tool. You must manually select a warehouse.
For Description, describe the custom tool and how to use it.
After creating the custom tool, make sure users are granted USAGE privileges to the function or procedure that you added as a custom tool. When using stored procedures, Snowflake Intelligence maintains whether the procedure runs with owner’s or caller’s rights. For information about owner’s and caller’s rights, see Understanding caller’s rights and owner’s rights stored procedures.
Use the agent¶
After you’ve created an agent, you can ask it questions to get insights from your data. The agent can answer questions such as the following:
What is the average sales amount for the last quarter?
What product sold the most units last month?
Can you show me the sales trend for the last year?
It can also provide visualizations such as the following:
Bar chart
Line chart
Pie chart
To use the agent, follow these steps:
From the left-hand navigation, select AI & ML or navigate to the Snowflake Intelligence landing page.
Select Snowflake Intelligence. The navigation changes to focus on Snowflake Intelligence. We recommend opening a new browser tab specifically for Snowsight while using the Snowflake Intelligence application. By using distinct browser tabs, you can switch between the Snowsight interface and the Snowflake Intelligence application.
In the chat window, select the agent from the dropdown.
Select the data source for the agent to use.
Ask the agent a question or ask it to provide you with a visualization of your data.
Modify an existing agent¶
To modify the configuration for an existing agent, complete the following steps:
In the left-hand navigation, select AI & ML.
Select Agents.
From the list of agents, select the agent that you want to modify. This opens a pane that includes all of the configuration details for the agent.
Select Edit.
Modify the desired configuration details.
Select Save.
Tutorial - Create an agent that uses the Snowflake documentation¶
This tutorial shows how to create an agent that uses the Snowflake documentation as a knowledge base. The agent can answer questions about Snowflake features and best practices.
Install the Cortex Knowledge Extension for Snowflake Documentation from the Snowflake Marketplace by selecting Get.
In the installation prompt, note the database name where the Cortex Knowledge Extension is installed. This will be used later when creating the agent.
Add privileges for the newly created database to the role that is creating the agent. These privileges are required to access the database.
GRANT IMPORTED PRIVILEGES ON DATABASE <database_name> TO ROLE <role>;
Create an agent following the steps in Create an agent that uses the Cortex Search service with the following modification:
When adding a Cortex Search Service, select the newly created database and the SHARED schema.
For Search service, add the
CKE_SNOWFLAKE_DOCS_SERVICE
search service.Select Add.
Save the agent.
Navigate to the Snowflake Intelligence landing page.
Select the agent that you created and select the Cortex Knowledge Extension for Snowflake Documentation as the source.
Ask the agent questions about the Snowflake documentation.
Troubleshooting¶
If you encounter table / search service / stage does not exist
errors, there might be privilege issues. Verify that the following privileges are set correctly:
For each semantic model:
The user’s default role is granted USAGE on the database and schema of the semantic model stage or view, and table.
The user’s default role is granted READ on the stage that stores the semantic model file.
If using a view, the user’s default role is granted REFERENCES on the semantic view.
The user’s default role is granted SELECT for each table defined in the semantic model or view.
For each Cortex search service:
The user’s default role is granted USAGE on the database and schema of the Cortex search service.
The user is granted USAGE on the Cortex search service.