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: 8 hours ago

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

Veći dio postavljanja obavlja se u Snowflakeu. Kad Snowflake bude spreman, dovršite povezivanje predloška za Snowflake u ChatGPT-u, a zatim omogućite plugin za Snowflake koji se koristi tim predloškom.

  • Ugrađeno otvoreno ovlaštenje: Ako je dostupno za vaš račun za Snowflake i u ChatGPT-u, upotrijebite partnersku aplikaciju ChatGPT koju je omogućio administrator Snowflakea. Prijavite se u Snowflake putem jedinstvene prijave svoje organizacije ako je konfigurirana. U ChatGPT ne morate unositi ID klijenta ni tajni ključ klijenta. Slijedite upute u odjeljku „Ugrađeno otvoreno ovlaštenje” u nastavku.

  • Prilagođeni klijent za otvoreno ovlaštenje: Odaberite ovu mogućnost ako vaša organizacija zahtijeva vlastiti klijent za otvoreno ovlaštenje ili ako ugrađeno otvoreno ovlaštenje nije dostupno. Slijedite upute u odjeljku „Prilagođeni klijent za otvoreno ovlaštenje” u nastavku.

Obje mogućnosti otvorenog ovlaštenja zahtijevaju zajedničko postavljanje MCP poslužitelja, dozvole za objekte kojima se pristupa i mrežni pristup opisane u nastavku. Prije konfiguriranja otvorenog ovlaštenja dovršite zajedničko postavljanje, zaključno s odjeljkom „Unesite podatke o poslužitelju za Snowflake u ChatGPT”.

Što postavljate

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

  • Koje radnje ChatGPT može upotrebljavati.

  • Kojim podacima ili objektima u Snowflakeu ti alati mogu pristupati.

  • S kojom se ulogom u Snowflakeu svaki korisnik autorizira.

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

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

  • Prefiks glavnog računala za Snowflake.

  • Baza podataka.

  • Shema.

  • Naziv MCP poslužitelja.

ChatGPT može otkriti i upotrebljavati samo alate koje MCP poslužitelj čini dostupnima i koje dopušta uloga u Snowflakeu s kojom se korisnik autorizira.

Prije početka

Potrebno vam je:

  • Pristup kao administrator ili vlasnik radnog prostora u ChatGPT-u ili pristup pretplati ChatGPT Plus ili Pro.

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

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

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

  • Uloga u Snowflakeu s minimalnim potrebnim ovlastima koju će korisnici upotrebljavati pri autorizaciji aplikacije.

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

Ako vaš račun za 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 konektora za ChatGPT. Popis se mijenja i potrebno ga je redovito ažurirati.

Vrijednosti koje trebate pripremiti

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

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

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

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

  • Puni URL upravljanog MCP poslužitelja, ako se na zaslonu za postavljanje u ChatGPT-u traži URL.

  • Uloga u Snowflakeu: uloga koju korisnici trebaju upotrebljavati pri autorizaciji aplikacije.

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

Odredite što ChatGPT smije raditi

Odaberite samo mogućnosti koje želite učiniti dostupnima. Uobičajene mogućnosti uključuju:

  • Pretraživanje putem servisa Cortex Search za pronalaženje odgovora u indeksiranim podacima ili sadržaju u Snowflakeu.

  • Pitanja i odgovore putem servisa Cortex Analyst uz odobreni semantički pogled.

  • SQL samo za čitanje radi kontroliranog pristupa putem upita.

  • Agent za Snowflake, pohranjenu proceduru ili UDF za određeni tijek rada.

Ako omogućite SQL, ograničite ga na čitanje osim ako je vaša organizacija provjerila i odobrila pristup za pisanje.

Otvorite radni list u Snowflakeu

  1. Prijavite se u aplikaciju Snowflake.

  2. Prijeđite na ulogu koja omogućuje izradu MCP poslužitelja i dodjelu pristupa.

  3. Idite na Radni prostori.

    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 za Snowflake

Prijavite se u Snowflake s ulogom koja omogućuje izradu MCP poslužitelja i dodjelu pristupa. Otvorite radni list u bazi podataka i shemi u kojima treba izraditi MCP poslužitelj.

