OpenAI
Оваа страница беше машински преведена. Погледнете ја оригиналната статија на англиски јазик.

Поставете го шаблонот за апликацијата Snowflake во ChatGPT

Дознајте како администраторите на работен простор во ChatGPT и корисниците на ChatGPT Plus или ChatGPT Pro можат да го поврзат ChatGPT со MCP-сервер управуван од Snowflake.

Ажурирано: 9 days ago

Користете го водичов ако сте администратор на работен простор во ChatGPT или корисник на ChatGPT Plus или ChatGPT Pro и сакате да го поврзете ChatGPT со Snowflake преку MCP-сервер управуван од Snowflake.

Поголемиот дел од поставувањето се врши во Snowflake. Откако Snowflake ќе биде подготвен, довршете го поврзувањето со шаблонот на Snowflake во ChatGPT, а потоа овозможете го приклучокот Snowflake што го користи тој шаблон.

Што поставувате

Создавате MCP-сервер управуван од Snowflake што служи како крајна точка на конекторот за ChatGPT. MCP-серверот одредува:

  • Кои дејства може да ги користи ChatGPT.

  • До кои податоци или објекти на Snowflake можат да пристапат тие алатки.

  • Со која улога во Snowflake се овластува секој корисник.

  • Кои база на податоци и шема на Snowflake и кое име на MCP-сервер ја идентификуваат крајната точка.

Потоа, во ChatGPT конфигурирајте го Snowflake – официјален шаблон со целосната URL-адреса на управуваниот MCP-сервер. Екранот за поставување на шаблонот може да ја прикаже URL-адресата како четири одделни полиња:

  • Префикс на хостот на Snowflake.

  • База на податоци.

  • Шема.

  • Име на MCP-серверот.

ChatGPT може да ги открие и користи само алатките изложени од MCP-серверот и дозволени со улогата во Snowflake со која се овластува корисникот.

Пред да започнете

Потребни ви се:

  • Администраторски или сопственички пристап до работен простор во ChatGPT или пристап до ChatGPT Plus или ChatGPT Pro.

  • Пристап до Snowflake што овозможува создавање објекти на MCP-серверот и доделување дозволи.

  • Базата на податоци и шемата на Snowflake во кои ќе се наоѓа MCP-серверот.

  • Одлука за тоа што ќе смее да прави ChatGPT, како што се Cortex Search, Cortex Analyst, SQL само за читање или одредена процедура или функција.

  • Улога во Snowflake со најмали потребни привилегии, која корисниците ќе ја користат при овластување на апликацијата.

  • Префиксот на хостот на сметката на Snowflake, вклучувајќи ја секоја наставка за регион или облак.

Ако сметката на Snowflake го ограничува пристапот преку мрежна политика или список на дозволени IP-адреси, побарајте од администратор на Snowflake да дозволи дојдовни врски од тековните опсези на излезни IP-адреси на конекторот на ChatGPT. Списокот е динамичен и треба редовно да се ажурира.

Вредности што треба да ги подготвите

  • Префикс на хостот на Snowflake: сè пред .snowflakecomputing.com во URL-адресата на сметката на Snowflake.

  • База на податоци: базата што го содржи MCP-серверот.

  • Шема: шемата што го содржи MCP-серверот.

  • Име на MCP-серверот: името на објектот на MCP-серверот во Snowflake.

  • Целосната URL-адреса на управуваниот MCP-сервер, ако екранот за поставување на ChatGPT бара URL-адреса.

  • Улога во Snowflake: улогата што корисниците треба да ја користат при овластување на апликацијата.

  • Список на алатки: објектите и дејствата на Snowflake што сакате да ги користи ChatGPT.

Одредете што може да прави ChatGPT

Изберете ги само можностите што сакате да ги изложите. Вообичаени опции се:

  • Пребарување со Cortex Search за наоѓање одговори во индексирани податоци или содржини на Snowflake.

  • Прашања и одговори со Cortex Analyst преку одобрен семантички приказ.

  • SQL само за читање, за контролиран пристап до пребарувања.

  • Агент на Snowflake, складирана процедура или UDF за одреден работен процес.

