К основному содержанию
правило

snowflake-cortex-ai-cursorrules-prompt-file — правило для Cursor

Правило подсказывает Cursor, как работать с функциями Snowflake Cortex AI и Cortex Search. Пригодится для SQL-запросов с ИИ и RAG-поиска.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/snowflake-cortex-ai-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает snowflake-cortex-ai-cursorrules-prompt-file

Правило охватывает функции Cortex AI для генерации текста, классификации, извлечения данных, анализа тональности и обработки документов. Оно также описывает Cortex Search: гибридный поиск по смыслу и ключевым словам, создание поискового сервиса и запросы к нему через Python API или REST API.

В рекомендациях есть SQL-примеры, параметры поискового сервиса и схема RAG: сначала найти контекст, затем передать его в AI_COMPLETE. Правило советует проверять число токенов перед крупной пакетной обработкой и не прогонять большие таблицы через AI_COMPLETE построчно без оценки стоимости. Для доступа к функциям нужны привилегия аккаунта USE AI FUNCTIONS и роль базы данных SNOWFLAKE.CORTEX_USER.

Какие задачи решает

  • классифицировать текст с помощью AI_CLASSIFY
  • извлечь поля из писем и документов
  • создать Cortex Search для гибридного поиска
  • подобрать фильтры и параметры запроса к поисковому сервису
  • собрать RAG-запрос на основе найденного контекста

Примеры запросов агенту

  • Подскажи SQL-запрос для классификации обращений через AI_CLASSIFY.
  • Покажи, как создать Cortex Search для поиска по тексту и региону.
  • Составь пример RAG-запроса: найди контекст через Cortex Search и передай его в AI_COMPLETE.

Как установить snowflake-cortex-ai-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/snowflake-cortex-ai-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о snowflake-cortex-ai-cursorrules-prompt-file

Как установить snowflake-cortex-ai-cursorrules-prompt-file в Cursor?

Добавьте файл правила по пути .cursor/rules/snowflake-cortex-ai-cursorrules-prompt-file.mdc.

Что делает snowflake-cortex-ai-cursorrules-prompt-file?

Правило даёт Cursor рекомендации и примеры для Cortex AI Functions и Cortex Search в Snowflake, включая гибридный поиск и RAG.

Какие права нужны для функций Cortex AI?

Нужны привилегия аккаунта USE AI FUNCTIONS и роль базы данных SNOWFLAKE.CORTEX_USER.

Исходный текст

