OpenAI
Ova je stranica strojno prevedena. Pogledajte izvorni članak na engleskom jeziku.

Postavljanje predloška aplikacije Snowflake u ChatGPT-u

Saznajte kako administratori radnog prostora ChatGPT i korisnici usluga ChatGPT Plus ili ChatGPT Pro mogu povezati ChatGPT s MCP poslužiteljem kojim upravlja Snowflake.

Ažurirano: 3 days ago

Ovaj je vodič namijenjen administratorima radnog prostora ChatGPT te korisnicima usluga ChatGPT Plus ili ChatGPT Pro koji žele povezati ChatGPT sa Snowflakeom putem MCP poslužitelja kojim upravlja Snowflake.

Veći dio postavljanja obavlja se u Snowflakeu. Kada Snowflake bude spreman, dovršite povezivanje predloška za Snowflake u ChatGPT-u, a zatim omogućite plugin Snowflake koji upotrebljava taj predložak.

Što postavljate

Izrađujete MCP poslužitelj kojim upravlja Snowflake i koji služi kao krajnja točka poveznika za ChatGPT. MCP poslužitelj definira:

  • Koje radnje ChatGPT može upotrebljavati.

  • Kojim podacima ili objektima Snowflakea ti alati mogu pristupiti.

  • Koju ulogu Snowflakea svaki korisnik odobrava.

  • Koja baza podataka, shema i naziv MCP poslužitelja u Snowflakeu određuju krajnju točku.

Zatim u ChatGPT-u konfigurirajte Snowflake – službeni predložak s punim URL-om upravljanog MCP poslužitelja. Na zaslonu za postavljanje predloška URL se može prikazati kao četiri zasebna polja:

  • Prefiks glavnog računala Snowflakea.

  • Baza podataka.

  • Shema.

  • Naziv MCP poslužitelja.

ChatGPT može pronaći i upotrebljavati samo alate koje izlaže MCP poslužitelj i koje dopušta uloga Snowflakea koju korisnik odobri.

Prije početka

Potrebno vam je sljedeće:

  • Administratorski ili vlasnički pristup radnom prostoru ChatGPT ili pristup usluzi ChatGPT Plus ili ChatGPT Pro.

  • Pristup Snowflakeu koji omogućuje izradu objekata MCP poslužitelja i dodjelu dopuštenja.

  • Baza podataka i shema Snowflakea u kojima će se nalaziti MCP poslužitelj.

  • Odluka o tome što ChatGPT smije raditi, primjerice upotrebljavati Cortex Search, Cortex Analyst, SQL samo za čitanje ili određeni postupak ili funkciju.

  • Uloga Snowflakea s najmanjim potrebnim ovlastima koju će korisnici upotrebljavati pri odobravanju aplikacije.

  • Prefiks glavnog računala Snowflake, uključujući sufiks regije ili oblaka.

Ako vaš račun Snowflake ograničava pristup mrežnim pravilima ili popisom dopuštenih IP adresa, zatražite od administratora Snowflakea da dopusti dolazne veze iz trenutačnih raspona izlaznih IP adresa poveznika ChatGPT. Popis je dinamičan i treba ga redovito ažurirati.

Vrijednosti koje treba pripremiti

  • Prefiks glavnog računala Snowflakea: sve ispred .snowflakecomputing.com u URL-u računa Snowflake.

  • Baza podataka: baza podataka koja sadržava MCP poslužitelj.

  • Shema: shema koja sadržava MCP poslužitelj.

  • Naziv MCP poslužitelja: naziv objekta MCP poslužitelja u Snowflakeu.

  • Puni URL upravljanog MCP poslužitelja ako zaslon za postavljanje u ChatGPT-u traži URL.

  • Uloga Snowflakea: uloga koju korisnici trebaju upotrebljavati pri odobravanju aplikacije.

  • Popis alata: objekti i radnje Snowflakea koje želite da ChatGPT upotrebljava.

Odredite što ChatGPT može raditi