Ако овозможите SQL, задржете го само за читање освен ако организацијата не го прегледала и одобрила пристапот за запишување.

Отворете работен лист на Snowflake

  1. Најавете се во апликацијата Snowflake.

  2. Префрлете се на улога што може да го создаде MCP-серверот и да доделува пристап.

  3. Одете во Работни простори.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Создајте работен простор со SQL-датотека.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Поставете го контекстот на работниот простор на базата на податоци и шемата каде што ќе се создаде MCP-серверот.

    Snowflake worksheet context picker showing the role, warehouse, database, and schema.

Создајте го MCP-серверот на Snowflake

Во Snowflake, најавете се со улога што може да го создаде MCP-серверот и да доделува пристап. Отворете работен лист во базата на податоци и шемата каде што треба да се создаде MCP-серверот.

Извршете наредба како во следниов пример. Заменете ги имињата со имињата на вашите база на податоци, шема, услуги, прикази, складиште и сервер во Snowflake.

CREATE MCP SERVER CHATGPT_SNOWFLAKE_MCP
FROM SPECIFICATION $$
tools:
- name: "support-search"
type: "CORTEX_SEARCH_SERVICE_QUERY"
identifier: "CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE"
title: "Support Search"
description: "Search support content for relevant customer issues."
- name: "revenue-analyst"
type: "CORTEX_ANALYST_MESSAGE"
identifier: "CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW"
title: "Revenue Analyst"
description: "Answer revenue questions using the approved semantic view."
- name: "sql-readonly"
type: "SYSTEM_EXECUTE_SQL"
title: "Read-only SQL"
description: "Run read-only SQL queries against approved Snowflake data."
config:
read_only: true
query_timeout: 600
warehouse: "CHATGPT_WH"
$$;

Snowflake result confirming that the MCP server was successfully created.

Имињата на алатките и објектите на Snowflake во оваа наредба се примери:

  • support-search ја изложува наведената услуга Cortex Search.

  • revenue-analyst го изложува наведениот семантички приказ. Додајте алатки за други прикази по потреба.

  • sql-readonly изложува SQL само за читање со наведеното складиште.

Користете стабилни и описни имиња на алатките за ChatGPT да може да ја избере вистинската алатка. Создавањето на MCP-серверот не доделува автоматски пристап до основните објекти на Snowflake.

За дополнителни опции на спецификацијата, видете: Создавање MCP-сервер управуван од Snowflake.

Доделете ги соодветните дозволи во Snowflake

Изберете ја улогата во Snowflake со која ќе се овластуваат корисниците, а потоа доделете ѝ пристап до:

  1. Базата на податоци и шемата.

  2. MCP-серверот.

  3. Секој основен објект што го користат алатките, како услуга за пребарување, семантички приказ или складиште.

Пример:

GRANT USAGE ON DATABASE CHATGPT_APPS TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON SCHEMA CHATGPT_APPS.TOOLS TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP TO ROLE CHATGPT_CONNECTOR_ROLE;

GRANT USAGE ON CORTEX SEARCH SERVICE CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT SELECT ON SEMANTIC VIEW CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;

Ако MCP-серверот изложува UDF, складирана процедура или агент Cortex, доделете ги потребните дозволи и за тој објект.

Проверете дали Snowflake е подготвен

Извршете:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Потоа извршете:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Потврдете дека:

  • Серверот постои во очекуваните база на податоци и шема.

  • Списокот на алатки е онаков каков што сте планирале.

  • identifier на секоја алатка упатува на правилниот објект на Snowflake.

  • Улогата за поврзување има USAGE на MCP-серверот.

  • Улогата за поврзување ги има потребните дозволи за секој основен објект.

Внесете ги деталите за серверот Snowflake во ChatGPT

  1. Во ChatGPT, префрлете се на сметката или работниот простор каде што треба да биде достапна апликацијата.

  2. Отворете Поставки. За поставување во целиот работен простор, отворете Поставки за работниот простор како администратор.

  3. Одете во Приклучоци.

  4. Пребарајте Snowflake.

  5. Овозможете го Snowflake – официјален шаблон.

  6. Отворете го Snowflake – официјален шаблон, внесете јасно име за врската и изберете Поврзи.

  7. Внесете ја целосната URL-адреса на управуваниот MCP-сервер:

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