Izvršite naredbu poput one u sljedećem primjeru. Zamijenite nazive nazivima svoje baze podataka, sheme, servisa, pogleda, virtualnog 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 u Snowflakeu u ovoj naredbi služe kao primjeri:

  • support-search omogućuje pristup navedenom servisu Cortex Search.

  • revenue-analyst omogućuje pristup navedenom semantičkom pogledu. Po potrebi dodajte alate za druge poglede.

  • sql-readonly omogućuje SQL samo za čitanje uz navedeno virtualno skladište.

Upotrebljavajte stalne, opisne nazive alata kako bi ChatGPT mogao odabrati pravi alat. Izrada MCP poslužitelja ne dodjeljuje automatski pristup objektima u Snowflakeu kojima se on koristi.

Za dodatne mogućnosti specifikacije pogledajte: Izrada MCP poslužitelja kojim upravlja Snowflake.

Dodijelite odgovarajuće dozvole u Snowflakeu

Odaberite ulogu u Snowflakeu s kojom će se korisnici autorizirati, a zatim toj ulozi dodijelite pristup:

  1. Bazi podataka i shemi.

  2. MCP poslužitelju.

  3. Svakom objektu kojim se alati koriste, primjerice servisu za pretraživanje, semantičkom pogledu ili virtualnom 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 omogućuje pristup UDF-u, pohranjenoj proceduri ili agentu Cortex, dodijelite potrebne dozvole i za taj objekt.

Provjerite je li Snowflake spreman

Izvršite:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Zatim izvršite:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Provjerite sljedeće:

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

  • Popis alata odgovara onome što ste namjeravali postaviti.

  • Vrijednost identifier svakog alata upućuje na ispravan objekt u Snowflakeu.

  • Uloga kojom se povezujete ima dozvolu USAGE za MCP poslužitelj.

  • Uloga kojom se povezujete ima potrebne dozvole za svaki objekt kojim se alati koriste.

Unesite podatke o poslužitelju za Snowflake u ChatGPT

Za postavljanje u radnom prostoru otvorite admin.openai.com, odaberite željeni radni prostor u ChatGPT-u i otvorite Pluginovi. Za kretanje radnim prostorom i pristup starijim aplikacijama pogledajte Administratorske kontrole, sigurnost i usklađenost za pluginove i aplikacije.

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

  2. Za osobno postavljanje idite na Postavke > Pluginovi, a za postavljanje u radnom prostoru kao administrator radnog prostora otvorite Administratorska konzola > Pluginovi.

  3. Potražite Snowflake.

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

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

  6. 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 se konfiguracija Snowflakea na zaslonu za postavljanje prikazuje u zasebnim poljima, upotrijebite iste vrijednosti iz URL-a:

Prefiks glavnog računala za Snowflake

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

Na primjer, ako URL računa počinje ovako:

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

Prefiks glavnog računala je:

myorg-myaccount.azure

Baza podataka

Unesite bazu podataka koja sadrži MCP poslužitelj, na primjer:

CHATGPT_APPS

Shema

Unesite shemu koja sadrži MCP poslužitelj, na primjer:

TOOLS

Naziv MCP poslužitelja

Unesite naziv objekta MCP poslužitelja u Snowflakeu, na primjer:

CHATGPT_SNOWFLAKE_MCP

Konfigurirajte otvoreno ovlaštenje

Odaberite mogućnost otvorenog ovlaštenja koja je dostupna za vaš račun i ispunjava zahtjeve vaše organizacije. Obje mogućnosti upotrebljavaju prethodno opisano zajedničko postavljanje MCP poslužitelja te testove veze i kontrole pristupa opisane u nastavku.

Za obje mogućnosti otvorenog ovlaštenja, kada upotrebljavate session:role:all, Snowflake upotrebljava zadanu ulogu svakog korisnika. Zadana uloga mora biti na popisu dopuštenih uloga integracije otvorenog ovlaštenja, ako je taj popis konfiguriran, i ne smije biti blokirana. Ako imate i drugu odobrenu ulogu, ona se neće automatski odabrati.

Ugrađeno otvoreno ovlaštenje