Odaberite samo mogućnosti koje želite izložiti. Uobičajene mogućnosti uključuju:

  • Pretraživanje uz Cortex Search radi pronalaženja odgovora u indeksiranim podacima ili sadržaju Snowflakea.

  • Pitanja i odgovori uz Cortex Analyst putem odobrenog semantičkog prikaza.

  • SQL samo za čitanje radi kontroliranog pristupa upitima.

  • Agent Snowflakea, pohranjeni postupak ili UDF za određeni tijek rada.

Ako omogućite SQL, zadržite pristup samo za čitanje, osim ako je vaša organizacija pregledala i odobrila pristup za pisanje.

Otvorite radni list Snowflakea

  1. Prijavite se u aplikaciju Snowflake.

  2. Prijeđite na ulogu koja može izraditi MCP poslužitelj i dodijeliti pristup.

  3. Otvorite Radne prostore.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Izradite radni prostor sa SQL datotekom.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Postavite kontekst radnog prostora na bazu podataka i shemu u kojima će se izraditi MCP poslužitelj.

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

Izradite MCP poslužitelj Snowflakea

U Snowflake se prijavite s ulogom koja može izraditi MCP poslužitelj i dodijeliti pristup. Otvorite radni list u bazi podataka i shemi u kojima treba izraditi MCP poslužitelj.

Pokrenite naredbu poput sljedećeg primjera. Zamijenite nazive vlastitim nazivima baze podataka, sheme, usluga, prikaza, skladišta i poslužitelja u Snowflakeu.

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.

Nazivi alata i objekti Snowflakea u ovoj naredbi služe kao primjeri:

  • support-search izlaže navedenu uslugu Cortex Search.

  • revenue-analyst izlaže navedeni semantički prikaz. Prema potrebi dodajte alate za druge prikaze.

  • sql-readonly izlaže SQL samo za čitanje s navedenim skladištem.

Upotrebljavajte stabilne i opisne nazive alata kako bi ChatGPT mogao odabrati pravi alat. Izrada MCP poslužitelja ne dodjeljuje automatski pristup temeljnim objektima Snowflakea.

Dodatne mogućnosti specifikacije potražite u odjeljku Izrada MCP poslužitelja kojim upravlja Snowflake.

Dodijelite odgovarajuća dopuštenja Snowflakea

Odaberite ulogu Snowflakea koju će korisnici odobriti, a zatim toj ulozi dodijelite pristup sljedećem:

  1. Bazi podataka i shemi.

  2. MCP poslužitelju.

  3. Svakom temeljnom objektu koji alati upotrebljavaju, primjerice usluzi pretraživanja, semantičkom prikazu ili skladištu.

Primjer:

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;

Ako MCP poslužitelj izlaže UDF, pohranjeni postupak ili agent Cortex, dodijelite i dopuštenja potrebna za taj objekt.

Provjerite je li Snowflake spreman

Pokrenite:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Zatim pokrenite:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Potvrdite sljedeće:

  • Poslužitelj postoji u očekivanoj bazi podataka i shemi.

  • Popis alata odgovara vašoj namjeri.

  • identifier svakog alata upućuje na pravi objekt Snowflakea.

  • Uloga za povezivanje ima dopuštenje USAGE za MCP poslužitelj.

  • Uloga za povezivanje ima potrebna dopuštenja za svaki temeljni objekt.

Unesite podatke o poslužitelju Snowflakea u ChatGPT

  1. U ChatGPT-u prijeđite na račun ili radni prostor u kojem aplikacija treba biti dostupna.

  2. Otvorite Postavke. Za postavljanje na razini radnog prostora kao administrator radnog prostora otvorite Postavke radnog prostora.

  3. Otvorite Pluginovi.

  4. Potražite Snowflake.

  5. Omogućite Snowflake – službeni predložak.

  6. Otvorite Snowflake – službeni predložak, unesite jasan naziv veze i odaberite Poveži.

  7. Unesite puni URL upravljanog MCP poslužitelja:

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

Primjer:

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.

Ako zaslon za postavljanje prikazuje konfiguraciju Snowflakea u zasebnim poljima, upotrijebite iste vrijednosti iz URL-a:

Prefiks glavnog računala Snowflakea

Upotrijebite sve ispred .snowflakecomputing.com u URL-u računa Snowflake, uključujući sufiks regije ili oblaka.

Primjerice, ako URL računa počinje ovako:

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

Prefiks glavnog računala glasi:

