OpenAI
Ukurasa huu ulitafsiriwa na mashine. Tazama makala asili ya Kiingereza.

Sanidi kiolezo cha programu ya Snowflake katika ChatGPT

Jifunze jinsi wasimamizi wa eneokazi la ChatGPT na watumiaji wa ChatGPT Plus au ChatGPT Pro wanavyoweza kuunganisha ChatGPT na seva ya MCP inayodhibitiwa na Snowflake.

Ilisasishwa: 10 days ago

Tumia mwongozo huu ikiwa wewe ni msimamizi wa eneokazi la ChatGPT au mtumiaji wa ChatGPT Plus au ChatGPT Pro anayetaka kuunganisha ChatGPT na Snowflake kupitia seva ya MCP inayodhibitiwa na Snowflake.

Sehemu kubwa ya usanidi hufanywa katika Snowflake. Baada ya Snowflake kuwa tayari, kamilisha muunganisho wa kiolezo cha Snowflake katika ChatGPT, kisha uwashe programu-jalizi ya Snowflake inayotumia kiolezo hicho.

Unachosanidi

Unaunda seva ya MCP inayodhibitiwa na Snowflake, ambayo hutumika kama mwisho wa kiunganishi cha ChatGPT. Seva ya MCP hufafanua:

  • Vitendo ambavyo ChatGPT inaweza kutumia

  • Data au vipengee vya Snowflake ambavyo zana hizo zinaweza kufikia.

  • Jukumu la Snowflake ambalo kila mtumiaji huidhinisha nalo.

  • Hifadhidata, kielezo na jina la seva ya MCP ya Snowflake vinavyotambulisha mwisho.

Kisha usanidi Snowflake - Kiolezo Rasmi katika ChatGPT ukitumia URL kamili ya seva ya MCP inayodhibitiwa. Skrini ya usanidi wa kiolezo inaweza kuonyesha URL kama sehemu nne tofauti:

  • Kiambishi awali cha kipangishi cha Snowflake.

  • Hifadhidata.

  • Kielezo.

  • Jina la seva ya MCP.

ChatGPT inaweza kugundua na kutumia tu zana zinazotolewa na seva ya MCP na kuruhusiwa na jukumu la Snowflake ambalo mtumiaji huidhinisha nalo.

Kabla ya kuanza

Unahitaji:

  • Ufikiaji wa msimamizi au mmiliki wa eneokazi la ChatGPT, au ufikiaji wa ChatGPT Plus au ChatGPT Pro.

  • Ufikiaji wa Snowflake unaoweza kuunda vipengee vya seva ya MCP na kutoa ruhusa.

  • Hifadhidata na kielezo cha Snowflake ambako seva ya MCP itawekwa.

  • Uamuzi kuhusu yale ambayo ChatGPT itaruhusiwa kufanya, kama vile Cortex Search, Cortex Analyst, SQL ya kusoma pekee, au utaratibu au fomula mahususi.

  • Jukumu la Snowflake lenye upendeleo wa chini kabisa ambalo watumiaji watatumia wanapoidhinisha programu.

  • Kiambishi awali cha kipangishi cha akaunti ya Snowflake, pamoja na kiambishi chochote cha eneo au wingu.

Ikiwa akaunti yako ya Snowflake inazuia ufikiaji kupitia sera ya mtandao au orodha ya IP zinazoruhusiwa, mwombe msimamizi wa Snowflake aruhusu miunganisho inayoingia kutoka safu za sasa za IP za kutoka za kiunganishi cha ChatGPT. Orodha hubadilika na inapaswa kusasishwa mara kwa mara.

Thamani za kutayarisha

  • Kiambishi awali cha kipangishi cha Snowflake: kila kitu kilicho kabla ya .snowflakecomputing.com katika URL ya akaunti ya Snowflake.

  • Hifadhidata: hifadhidata iliyo na seva ya MCP.

  • Kielezo: kielezo kilicho na seva ya MCP.

  • Jina la seva ya MCP: jina la kipengee cha seva ya MCP cha Snowflake.

  • URL kamili ya seva ya MCP inayodhibitiwa, ikiwa skrini ya usanidi wa ChatGPT inaomba URL.

  • Jukumu la Snowflake: jukumu ambalo watumiaji wanapaswa kutumia wanapoidhinisha programu.

  • Orodha ya zana: vipengee na vitendo vya Snowflake unavyotaka ChatGPT itumie.

Amua ChatGPT inaweza kufanya nini