Prije nastavka dovršite prethodne zajedničke odjeljke kako biste izradili MCP poslužitelj, dodijelili dozvole, provjerili poslužitelj i unijeli njegove podatke u ChatGPT. To je obavezno čak i ako ste došli izravno na ovaj odjeljak.

Odaberite ovu mogućnost samo ako je partnerska aplikacija ChatGPT dostupna za vaš račun za Snowflake i ako je ugrađeno otvoreno ovlaštenje dostupno u dijaloškom okviru za postavljanje u ChatGPT-u.

  1. Zatražite od administratora Snowflakea da omogući partnersku integraciju za ChatGPT na istom računu za Snowflake na kojem se nalazi MCP poslužitelj. Ponovno upotrijebite postojeću omogućenu partnersku integraciju za ChatGPT.

  2. U dijaloškom okviru za postavljanje u ChatGPT-u upotrijebite ugrađeno otvoreno ovlaštenje. Ne morate unositi ID klijenta ni tajni ključ klijenta niti registrirati URL povratnog poziva.

  3. Nastavite s odjeljkom „Povežite Snowflake i upravljajte njime” u nastavku kako biste se prijavili, dali pristanak i konfigurirali pristup. Zatim dovršite odjeljak „Testirajte aplikaciju”, uključujući testove s članovima koji imaju dopušten pristup i nisu administratori.

Prethodno opisano ponašanje zadane uloge, popisa dopuštenih uloga i blokiranih uloga vrijedi i za ovu mogućnost.

Prilagođeni klijent za otvoreno ovlaštenje

Prije nastavka dovršite prethodne zajedničke odjeljke kako biste izradili MCP poslužitelj, dodijelili dozvole, provjerili poslužitelj i unijeli njegove podatke u ChatGPT. To je obavezno čak i ako ste došli izravno na ovaj odjeljak.

Za prilagođeni klijent za otvoreno ovlaštenje potrebni su vam ID klijenta i tajni ključ klijenta iz Snowflakea. Prethodno opisano ponašanje zadane uloge, popisa dopuštenih uloga i blokiranih uloga vrijedi i za ovu mogućnost.

  1. U dijaloškom okviru za postavljanje u ChatGPT-u odaberite Napredne postavke otvorenog ovlaštenja > Korisnički definirani klijent za otvoreno ovlaštenje i kopirajte točnu vrijednost URL povratnog poziva prikazanu u ChatGPT-u.

  2. Izradite prilagođenu sigurnosnu integraciju otvorenog ovlaštenja uz OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' i postavite OAUTH_REDIRECT_URI na točno taj URL povratnog poziva.

  3. Izvršite sljedeću naredbu u Snowflakeu, navodeći naziv integracije velikim slovima:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Iz JSON rezultata zalijepite vrijednost oauth_client_id u polje ID klijenta za otvoreno ovlaštenje, a vrijednost oauth_client_secret u polje Tajni ključ klijenta za otvoreno ovlaštenje u ChatGPT-u.

  5. Postavite Način autentifikacije krajnje točke za token na client_secret_basic.

Nakon unosa vjerodajnica prilagođenog klijenta nastavite s odjeljcima „Povežite Snowflake i upravljajte njime” i „Testirajte aplikaciju” u nastavku.

Povežite Snowflake i upravljajte njime

  1. Za obje mogućnosti otvorenog ovlaštenja u istom dijaloškom okviru za postavljanje u ChatGPT-u odaberite Nastavi, prijavite se u Snowflake i odobrite povezivanje. Možete se koristiti jedinstvenom prijavom svoje organizacije ako je konfigurirana.

  2. Za postavljanje u radnom prostoru konfigurirajte pravila instalacije plugina te pristup prema ulozi ili grupi za članove 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 postavke Korisnički pristup za uloge koje trebaju upotrebljavati Snowflake.

  4. Administratori radnog prostora odgovorni su za provjeru postavke Kontrola radnji za dostupne alate.

  5. Administratori radnog prostora odgovorni su za provjeru postavke Dozvole aplikacije kako bi odredili kada ChatGPT traži odobrenje članova prije upotrebe aplikacije.