myorg-myaccount.azure

Baza podataka

Unesite bazu podataka koja sadržava MCP poslužitelj, primjerice:

CHATGPT_APPS

Shema

Unesite shemu koja sadržava MCP poslužitelj, primjerice:

TOOLS

Naziv MCP poslužitelja

Unesite naziv objekta MCP poslužitelja Snowflakea, primjerice:

CHATGPT_SNOWFLAKE_MCP

Konfigurirajte klijent otvorenog ovlaštenja

Za povezivanje su vam potrebni ID klijenta i tajna klijenta iz Snowflakea.

Kada upotrebljavate session:role:all, Snowflake upotrebljava zadanu ulogu svakog korisnika. Zadana uloga mora biti dopuštena popisom dopuštenih uloga integracije otvorenog ovlaštenja, ako je konfiguriran, i ne smije biti blokirana. Postojanje druge odobrene uloge ne znači da će ona biti automatski odabrana.

  1. U dijaloškom okviru za postavljanje u ChatGPT-u otvorite Napredne postavke otvorenog ovlaštenja, odaberite Korisnički definiran klijent otvorenog ovlaštenja i kopirajte URL povratnog poziva prikazan u ChatGPT-u.

  2. Izradite prilagođenu sigurnosnu integraciju otvorenog ovlaštenja s vrijednošću OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' i postavite OAUTH_REDIRECT_URI na taj točan URL povratnog poziva.

  3. Pokrenite sljedeću naredbu u Snowflakeu i upotrijebite naziv integracije napisan velikim slovima:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Iz rezultata u JSON-u zalijepite oauth_client_id u polje ID klijenta otvorenog ovlaštenja, a oauth_client_secret u polje Tajna klijenta otvorenog ovlaštenja u ChatGPT-u.

  5. Postavite Način provjere autentičnosti krajnje točke tokena na client_secret_basic.

Povežite Snowflake i upravljajte njime

  1. U istom dijaloškom okviru za postavljanje u ChatGPT-u odaberite Nastavi, prijavite se u Snowflake i odobrite vezu.

  2. Za postavljanje radnog prostora konfigurirajte pravila instalacije plugina te pristup za uloge ili grupe članova koji ga trebaju upotrebljavati. Provjerite jesu li omogućeni i Snowflake i Snowflake – službeni predložak.

  3. Administratori radnog prostora odgovorni su za konfiguriranje Korisničkog pristupa za uloge koje trebaju upotrebljavati Snowflake.

  4. Administratori radnog prostora odgovorni su za pregled Kontrole radnji za izložene alate.

  5. Administratori radnog prostora odgovorni su za pregled Dopuštenja aplikacije kako bi odredili kada ChatGPT traži od članova dopuštenje prije upotrebe aplikacije.

Ta dopuštenja aplikacije primjenjuju se na razgovore u ChatGPT-u. Agenti radnog prostora upotrebljavaju kontrole pojedinačnih agenata koje je postavio njihov autor kako bi odredili dostupne radnje aplikacije i kada se od krajnjih korisnika traži odobrenje. Više o ponašanju agenata potražite u članku Agenti radnog prostora ChatGPT za Enterprise i Business.

Testirajte aplikaciju

  1. Otvorite razgovor, odaberite Snowflake i testirajte vezu.

  2. Potvrdite da ChatGPT pronalazi alate koje ste konfigurirali.

  3. Najprije pokrenite radnju čitanja niskog rizika, primjerice pretraživanje ili upit samo za čitanje nad odobrenim podacima.

  4. Potvrdite da dopuštenja Snowflakea sprječavaju pristup izvan odobrene uloge i objekata.

  5. Za postavljanje radnog prostora testirajte vezu s dopuštenim članovima koji nisu administratori i imaju različite zadane uloge Snowflakea. Uspješno povezivanje administratora ne potvrđuje da se svaki član može povezati.

Administratorima radnog prostora nije dovoljno omogućiti samo Snowflake. Ako Snowflake – službeni predložak nije omogućen i povezan, članovima se plugin može prikazivati kao onemogućen.

URL MCP poslužitelja i ponašanje otvorenog ovlaštenja

ChatGPT se povezuje s punim URL-om MCP poslužitelja kojim upravlja Snowflake:

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

