Consulte o Cortex Search direto em SQL com a função CORTEX_SEARCH_RETRIEVE
A função de tabela CORTEX_SEARCH_RETRIEVE permite consultar serviços do Cortex Search diretamente no SQL com baixa latência, suportando buscas pontuais ou por linha com junções LATERAL para RAG e chatbots.
O que mudou
O Snowflake disponibilizou em visualização pública (Public Preview) a função de tabela CORTEX_SEARCH_RETRIEVE. Com ela, você pode executar buscas semânticas de baixa latência em um serviço do Cortex Search usando comandos SQL convencionais.
Para que serve
Imagine que você armazena dúvidas de suporte e quer recuperar os artigos de ajuda mais relevantes diretamente em uma query analítica, sem precisar orquestrar chamadas de API externa ou scripts em Python.
Com esse recurso é possível:
- Buscar contexto relevante em tempo real para aplicações de RAG e chatbots.
- Executar buscas linha a linha a partir de uma tabela usando junções
LATERAL. - Cruzar o conteúdo retornado da pesquisa com outras tabelas relacionais usando
JOINeGROUP BY.
Como usar
A sintaxe base chama a função passando o serviço de busca e o termo desejado:
SELECT *
FROM TABLE(CORTEX_SEARCH_RETRIEVE(
service_name => '<database>.<schema>.<cortex_search_service>',
query => '<query_string>',
limit => 10
));
No exemplo abaixo, uma consulta pontual busca artigos sobre despesas corporativas:
SELECT *
FROM TABLE(CORTEX_SEARCH_RETRIEVE(
service_name => 'meu_catalogo.meu_esquema.meu_servico_busca',
query => 'como solicitar reembolso de despesas',
limit => 5
));
O que acontece nesse código:
- O Snowflake envia a consulta para o serviço
meu_servico_buscano banco e schema indicados. - O serviço avalia os índices e reutiliza a camada de serving existente.
- O comando retorna até 5 registros com maior proximidade semântica.
Para buscar referências para cada registro de uma tabela, use LATERAL:
SELECT
p.id_pergunta,
p.texto_pergunta,
cs.titulo_artigo,
cs.METADATA$RESULT_DETAIL
FROM minhas_perguntas AS p,
LATERAL CORTEX_SEARCH_RETRIEVE(
service_name => 'meu_catalogo.meu_esquema.meu_servico_busca',
query => p.texto_pergunta,
limit => 2
) AS cs;
O que acontece nesse código:
- A junção
LATERALavalia a função para cada linha presente emminhas_perguntas. - O texto da coluna
p.texto_perguntaserve como entrada de busca. - São retornados até 2 artigos correspondentes para cada pergunta avaliada.
O que retorna
A função entrega as colunas da fonte indexada (exceto colunas do tipo VECTOR) e adiciona metadados operacionais:
| Campo | Descrição |
|---|---|
METADATA$REQUEST_ID | Identificador único da requisição de busca para rastreio e depuração. |
METADATA$ERROR | Mensagem de erro caso a busca falhe naquela linha; nulo em caso de sucesso. |
METADATA$RESULT_DETAIL | JSON com dados sobre a pontuação e os componentes de relevância. |
Limitações e requisitos
- Estágio: Public Preview, aberto a todas as contas nas regiões com suporte ao Cortex Search.
- Permissões: A role utilizada precisa do privilégio
USAGEno Cortex Search Service. - Estado do serviço: A camada de serving do Cortex Search precisa estar ativa. Se o serviço entrou em auto-suspend por inatividade, o primeiro comando reativa o serving com latência adicional de inicialização.
- Casos de uso: Projetado para consultas individuais e de baixa latência. Cargas com processamento em lote ou volumes massivos devem utilizar
CORTEX_SEARCH_BATCH. - Compartilhamento: Não há suporte para serviços consumidos via compartilhamento de dados (data sharing ou listings).
- snowflake cortex
- cortex search
- rag
- sql
Retrieve Cortex Search (Public Preview)
Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.
Relacionadas
- SnowflakeGA
Imagens de runtime personalizadas agora disponíveis para ML Jobs
Construa e registre suas próprias imagens de container como Ambientes de Runtime Customizados (CREs) para usar em ML Jobs no Snowflake.
snowflake ml · ml jobs - SnowflakeGA
Atualizações nos Data Clean Rooms com Python 3.13 e novas edições
Atualizações no Snowflake Data Clean Rooms trazem o Python 3.13, edição geral de colaborações e correções para timeouts de segurança.
data clean rooms · python - SnowflakePublic Preview
Cortex AI Gateway chega à Azure, GCP e novas regiões AWS no Snowflake
O Cortex AI Gateway agora está disponível para contas nas regiões comerciais da Azure, GCP e AWS Nova Zelândia, centralizando a governança e o monitoramento de IA.
snowflake cortex · cortex ai gateway