Chagua tu uwezo unaotaka kutoa. Chaguo za kawaida ni pamoja na:

  • Kutafuta kwa Cortex Search ili kupata majibu katika data au maudhui ya Snowflake yaliyowekewa faharasa.

  • Maswali na majibu kwa Cortex Analyst kupitia mwonekano wa kisemantiki ulioidhinishwa.

  • SQL ya kusoma pekee kwa ufikiaji unaodhibitiwa wa hoja.

  • Wakala wa Snowflake, utaratibu uliohifadhiwa, au UDF kwa mtiririko mahususi wa kazi.

Ukiwasha SQL, iweke katika hali ya kusoma pekee isipokuwa shirika lako limekagua na kuidhinisha ufikiaji wa kuandika.

Fungua laha-kazi ya Snowflake

  1. Ingia katika programu ya Snowflake.

  2. Badili utumie jukumu linaloweza kuunda seva ya MCP na kutoa ufikiaji.

  3. Nenda kwenye Maeneokazi.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Unda eneokazi lenye faili ya SQL.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Weka muktadha wa eneokazi kwenye hifadhidata na kielezo ambako seva ya MCP itaundwa.

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

Unda seva ya MCP ya Snowflake

Katika Snowflake, ingia ukitumia jukumu linaloweza kuunda seva ya MCP na kutoa ufikiaji. Fungua laha-kazi katika hifadhidata na kielezo ambako seva ya MCP inapaswa kuundwa.

Tekeleza kauli kama mfano ufuatao. Badilisha majina hayo na hifadhidata, kielezo, huduma, mionekano, ghala na jina la seva yako ya 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.

Majina ya zana na vipengee vya Snowflake katika kauli hii ni mifano:

  • support-search hutoa huduma iliyobainishwa ya Cortex Search.

  • revenue-analyst hutoa mwonekano wa kisemantiki uliobainishwa. Ongeza zana za mionekano mingine inapohitajika.

  • sql-readonly hutoa SQL ya kusoma pekee kwa kutumia ghala lililobainishwa.

Tumia majina thabiti na yenye maelezo ya zana ili ChatGPT iweze kuchagua zana sahihi. Kuunda seva ya MCP hakutoi kiotomatiki ufikiaji wa vipengee msingi vya Snowflake.

Kwa chaguo zaidi za vipimo, angalia: Unda seva ya MCP inayodhibitiwa na Snowflake.

Toa ruhusa sahihi za Snowflake

Chagua jukumu la Snowflake ambalo watumiaji wataidhinisha nalo, kisha ulipe jukumu hilo ufikiaji wa

  1. Hifadhidata na kielezo.

  2. Seva ya MCP.

  3. Kila kipengee msingi kinachotumiwa na zana, kama vile huduma ya utafutaji, mwonekano wa kisemantiki au ghala.

Mfano:

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;

Ikiwa seva ya MCP inatoa UDF, utaratibu uliohifadhiwa au Wakala wa Cortex, toa pia ruhusa zinazohitajika kwa kipengee hicho.

Thibitisha kuwa Snowflake iko tayari

Tekeleza:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Kisha utekeleze:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Thibitisha kwamba:

  • Seva ipo katika hifadhidata na kielezo kinachotarajiwa.

  • Orodha ya zana ni ile uliyokusudia.

  • identifier ya kila zana inaelekeza kwenye kipengee sahihi cha Snowflake.

  • Jukumu linalounganisha lina ruhusa ya USAGE kwenye seva ya MCP.

  • Jukumu linalounganisha lina ruhusa zinazohitajika kwenye kila kipengee msingi.

Weka maelezo ya seva ya Snowflake katika ChatGPT

  1. Katika ChatGPT, badili utumie akaunti au eneokazi ambako programu inapaswa kupatikana.

  2. Fungua Mipangilio. Kwa usanidi wa eneokazi lote, fungua Mipangilio ya eneokazi ukiwa msimamizi wa eneokazi.

  3. Nenda kwenye Programu-jalizi.

  4. Tafuta Snowflake.

  5. Washa Snowflake - Kiolezo Rasmi.

  6. Fungua Snowflake - Kiolezo Rasmi, weka jina la muunganisho lililo wazi, kisha uchague Unganisha.

  7. Weka URL kamili ya seva ya MCP inayodhibitiwa:

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

Mfano:

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.

Ikiwa skrini ya usanidi inaonyesha usanidi wa Snowflake kama sehemu tofauti, tumia thamani zilezile kutoka kwenye URL:

Kiambishi awali cha kipangishi cha Snowflake

Tumia kila kitu kilicho kabla ya .snowflakecomputing.com katika URL ya akaunti yako ya Snowflake, pamoja na kiambishi chochote cha eneo au wingu.

Kwa mfano, ikiwa URL ya akaunti inaanza na:

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

Kiambishi awali cha kipangishi ni:

myorg-myaccount.azure

Hifadhidata

Weka hifadhidata iliyo na seva ya MCP, kama vile:

CHATGPT_APPS

Kielezo

Weka kielezo kilicho na seva ya MCP, kama vile:

TOOLS

Jina la seva ya MCP

Weka jina la kipengee cha seva ya MCP cha Snowflake, kama vile:

CHATGPT_SNOWFLAKE_MCP

Sanidi kiteja cha OAuth

Unahitaji Kitambulisho cha Kiteja na Siri ya Kiteja kutoka Snowflake ili kuunganisha.

Unapotumia session:role:all, Snowflake hutumia jukumu chaguomsingi la kila mtumiaji. Jukumu chaguomsingi lazima liruhusiwe na orodha ya majukumu yanayoruhusiwa ya muunganisho wa OAuth, ikiwa imesanidiwa, na lisizuiwe. Kuwa na jukumu jingine lililoidhinishwa hakulichagui kiotomatiki.

  1. Katika dirisha la usanidi la ChatGPT, fungua Mipangilio ya kina ya OAuth, chagua Kiteja cha OAuth Kilichofafanuliwa na Mtumiaji, kisha unakili URL ya kupigiwa simu tena inayoonyeshwa katika ChatGPT.

  2. Unda muunganisho maalum wa usalama wa OAuth wenye OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' na uweke OAUTH_REDIRECT_URI kuwa URL hiyo kamili ya kupigiwa simu tena.

  3. Tekeleza kauli ifuatayo katika Snowflake, ukitumia jina la muunganisho kwa herufi kubwa:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Kutoka kwenye matokeo ya JSON, bandika oauth_client_id katika Kitambulisho cha kiteja cha OAuth na oauth_client_secret katika Siri ya kiteja cha OAuth ndani ya ChatGPT.

  5. Weka Mbinu ya uthibitishaji ya mwisho wa tokeni kuwa client_secret_basic.

Unganisha na udhibiti Snowflake

  1. Katika dirisha hilohilo la usanidi la ChatGPT, chagua Endelea, ingia katika Snowflake, kisha uidhinishe muunganisho.

  2. Kwa usanidi wa eneokazi, sanidi sera ya usakinishaji wa programu-jalizi na ufikiaji wa majukumu au vikundi kwa wanachama wanaopaswa kuitumia. Thibitisha kuwa Snowflake na Snowflake - Kiolezo Rasmi zote zimewashwa.

  3. Wasimamizi wa eneokazi wana jukumu la kusanidi Ufikiaji wa watumiaji kwa majukumu yanayopaswa kutumia Snowflake.

  4. Wasimamizi wa eneokazi wana jukumu la kukagua Udhibiti wa vitendo kwa zana zinazotolewa.

  5. Wasimamizi wa eneokazi wana jukumu la kukagua Ruhusa za programu ili kuchagua wakati ChatGPT itakapowaomba wanachama ruhusa kabla ya kutumia programu.

Ruhusa hizi za programu hutumika kwenye mazungumzo ya ChatGPT. Mawakala wa Eneokazi hutumia vidhibiti vya kila wakala vilivyowekwa na muundaji wa wakala ili kubainisha vitendo vya programu vinavyopatikana na wakati watumiaji wa mwisho wanaombwa kuviidhinisha. Kwa tabia ya wakala, angalia: Mawakala wa Eneokazi la ChatGPT kwa Enterprise na Business.

Jaribu programu

  1. Fungua gumzo, chagua Snowflake, kisha ujaribu muunganisho.

  2. Thibitisha kuwa ChatGPT inagundua zana ulizosanidi.

  3. Anza kwa kutekeleza kitendo cha kusoma chenye hatari ndogo, kama vile utafutaji au hoja ya kusoma pekee kwenye data iliyoidhinishwa.

  4. Thibitisha kuwa ruhusa za Snowflake zinazuia ufikiaji nje ya jukumu na vipengee vilivyoidhinishwa.

  5. Kwa usanidi wa eneokazi, jaribu ukitumia wanachama wasio wasimamizi wanaoruhusiwa na walio na majukumu tofauti chaguomsingi ya Snowflake. Muunganisho uliofaulu wa msimamizi hauthibitishi kuwa kila mwanachama anaweza kuunganisha.

Kwa wasimamizi wa eneokazi, kuwasha Snowflake pekee hakutoshi. Ikiwa Snowflake - Kiolezo Rasmi hakijawashwa na kuunganishwa, programu-jalizi inaweza kuonekana imezimwa kwa wanachama.

URL ya seva ya MCP na utendakazi wa OAuth

ChatGPT huunganisha kwenye URL kamili ya seva ya MCP inayodhibitiwa na Snowflake:

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

ChatGPT hutumia kiambishi awali cha kipangishi cha Snowflake kutoka kwenye URL hiyo kutambua miisho hii ya OAuth ya Snowflake:

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

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

Usibandike URL ya Snowsight, URL ya msingi ya akaunti ya Snowflake pekee, au URL yenye sehemu za ziada za njia. URL ya MCP lazima ijumuishe /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} na ilingane kikamilifu na vipengee vyako vya Snowflake.

Utatuzi wa matatizo

Snowflake imewashwa kwa msimamizi lakini imezimwa kwa mwanachama

  • Thibitisha kuwa Snowflake na Snowflake - Kiolezo Rasmi zote zimewashwa katika Mipangilio ya eneokazi > Programu-jalizi.

  • Fungua Snowflake - Kiolezo Rasmi na ukamilishe mchakato wake wa Unganisha. Kuwasha kiolezo bila kukiunganisha hakutoshi.

  • Fungua Snowflake na uthibitishe kuwa kiolezo kinaonekana kama programu yake inayohitajika.

  • Thibitisha kuwa jukumu au kikundi cha mwanachama aliyeathirika kinaruhusiwa na sera ya usakinishaji wa programu-jalizi.

Seva ya MCP haijapatikana

  • Kagua tena URL kamili ya seva ya MCP, au sehemu nne za kiolezo ikiwa skrini yako ya usanidi inaziomba.

  • Thibitisha kuwa seva ya MCP ipo katika hifadhidata na kielezo hicho hasa.

Hakuna zana zinazoonekana katika ChatGPT

  • Thibitisha kuwa vipimo vya seva ya MCP vinajumuisha zana.

  • Thibitisha kuwa jukumu lina ruhusa ya USAGE kwenye seva ya MCP.

Zana inaonekana lakini inashindwa inapotumiwa

  • Thibitisha kuwa jukumu lina ruhusa inayohitajika kwenye kipengee msingi cha Snowflake, kama vile huduma ya utafutaji, mwonekano wa kisemantiki, ghala, utaratibu au UDF.

Zana ya SQL inashindwa

  • Thibitisha kuwa jina la ghala ni sahihi na ghala linafanya kazi.

  • Thibitisha kuwa jukumu lina ruhusa ya USAGE kwenye ghala.

  • Thibitisha kuwa read_only: true imewekwa ikiwa ulikusudia ufikiaji wa kusoma pekee.

Jukumu lililoombwa la ALL limezuiwa waziwazi

Mwombe msimamizi wako wa Snowflake alinganishe jukumu lako chaguomsingi na majukumu yanayoruhusiwa na yaliyozuiwa katika muunganisho wa OAuth. Kuwa na jukumu jingine linaloruhusiwa hakulichagui kiotomatiki. Ikifaa, badilisha jukumu chaguomsingi liwe jukumu lililoidhinishwa, kisha uunganishe tena. Kubadilisha jukumu lako chaguomsingi pia huathiri vipindi vyako vya Snowflake nje ya ChatGPT.

Uidhinishaji unashindwa

  • Thibitisha kuwa mtumiaji anaweza kuingia katika Snowflake.

  • Unapotumia session:role:all, thibitisha kuwa jukumu chaguomsingi la mtumiaji linaruhusiwa na muunganisho wa OAuth.

  • Thibitisha kuwa usanidi unatumia mchakato wa OAuth wa MCP unaodhibitiwa na Snowflake.

  • Thibitisha kuwa Kitambulisho cha Kiteja na Siri ya Kiteja zinalingana na muunganisho wa OAuth wa Snowflake, na URI yake ya kuelekeza kwingine inalingana na URL ya kupigiwa simu tena inayoonyeshwa katika ChatGPT.

Sera ya mtandao ya Snowflake au orodha ya IP zinazoruhusiwa inazuia kiunganishi

  • Mwombe msimamizi wa Snowflake asasisha sera ya mtandao au kanuni za ufikiaji za Snowflake.

  • Ruhusu miunganisho inayoingia kutoka safu za sasa za IP za kutoka za kiunganishi cha ChatGPT.

  • Sanidi orodha hii ya ruhusa katika Snowflake. Hii ni tofauti na orodha ya IP zinazoruhusiwa ya eneokazi la ChatGPT.

  • Inapowezekana, weka masasisho ya JSON iliyochapishwa yajiendeshe kiotomatiki kwa sababu safu zinaweza kubadilika.

Tatizo la muunganisho wa jina la kipangishi

Tumia kiambishi awali sahihi cha kipangishi cha Snowflake. Majina ya vipangishi vya Snowflake yenye mistari ya chini yanaweza kusababisha matatizo; pendelea vistari.

Marejeleo

Je, makala haya yamekusaidia?