ChatGPT upotrebljava prefiks glavnog računala Snowflakea iz tog URL-a za određivanje ovih krajnjih točaka otvorenog ovlaštenja Snowflakea:

  • Autorizacija: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorize

  • Token: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request

Nemojte zalijepiti URL Snowsighta, samo korijenski URL računa Snowflake ni URL s dodatnim segmentima puta. URL MCP-a mora sadržavati /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} i točno odgovarati vašim objektima Snowflakea.

Otklanjanje poteškoća

Snowflake je omogućen administratoru, ali onemogućen članu

  • Provjerite jesu li Snowflake i Snowflake – službeni predložak omogućeni u odjeljku Postavke radnog prostora > Pluginovi.

  • Otvorite Snowflake – službeni predložak i dovršite postupak Poveži. Nije dovoljno omogućiti predložak bez povezivanja.

  • Otvorite Snowflake i provjerite prikazuje li se predložak kao njegova obvezna aplikacija.

  • Provjerite dopuštaju li pravila instalacije plugina ulogu ili grupu člana koji ima poteškoće.

MCP poslužitelj nije pronađen

  • Ponovno provjerite puni URL MCP poslužitelja ili četiri polja predloška ako ih zaslon za postavljanje traži.

  • Provjerite postoji li MCP poslužitelj upravo u toj bazi podataka i shemi.

U ChatGPT-u se ne prikazuje nijedan alat

  • Provjerite sadržava li specifikacija MCP poslužitelja alate.

  • Provjerite ima li uloga dopuštenje USAGE za MCP poslužitelj.

Alat se prikazuje, ali ne radi pri upotrebi

  • Provjerite ima li uloga potrebno dopuštenje za temeljni objekt Snowflakea, primjerice uslugu pretraživanja, semantički prikaz, skladište, postupak ili UDF.

SQL alat ne radi

  • Provjerite je li naziv skladišta točan i radi li skladište.

  • Provjerite ima li uloga dopuštenje USAGE za skladište.

  • Ako ste namjeravali omogućiti pristup samo za čitanje, provjerite je li postavljeno read_only: true.

Zatražena uloga ALL izričito je blokirana

Zatražite od administratora Snowflakea da usporedi vašu zadanu ulogu s dopuštenim i blokiranim ulogama integracije otvorenog ovlaštenja. Postojanje druge dopuštene uloge ne znači da će ona biti automatski odabrana. Ako je prikladno, promijenite zadanu ulogu u odobrenu ulogu i ponovno se povežite. Promjena zadane uloge utječe i na vaše sesije Snowflakea izvan ChatGPT-a.

Autorizacija ne uspijeva

  • Provjerite može li se korisnik prijaviti u Snowflake.

  • Kada upotrebljavate session:role:all, provjerite dopušta li integracija otvorenog ovlaštenja zadanu ulogu korisnika.

  • Provjerite upotrebljava li postavljanje tijek otvorenog ovlaštenja za MCP kojim upravlja Snowflake.

  • Provjerite odgovaraju li ID klijenta i tajna klijenta integraciji otvorenog ovlaštenja Snowflakea te odgovara li njezin URI preusmjeravanja URL-u povratnog poziva prikazanom u ChatGPT-u.

Mrežna pravila ili popis dopuštenih IP adresa Snowflakea blokiraju poveznik

  • Zatražite od administratora Snowflakea da ažurira mrežna pravila ili pravila pristupa Snowflakea.

  • Dopustite dolazne veze iz trenutačnih raspona izlaznih IP adresa poveznika ChatGPT.

  • Konfigurirajte taj popis dopuštenih adresa u Snowflakeu. On je odvojen od popisa dopuštenih IP adresa radnog prostora ChatGPT.

  • Kad god je moguće, automatizirajte ažuriranja iz objavljenog JSON-a jer se rasponi mogu promijeniti.

Poteškoća s povezivanjem putem naziva glavnog računala

Upotrijebite ispravan prefiks glavnog računala Snowflakea. Nazivi glavnog računala Snowflakea s podvlakama mogu uzrokovati poteškoće; radije upotrijebite spojnice.

Reference

Je li vam ovaj članak bio koristan?