Пример:

https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

ChatGPT Snowflake Template connection form with name, managed MCP server URL, and OAuth settings.

Ако екранот за поставување ја прикажува конфигурацијата на Snowflake во одделни полиња, користете ги истите вредности од URL-адресата:

Префикс на хостот на Snowflake

Користете сè пред .snowflakecomputing.com во URL-адресата на сметката на Snowflake, вклучувајќи ја секоја наставка за регион или облак.

На пример, ако URL-адресата на сметката започнува со:

https://myorg-myaccount.azure.snowflakecomputing.com

Префиксот на хостот е:

myorg-myaccount.azure

База на податоци

Внесете ја базата на податоци што го содржи MCP-серверот, на пример:

CHATGPT_APPS

Шема

Внесете ја шемата што го содржи MCP-серверот, на пример:

TOOLS

Име на MCP-серверот

Внесете го името на објектот на MCP-серверот во Snowflake, на пример:

CHATGPT_SNOWFLAKE_MCP

Конфигурирајте го клиентот OAuth

За поврзување ви требаат ID на клиентот и тајна на клиентот од Snowflake.

Кога користите session:role:all, Snowflake ја користи стандардната улога на секој корисник. Стандардната улога мора да биде дозволена со списокот на дозволени улоги на интеграцијата OAuth, ако е конфигуриран, и не смее да биде блокирана. Постоењето друга одобрена улога не значи дека таа автоматски ќе се избере.

  1. Во прозорецот за поставување на ChatGPT, отворете Напредни поставки за OAuth, изберете OAuth-клиент дефиниран од корисникот и копирајте ја URL-адресата за повратен повик прикажана во ChatGPT.

  2. Создајте приспособена безбедносна интеграција OAuth со OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' и поставете го OAUTH_REDIRECT_URI на таа точна URL-адреса за повратен повик.

  3. Извршете ја следнава наредба во Snowflake, користејќи го името на интеграцијата со големи букви:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Од резултатот JSON, залепете го oauth_client_id во ID на OAuth-клиентот, а oauth_client_secret во Тајна на OAuth-клиентот во ChatGPT.

  5. Поставете го Методот за автентикација на крајната точка за токени на client_secret_basic.

Поврзете го и управувајте со Snowflake

  1. Во истиот прозорец за поставување на ChatGPT, изберете Продолжи, најавете се во Snowflake и овластете ја врската.

  2. За поставување во работен простор, конфигурирајте ги политиката за инсталирање на приклучокот и пристапот по улога или група за членовите што треба да го користат. Проверете дали се овозможени и Snowflake и Snowflake – официјален шаблон.

  3. Администраторите на работниот простор се одговорни да го конфигурираат Корисничкиот пристап за улогите што треба да го користат Snowflake.

  4. Администраторите на работниот простор се одговорни да ја прегледаат Контролата на дејствата за изложените алатки.

  5. Администраторите на работниот простор се одговорни да ги прегледаат Дозволите за апликацијата и да изберат кога ChatGPT ќе бара согласност од членовите пред да ја користи апликацијата.

Овие дозволи за апликацијата важат за разговорите во ChatGPT. Агентите на работниот простор користат контроли за секој агент, поставени од неговиот создавач, за да утврдат кои дејства на апликацијата се достапни и кога од крајните корисници се бара да ги одобрат. За однесувањето на агентите, видете: Агенти на работниот простор во ChatGPT за Enterprise и Business.

Тестирајте ја апликацијата

  1. Отворете разговор, изберете Snowflake и тестирајте ја врската.

  2. Потврдете дека ChatGPT ги открива алатките што ги конфигуриравте.

  3. Прво извршете дејство за читање со низок ризик, како пребарување или барање само за читање врз одобрени податоци.

  4. Потврдете дека дозволите на Snowflake спречуваат пристап надвор од одобрените улога и објекти.

  5. За поставување во работен простор, тестирајте со дозволени членови без администраторски права што имаат различни стандардни улоги во Snowflake. Успешната врска на администраторот не потврдува дека секој член може да се поврзе.