Te se dozvole aplikacije primjenjuju na razgovore u ChatGPT-u. Agenti radnog prostora upotrebljavaju kontrole koje autor postavlja za svakog agenta kako bi odredio koje su radnje aplikacije dostupne i kada se od krajnjih korisnika traži da ih odobre. Za ponašanje agenata pogledajte: Agenti radnog prostora u ChatGPT-u za Enterprise i Business.

Testirajte aplikaciju

  1. Otvorite razgovor, odaberite Snowflake i testirajte vezu.

  2. Provjerite otkriva li ChatGPT alate koje ste konfigurirali.

  3. Najprije izvršite niskorizičnu radnju čitanja, primjerice pretraživanje ili upit samo za čitanje nad odobrenim podacima.

  4. Provjerite sprječavaju li dozvole u Snowflakeu pristup izvan odobrene uloge i objekata.

  5. Za postavljanje u radnom prostoru testirajte vezu s članovima koji imaju dopušten pristup, nisu administratori i imaju različite zadane uloge u Snowflakeu. Uspješno povezivanje administratora ne potvrđuje da se svaki član može povezati.

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

URL MCP poslužitelja i način rada 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 za Snowflake iz tog URL-a kako bi odredio sljedeće krajnje točke otvorenog ovlaštenja u Snowflakeu:

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

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

Nemojte lijepiti URL za Snowsight, samo korijenski URL računa za Snowflake ni URL s dodatnim segmentima putanje. MCP URL mora sadržavati /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} i točno odgovarati vašim objektima u Snowflakeu.

Rješavanje problema

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

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

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

  • Otvorite Snowflake i provjerite prikazuje li se predložak kao obavezna 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 se traže na zaslonu za postavljanje.

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

U ChatGPT-u se ne prikazuju alati

  • Provjerite uključuje li specifikacija MCP poslužitelja alate.

  • Provjerite ima li uloga dozvolu USAGE za MCP poslužitelj.

Alat se prikazuje, ali ne radi pri upotrebi

  • Provjerite ima li uloga potrebnu dozvolu za objekt u Snowflakeu kojim se alat koristi, primjerice servis za pretraživanje, semantički pogled, virtualno skladište, proceduru ili UDF.

SQL alat ne radi

  • Provjerite je li naziv virtualnog skladišta ispravan i je li skladište pokrenuto.

  • Provjerite ima li uloga dozvolu USAGE za virtualno 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. Ako imate i drugu dopuštenu ulogu, ona se neće automatski odabrati. Ako je primjereno, promijenite zadanu ulogu u odobrenu ulogu i ponovno se povežite. Promjena zadane uloge utječe i na vaše sesije u Snowflakeu izvan ChatGPT-a.

Autorizacija ne uspijeva

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

  • Pri upotrebi vrijednosti session:role:all provjerite dopušta li integracija otvorenog ovlaštenja korisnikovu zadanu ulogu.

  • Provjerite upotrebljava li postavljena veza postupak otvorenog ovlaštenja za MCP kojim upravlja Snowflake.

  • Ako upotrebljavate prilagođeni klijent za otvoreno ovlaštenje, provjerite odgovaraju li ID klijenta i Tajni ključ klijenta integraciji otvorenog ovlaštenja u Snowflakeu te podudara li se njezin URI za preusmjeravanje točno s vrijednošću URL povratnog poziva prikazanom u ChatGPT-u.

    Ako upotrebljavate ugrađeno otvoreno ovlaštenje, zatražite od administratora Snowflakea da provjeri je li partnerska integracija za ChatGPT dostupna i omogućena na računu na kojem se nalazi MCP poslužitelj.

Mrežna pravila ili popis dopuštenih IP adresa u Snowflakeu blokiraju konektor

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

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

  • Taj popis dopuštenih adresa konfigurirajte u Snowflakeu. On je odvojen od popisa dopuštenih IP adresa radnog prostora u ChatGPT-u.

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

Problem s povezivanjem zbog naziva glavnog računala

Upotrijebite ispravan prefiks glavnog računala za Snowflake. Nazivi glavnih računala za Snowflake s podvlakama mogu uzrokovati probleme; radije upotrebljavajte spojnice.

Je li vam ovaj članak bio koristan?