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

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

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

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

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

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

  • Вграден OAuth: Кога е достапна за вашата сметка на Snowflake и во ChatGPT, користете ја партнерската апликација ChatGPT што ја овозможил администратор на Snowflake. Најавете се на Snowflake со Единствена најава на вашата организација, ако е конфигурирана. Не треба да внесувате ID на клиент или тајна на клиент во ChatGPT. Следете ги упатствата во делот „Вграден OAuth“ подолу.

  • Сопствен OAuth клиент: Користете ја оваа опција ако вашата организација бара сопствен OAuth клиент или ако вградениот OAuth не е достапен. Следете ги упатствата во делот „Сопствен OAuth клиент“ подолу.

За двете опции за OAuth се потребни заедничкото поставување на MCP серверот, дозволите за објектите што ги користи и мрежниот пристап опишани подолу. Пред да го конфигурирате OAuth, завршете го заедничкото поставување заклучно со делот „Внесете ги податоците за серверот на Snowflake во ChatGPT“.

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

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

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

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

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

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

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

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

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

  • Шема.

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

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

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

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

  • Пристап како администратор или сопственик на работен простор во ChatGPT, или пристап до ChatGPT Plus или 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

За поставување во работен простор, отворете admin.openai.com, изберете го саканиот работен простор во ChatGPT и отворете „Приклучоци“. За навигација во работниот простор и пристап до постарите апликации, видете Администраторски контроли, безбедност и усогласеност за приклучоци и апликации.

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

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

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

  4. Овозможете Snowflake - Официјален шаблон.

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

  6. Внесете ја целосната 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

Изберете ја опцијата за OAuth што е достапна за вашата сметка и ги исполнува барањата на вашата организација. За двете опции важат заедничкото поставување на MCP серверот погоре и тестовите за поврзување и контролите за пристап подолу.

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

Вграден OAuth

Пред да продолжите, завршете ги заедничките чекори во деловите погоре за да го создадете MCP серверот, да доделите дозволи, да го проверите серверот и да ги внесете неговите податоци во ChatGPT. Ова е задолжително дури и ако сте дошле директно во овој дел.

Користете ја оваа опција само кога партнерската апликација ChatGPT е достапна за вашата сметка на Snowflake и вградениот OAuth е достапен во дијалогот за поставување во ChatGPT.

  1. Побарајте од администратор на Snowflake да ја овозможи партнерската интеграција за ChatGPT во истата сметка на Snowflake каде што е хостиран MCP серверот. Користете ја повторно постојната овозможена партнерска интеграција за ChatGPT.

  2. Во дијалогот за поставување во ChatGPT, користете вграден OAuth. Не треба да внесувате ID на клиент или тајна на клиент, ниту да регистрирате URL-адреса за повратен повик.

  3. Продолжете со делот „Поврзете го Snowflake и управувајте со него“ подолу за да се најавите, да дадете согласност и да го конфигурирате пристапот. Потоа завршете го делот „Тестирајте ја апликацијата“, вклучувајќи ги и тестовите со членови на кои им е дозволен пристап, но не се администратори.

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

Сопствен OAuth клиент

Пред да продолжите, завршете ги заедничките чекори во деловите погоре за да го создадете MCP серверот, да доделите дозволи, да го проверите серверот и да ги внесете неговите податоци во ChatGPT. Ова е задолжително дури и ако сте дошле директно во овој дел.

За сопствен OAuth клиент, потребни ви се ID на клиент и тајна на клиент од Snowflake. Правилата за стандардната улога, листата на дозволени улоги и блокираните улоги опишани погоре важат и за оваа опција.

  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 и управувајте со него“ и „Тестирајте ја апликацијата“ подолу.

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

  1. За која било од двете опции за OAuth, во истиот дијалог за поставување во ChatGPT, изберете Продолжи, најавете се на Snowflake и одобрете ја врската. Може да користите Единствена најава на вашата организација ако е конфигурирана.

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

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

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

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

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

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

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

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

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

  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-адреса за да ги одреди следниве крајни точки за OAuth во Snowflake:

  • Авторизација: 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.

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

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

    Ако користите вграден OAuth, побарајте од администратор на Snowflake да провери дали партнерската интеграција за ChatGPT е достапна и овозможена во сметката каде што е хостиран MCP серверот.

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

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

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

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

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

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

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

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