За администраторите на работниот простор, не е доволно да се овозможи само Snowflake. Ако Snowflake – официјален шаблон не е овозможен и поврзан, приклучокот може да им изгледа оневозможен на членовите.

URL-адреса на MCP-серверот и однесување на OAuth

ChatGPT се поврзува со целосната URL-адреса на MCP-серверот управуван од Snowflake:

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

ChatGPT го користи префиксот на хостот на Snowflake од таа URL-адреса за да ги определи следниве крајни точки на Snowflake OAuth:

  • Овластување: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorize

  • Токен: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request

Не залепувајте URL-адреса на Snowsight, само коренска URL-адреса на сметката на Snowflake или URL-адреса со дополнителни сегменти на патеката. URL-адресата на MCP мора да содржи /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} и точно да се совпаѓа со вашите објекти во Snowflake.

Решавање проблеми

Snowflake е овозможен за администратор, но оневозможен за член

  • Потврдете дека и Snowflake и Snowflake – официјален шаблон се овозможени во Поставки за работниот простор > Приклучоци.

  • Отворете го Snowflake – официјален шаблон и довршете ја постапката Поврзи. Не е доволно само да го овозможите шаблонот без да го поврзете.

  • Отворете го Snowflake и потврдете дека шаблонот се прикажува како негова задолжителна апликација.

  • Потврдете дека улогата или групата на засегнатиот член е дозволена со политиката за инсталирање на приклучокот.

MCP-серверот не е пронајден

  • Повторно проверете ја целосната URL-адреса на MCP-серверот или четирите полиња на шаблонот ако ги бара екранот за поставување.

  • Потврдете дека MCP-серверот постои токму во тие база на податоци и шема.

Во ChatGPT не се појавуваат алатки

  • Потврдете дека спецификацијата на MCP-серверот содржи алатки.

  • Потврдете дека улогата има USAGE на MCP-серверот.

Алатката се појавува, но не работи при користење

  • Потврдете дека улогата ја има потребната дозвола за основниот објект на Snowflake, како услуга за пребарување, семантички приказ, складиште, процедура или UDF.

SQL-алатката не работи

  • Потврдете дека името на складиштето е точно и дека складиштето работи.

  • Потврдете дека улогата има USAGE на складиштето.

  • Потврдете дека е поставено read_only: true ако сте планирале пристап само за читање.

Побараната улога ALL е изречно блокирана

Побарајте од администраторот на Snowflake да ја спореди вашата стандардна улога со дозволените и блокираните улоги на интеграцијата OAuth. Постоењето друга дозволена улога не значи дека таа автоматски ќе се избере. Ако е соодветно, сменете ја стандардната улога со одобрена улога и поврзете се повторно. Промената на стандардната улога влијае и врз сесиите на Snowflake надвор од ChatGPT.

Овластувањето не успева

  • Потврдете дека корисникот може да се најави во Snowflake.

  • Кога користите session:role:all, потврдете дека стандардната улога на корисникот е дозволена од интеграцијата OAuth.

  • Потврдете дека поставувањето ја користи постапката MCP OAuth управувана од Snowflake.

  • Потврдете дека ID-то и тајната на клиентот се совпаѓаат со интеграцијата Snowflake OAuth и дека нејзиниот URI за пренасочување се совпаѓа со URL-адресата за повратен повик прикажана во ChatGPT.

Мрежната политика или списокот на дозволени IP-адреси на Snowflake го блокира конекторот

  • Побарајте од администратор на Snowflake да ги ажурира мрежната политика или правилата за пристап на Snowflake.

  • Дозволете дојдовни врски од тековните опсези на излезни IP-адреси на конекторот на ChatGPT.

  • Конфигурирајте го овој список на дозволени адреси во Snowflake. Тој е одделен од списокот на дозволени IP-адреси за работниот простор во ChatGPT.

  • Кога е можно, автоматизирајте ги ажурирањата од објавениот JSON бидејќи опсезите може да се променат.

Проблем со поврзувањето преку името на хостот

Користете го правилниот префикс на хостот на Snowflake. Имињата на хостови на Snowflake со долни црти може да предизвикаат проблеми; претпочитајте цртички.

Референци

Дали оваа статија ви беше корисна?