snowflake-cortex-ai-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for Snowflake Cortex AI Functions (AI_COMPLETE, AI_CLASSIFY, AI_EXTRACT, etc.) and Cortex Search for RAG applications."
globs: **/*
alwaysApply: false
---
// Snowflake Cortex AI
// Expert guidance for Cortex AI Functions and Cortex Search (hybrid vector+keyword search)

You are an expert in Snowflake Cortex — the AI layer of Snowflake including Cortex AI Functions (SQL-callable LLM/ML functions) and Cortex Search (managed hybrid search for RAG applications). All processing runs inside Snowflake with no data leaving the platform.

// ═══════════════════════════════════════════
// CORTEX AI FUNCTIONS
// ═══════════════════════════════════════════

// Available Functions (use these names — they are the current versions):
// AI_COMPLETE       — General-purpose LLM completion (text, images, documents).
// AI_CLASSIFY       — Classify text/images into user-defined categories (multi-label supported).
// AI_FILTER         — Returns TRUE/FALSE for text/image input. Use in WHERE clauses.
// AI_AGG            — Aggregate insights across rows of text (no context window limit).
// AI_EMBED          — Generate embedding vectors (similarity search, clustering).
// AI_EXTRACT        — Extract structured info from text, images, or documents.
// AI_SENTIMENT      — Sentiment score from text (-1 to 1).
// AI_SUMMARIZE_AGG  — Summarize across rows (no context window limit).
// AI_SIMILARITY     — Embedding similarity between two inputs.
// AI_TRANSCRIBE     — Transcribe audio/video from stages.
// AI_PARSE_DOCUMENT — OCR or text+layout extraction from documents in stages.
// AI_REDACT         — Redact PII from text.
// AI_TRANSLATE      — Translate between supported languages.

// Helper Functions:
// TO_FILE('@stage', 'filename')  — File reference for document processing.
// AI_COUNT_TOKENS(model, text)   — Check token count before calling a model.
// PROMPT('template {0}', arg)    — Build prompt objects for AI_COMPLETE.
// TRY_COMPLETE                   — Returns NULL on failure instead of error.

// AI_COMPLETE — The Primary Function
// Models: claude-4-opus, claude-4-sonnet, claude-sonnet-4-5, claude-opus-4-5, claude-haiku-4-5,
//         gemini-3-pro, llama3.1-70b, llama3.1-8b, llama3.3-70b, mistral-large2, mistral-small2, deepseek-r1

// Text completion:
SELECT AI_COMPLETE(MODEL => 'claude-4-sonnet', PROMPT => 'Summarize: ' || review_text) FROM reviews;

// Document processing:
SELECT AI_COMPLETE(
  MODEL => 'claude-4-sonnet',
  PROMPT => PROMPT('Extract the invoice total from {0}', TO_FILE('@docs', 'invoice.pdf'))
);

// Structured JSON output:
SELECT AI_COMPLETE(MODEL => 'claude-4-sonnet',
  PROMPT => 'Extract name, email, company as JSON: ' || raw_text)::VARIANT AS extracted FROM contacts;

// AI_CLASSIFY:
SELECT AI_CLASSIFY(ticket_text, ['billing', 'technical', 'account', 'other']) AS category FROM tickets;
// Multi-label: AI_CLASSIFY(input, categories, {'output_mode': 'multi'})

// AI_FILTER (natural-language WHERE):
SELECT * FROM reviews WHERE AI_FILTER(review_text, 'mentions product quality issues');

// AI_AGG (cross-row aggregation):
SELECT AI_AGG(feedback_text, 'What are the top 3 themes?') FROM customer_feedback;

// AI_EXTRACT (entity extraction):
SELECT AI_EXTRACT(email_body, 'meeting date', 'attendees', 'action items') FROM emails;

// AI_SENTIMENT: SELECT review_text, AI_SENTIMENT(review_text) AS sentiment FROM product_reviews;
// AI_EMBED:     SELECT AI_EMBED(description) AS embedding FROM products;
// AI_PARSE_DOCUMENT: SELECT AI_PARSE_DOCUMENT(TO_FILE('@docs', 'contract.pdf'), MODE => 'LAYOUT');
// AI_TRANSCRIBE:     SELECT AI_TRANSCRIBE(TO_FILE('@media', 'recording.mp3')) AS transcript;
// AI_REDACT:         SELECT AI_REDACT(customer_notes) AS redacted FROM support_cases;

// Privileges: USE AI FUNCTIONS account privilege + SNOWFLAKE.CORTEX_USER database role (both granted to PUBLIC by default).

// ═══════════════════════════════════════════
// CORTEX SEARCH — Hybrid Vector + Keyword Search
// ═══════════════════════════════════════════

// Fully managed search combining vector (semantic) and keyword (lexical) search.
// Use cases: RAG for LLM chatbots, enterprise search, AI-powered Q&A.

// Single-index (simplest):
CREATE OR REPLACE CORTEX SEARCH SERVICE my_search
  ON transcript_text
  ATTRIBUTES region, agent_id
  WAREHOUSE = my_wh
  TARGET_LAG = '1 day'
  EMBEDDING_MODEL = 'snowflake-arctic-embed-l-v2.0'
  AS (SELECT transcript_text, region, agent_id FROM support_transcripts);

// Multi-index (text + vector on multiple columns):
CREATE OR REPLACE CORTEX SEARCH SERVICE my_multi_search
  TEXT INDEXES transcript_text, summary
  VECTOR INDEXES transcript_text (model='snowflake-arctic-embed-l-v2.0')
  ATTRIBUTES region
  WAREHOUSE = my_wh
  TARGET_LAG = '1 hour'
  AS (SELECT transcript_text, summary, region FROM support_transcripts);

// Key Parameters: ON (single-index column), TEXT INDEXES, VECTOR INDEXES, ATTRIBUTES (filter columns),
// TARGET_LAG (freshness), EMBEDDING_MODEL, PRIMARY KEY (optimized incremental refresh).

// Query — Python API (recommended for apps):
from snowflake.core import Root
root = Root(session)
service = root.databases["db"].schemas["schema"].cortex_search_services["my_search"]
resp = service.search(
    query="internet connection issues",
    columns=["transcript_text", "region"],
    filter={"@eq": {"region": "North America"}},
    limit=5
)

// Query — REST API:
// POST /api/v2/databases/<db>/schemas/<schema>/cortex-search-services/<service>:query
// Body: {"query": "...", "columns": [...], "filter": {...}, "limit": N}

// Filter syntax:
// {"@eq": {"region": "NA"}}, {"@contains": {"tags": "urgent"}}, {"@gte": {"score": 0.8}}
// {"@and": [f1, f2]}, {"@or": [f1, f2]}, {"@not": f}

// Scoring config — adjust text vs vector vs reranker weights:
resp = service.search(query="billing dispute", columns=["transcript_text"],
    scoring_config={"weights": {"texts": 0.3, "vectors": 0.5, "reranker": 0.2}}, limit=10)

// RAG Pattern: 1) Search for context, 2) Pass to AI_COMPLETE:
//   results = service.search(query=question, columns=["content"], limit=5)
//   SELECT AI_COMPLETE(MODEL=>'claude-4-sonnet', PROMPT=>'Answer from context: '||context||' Q: '||question);

// Best Practices
- Use AI_CLASSIFY for classification (cheaper than AI_COMPLETE).
- Check token counts with AI_COUNT_TOKENS before large batch jobs.
- Set PRIMARY KEY on Cortex Search for optimized incremental refresh.
- Use ATTRIBUTES for filterable columns. Use SEARCH_PREVIEW for testing, Python/REST for production.
- Use dedicated warehouse (no larger than MEDIUM) per search service.

// Anti-Patterns
- Do NOT use old function names (COMPLETE, CLASSIFY_TEXT, etc.) — use AI_* versions.
- Do NOT pass entire tables through AI_COMPLETE row-by-row without cost estimation.
- Do NOT hardcode model names without considering regional availability.

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Все правила IDE по теме «Данные и базы» →
sql-sp-generation официальный github Правило задаёт Copilot стиль для SQL: имена таблиц, ключи, транзакции, параметры и оформление хранимых процедур. ★ 40 451звёзд репо scala-spark официальный github Набор инструкций для GitHub Copilot по разработке на Apache Spark в Scala. Помогает писать быстрые трансформации, настраивать партиционирование и избегать падений памяти. ★ 40 451звёзд репо r официальный github Задаёт Copilot правила генерации кода на R: стиль проекта, безопасность, работа с путями и данными. Пригодится, если в репозитории есть .R, .Rmd или .qmd файлы. ★ 40 451звёзд репо power-bi-security-rls-best-practices официальный github Набор инструкций по настройке Row-Level Security (RLS) в Power BI. Помогает генерировать шаблоны DAX, SQL-предикаты и код для Embedded-аналитики. ★ 40 451звёзд репо power-bi-report-design-best-practices официальный github Правило помогает выбирать визуализации и проектировать структуру отчётов Power BI. Пригодится, когда нужно продумать страницу, диаграмму или навигацию. ★ 40 451звёзд репо power-bi-devops-alm-best-practices официальный github Правило для GitHub Copilot: подсказывает агенту, как вести Power BI-проект в Git, собирать CI/CD и раскатывать отчёты по средам. ★ 40 451звёзд репо

Из того же набора210

solidity-hardhat-cursorrules-prompt-file Правило для Cursor, которое настраивает ИИ-ассистента на разработку смарт-контрактов на Solidity с проверками безопасности и работой через Hardhat. ★ 41 024звёзд репо solana-wallet-aware Правило задаёт проверки безопасности для Solana-кода: от изоляции подписанта до симуляции транзакций перед запуском с реальными средствами. ★ 41 024звёзд репо snowflake-snowpark-dbt-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту контекст по Snowpark Python и dbt с адаптером Snowflake. Пригодится, когда пишете пайплайны трансформаций в этих двух инструментах. ★ 41 024звёзд репо snowflake-data-engineering-cursorrules-prompt-file Набор инструкций для Cursor по Snowflake: SQL, полуструктурированные данные в VARIANT, динамические таблицы и контроль расходов на виртуальные склады. ★ 41 024звёзд репо shopify-theme-dev-liquid Правило для Cursor с набором практик по темам Shopify: Liquid, JavaScript, CSS, доступность и производительность. Пригодится, если пишете тему и хотите, чтобы агент держал структуру. ★ 41 024звёзд репо semiotic-react-dataviz-cursorrules-prompt-file Задаёт для Cursor правила работы с React-библиотекой Semiotic: подсказывает HOC-компоненты и доступные пропсы для 30+ типов графиков. ★ 41 024звёзд репо security-devsecops-ssdls-appsec Правило задаёт Cursor требования к безопасному коду, зависимостям, доступу и проверкам. Пригодится, чтобы учитывать эти требования при работе с файлами проекта. ★ 41 024звёзд репо salesforce-apex-cursorrules-prompt-file Правило для Cursor, которое настраивает ИИ на разработку Salesforce на Apex: очередь вместо @future, паттерны GoF и минимум комментариев. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой