Cortex Knowledge Extensions¶
Cortex Knowledge Extensions (CKEs) are Cortex Search Services that can be shared on the Snowflake Marketplace or via private listings or organizational listings. They can be used in a retrieval-augmented generation (RAG) architecture to integrate licensed and proprietary content into Cortex AI applications. For example, CKEs can be used to integrate knowledge from unstructured content, such as articles, market research, books, or forum posts, into Cortex AI applications, such as chatbots and agentic systems.
How CKE works¶
Here’s how it works:
A Provider uploads their text data into a table in their account and creates a Cortex Search Service on the table. This Cortex Search Service is then shared on the on the Snowflake Marketplace. A Cortex Search Service that is shared on the Snowflake Marketplace is known as a Cortex Knowledge Extension (CKE).
A Consumer builds an application leveraging Cortex AI, such as a chatbot, using Cortex LLM functions or the Cortex Agent API with the CKE.
When a prompt is given to the Cortex AI application that is integrated with a CKE, the prompt is passed on to the CKE to get relevant knowledge by performing a semantic search. The relevant knowledge is given back to the Cortex AI applications’s LLM and reasoned over before returning an answer back to the user with citations and attribution.

CKE features¶
Some of the key features of Cortex Knowledge Extensions include:
Each of these features is described in more detail below.
Content protection¶
Providers can limit the percentage of indexed content in their CKE that can be returned to their consumers within a rolling 24-hour period. This is done by setting a threshold using the commands below. The threshold is not applied at the individual document level, but rather across the entire corpus of indexed content. Consumers will only be able to access the threshold percentage of the indexed content in the CKE.
Refer to the Listing manifest reference for more information about the cke_content_protection
field.
-- Use CREATE to create a new CKE listing with content protection.
-- Use ALTER to update an existing listing with content protection.
-- This example creates a CKE listing targeting to two accounts.
create external listing CKE_LISTING
share CKE_SHARE as
$$
title: "CKE Listing Title"
description: "Cortex Knowledge Extension Listing Description"
listing_terms:
type: "STANDARD"
auto_fulfillment:
refresh_type: "SUB_DATABASE"
refresh_schedule: "1440 MINUTE"
targets:
accounts:
- "ORG1.ACCOUNT1"
- "ORG2.ACCOUNT2"
cke_content_protection:
enable: true,
threshold: 0.2
$$
-- describe listing CKE_LISTING
-- See the manifest_yaml column for the cke_content_protection setting
When the threshold has been hit by a consumer, queries to the CKE are blocked from executing, and the consumer receives the following error:
You have reached the content protection threshold. Please try again later.
The consumer can re-query the data when the threshold refreshes.
Management¶
You can see the number of queries that the CKE executed by signing in to Snowsight and navigating to the Provider Studio » Home page. The Analytics section shows the number of queries executed.
Trial support¶
As a provider, you can offer customers a limited trial of your CKE so that they can try your product before they commit to paying for it.
Monetization¶
Cortex Knowledge Extensions can be monetized using the on-platform Snowflake Marketplace Monetization capability via subscriptions or through off-platform monetization.
Region availability¶
Cortex Knowledge Extensions are available in any region where Cortex Search is available.
Key considerations¶
Keep in mind that when you have customers using your Cortex Knowledge Extension, be careful when disabling serving of the Cortex Search Service, as that will break customers’ applications.
For advanced tuning of a Cortex Knowledge Extension, refer to the Cortex Search documentation.
Citations¶
To ensure that the CKE is providing citations, when you configure the Cortex Search Services, make sure that you include a SOURCE_URL
column that points to the source of the document in the indexed columns. This can be used by LLMs or Snowflake Intelligence to provide clear attribution and hyperlinks back to the source material.
Publishing the CKE to the Snowflake Marketplace¶
After you create a Cortex Search Service that you want to publish to the Marketplace, create a listing. Make sure that you point to the Cortex Search Service object that you created as an object that you want to publish.
Talking with the CKE¶
You can use the following methods to ask the CKE questions.
Use the Cortex Search Playground:
In Snowsight, navigate to AI & ML » Cortex Search.
Select the CKE from the Database/Schema drop down menu.
Click on Playground in the upper-right corner.
Type in a search query and see the results
Use Snowflake Intelligence:
Follow the steps outlined in Tutorial 3: Add a CKE to Snowflake Intelligence.
Use Cortex Agent API:
Use the Cortex Agent API, and specify the shared CKE in the CREATE CORTEX SEARCH parameter. Refer to the Cortex Agent API documentation for more information.
Updating your CKE¶
Keeping a CKE up-to-date is a common use case for providers that regularly introduce new or updated content. To ensure your Cortex Knowledge Extension is up-to-date do the following:
Ensure that the underlying table with content has been updated via some separate process of inserting new / updated documents into your Snowflake account.
Review the Cortex Search Service target lag. The Cortex Search Service is configured to refresh and to keep the data fresh up to a certain
target_lag
. Refer to the Cortex Search Use SQL topic for more information abouttarget_lag
.Run the following commands to ensure that the Cortex Search Service is indexing.
-- get the status of the search service
describe cortex search service cke_simple_cortex_search_service;
-- if the indexing status is suspended, you can resume it with the following command
alter cortex search service cke_simple_cortex_search_service resume indexing;
CKE and auto-fulfillment¶
Consumers can only access a Cortex Knowledge Extension made available in their region. Providers can automatically replicate their Cortex Search Service to remote consumer regions by enabling auto-fulfillment on their Cortex Knowledge Extension listing in Provider Studio.
Limitations¶
Usage-based billing with CKEs isn’t supported.