OpenAI
Halaman ini diterjemah oleh mesin. Lihat artikel asal dalam bahasa Inggeris.

Sediakan templat aplikasi Snowflake dalam ChatGPT

Ketahui cara pentadbir ruang kerja ChatGPT dan pengguna ChatGPT Plus atau ChatGPT Pro boleh menyambungkan ChatGPT kepada pelayan MCP yang diuruskan Snowflake.

Dikemas kini: 24 hours ago

Gunakan panduan ini jika anda pentadbir ruang kerja ChatGPT atau pengguna ChatGPT Plus atau ChatGPT Pro yang mahu menyambungkan ChatGPT kepada Snowflake melalui pelayan MCP yang diuruskan Snowflake.

Kebanyakan persediaan dilakukan dalam Snowflake. Setelah Snowflake sedia, lengkapkan sambungan templat Snowflake dalam ChatGPT, kemudian dayakan pemalam Snowflake yang menggunakan templat tersebut.

Perkara yang anda sediakan

Anda sedang mencipta pelayan MCP yang diuruskan Snowflake untuk bertindak sebagai titik akhir penyambung bagi ChatGPT. Pelayan MCP menentukan:

  • Tindakan yang boleh digunakan oleh ChatGPT.

  • Data atau objek Snowflake yang boleh diakses oleh alat tersebut.

  • Peranan Snowflake yang digunakan oleh setiap pengguna untuk memberikan kebenaran.

  • Pangkalan data, skema dan nama pelayan MCP Snowflake yang mengenal pasti titik akhir.

Kemudian, konfigurasikan Snowflake - Templat Rasmi dalam ChatGPT menggunakan URL penuh pelayan MCP terurus. Skrin persediaan templat mungkin memaparkan URL sebagai empat medan berasingan:

  • Awalan hos Snowflake.

  • Pangkalan data.

  • Skema.

  • Nama pelayan MCP.

ChatGPT hanya boleh menemukan dan menggunakan alat yang didedahkan oleh pelayan MCP serta dibenarkan oleh peranan Snowflake yang digunakan oleh pengguna untuk memberikan kebenaran.

Sebelum anda bermula

Anda memerlukan:

  • Akses sebagai pentadbir atau pemilik ruang kerja ChatGPT, atau akses ChatGPT Plus atau ChatGPT Pro.

  • Akses Snowflake yang boleh mencipta objek pelayan MCP dan memberikan kebenaran.

  • Pangkalan data dan skema Snowflake yang akan menempatkan pelayan MCP.

  • Keputusan tentang perkara yang harus dibenarkan untuk dilakukan oleh ChatGPT, seperti Cortex Search, Cortex Analyst, SQL baca sahaja atau prosedur atau fungsi tertentu.

  • Peranan Snowflake dengan keistimewaan paling minimum yang akan digunakan oleh pengguna ketika memberikan kebenaran kepada aplikasi.

  • Awalan hos akaun Snowflake, termasuk sebarang akhiran rantau atau awan.

Jika akaun Snowflake anda mengehadkan akses melalui dasar rangkaian atau senarai IP dibenarkan, minta pentadbir Snowflake membenarkan sambungan masuk daripada julat IP egress penyambung ChatGPT semasa. Senarai ini dinamik dan perlu sentiasa dikemas kini.

Nilai yang perlu disediakan

  • Awalan hos Snowflake: semua yang terletak sebelum .snowflakecomputing.com dalam URL akaun Snowflake.

  • Pangkalan data: pangkalan data yang mengandungi pelayan MCP.

  • Skema: skema yang mengandungi pelayan MCP.

  • Nama pelayan MCP: nama objek pelayan MCP Snowflake.

  • URL penuh pelayan MCP terurus, jika skrin persediaan ChatGPT meminta URL.

  • Peranan Snowflake: peranan yang harus digunakan oleh pengguna ketika memberikan kebenaran kepada aplikasi.

  • Senarai alat: objek dan tindakan Snowflake yang anda mahu ChatGPT gunakan.

Tentukan perkara yang boleh dilakukan oleh ChatGPT

Pilih hanya keupayaan yang mahu anda dedahkan. Pilihan lazim termasuk:

  • Carian menggunakan Cortex Search untuk mencari jawapan dalam data atau kandungan Snowflake yang diindeks.

  • Soal jawab dengan Cortex Analyst melalui paparan semantik yang diluluskan.

  • SQL baca sahaja untuk akses pertanyaan terkawal.

  • Ejen Snowflake, prosedur tersimpan atau UDF untuk aliran kerja tertentu.

Jika anda mendayakan SQL, kekalkannya sebagai baca sahaja melainkan organisasi anda telah menyemak dan meluluskan akses tulis.

Buka lembaran kerja Snowflake

  1. Log masuk ke aplikasi Snowflake.

  2. Beralih kepada peranan yang boleh mencipta pelayan MCP dan memberikan akses.

  3. Pergi ke Ruang kerja.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Cipta ruang kerja dengan fail SQL.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Tetapkan konteks ruang kerja kepada pangkalan data dan skema tempat pelayan MCP akan dicipta.

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

Cipta pelayan MCP Snowflake

Dalam Snowflake, log masuk menggunakan peranan yang boleh mencipta pelayan MCP dan memberikan akses. Buka lembaran kerja dalam pangkalan data dan skema tempat pelayan MCP harus dicipta.

Jalankan pernyataan seperti contoh berikut. Gantikan nama dengan nama pangkalan data, skema, perkhidmatan, paparan, gudang dan pelayan Snowflake anda sendiri.

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.

Nama alat dan objek Snowflake dalam pernyataan ini ialah contoh:

  • support-search mendedahkan perkhidmatan Cortex Search yang dinyatakan.

  • revenue-analyst mendedahkan paparan semantik yang dinyatakan. Tambahkan alat untuk paparan lain mengikut keperluan.

  • sql-readonly mendedahkan SQL baca sahaja dengan gudang yang dinyatakan.

Gunakan nama alat yang stabil dan deskriptif supaya ChatGPT boleh memilih alat yang betul. Mencipta pelayan MCP tidak memberikan akses kepada objek Snowflake asas secara automatik.

Untuk pilihan spesifikasi tambahan, lihat: Cipta pelayan MCP yang diuruskan Snowflake.

Berikan kebenaran Snowflake yang betul

Pilih peranan Snowflake yang akan digunakan oleh pengguna untuk memberikan kebenaran, kemudian berikan peranan tersebut akses kepada

  1. Pangkalan data dan skema.

  2. Pelayan MCP.

  3. Setiap objek asas yang digunakan oleh alat, seperti perkhidmatan carian, paparan semantik atau gudang.

Contoh:

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;

Jika pelayan MCP mendedahkan UDF, prosedur tersimpan atau Ejen Cortex, berikan juga kebenaran yang diperlukan untuk objek tersebut.

Sahkan Snowflake sudah sedia

Jalankan:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Kemudian jalankan:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Sahkan bahawa:

  • Pelayan wujud dalam pangkalan data dan skema yang dijangkakan.

  • Senarai alat adalah seperti yang anda inginkan.

  • identifier setiap alat merujuk kepada objek Snowflake yang betul.

  • Peranan penyambung mempunyai USAGE pada pelayan MCP.

  • Peranan penyambung mempunyai kebenaran yang diperlukan pada setiap objek asas.

Masukkan butiran pelayan Snowflake dalam ChatGPT

  1. Dalam ChatGPT, beralih kepada akaun atau ruang kerja tempat aplikasi harus tersedia.

  2. Buka Tetapan. Untuk persediaan seluruh ruang kerja, buka Tetapan ruang kerja sebagai pentadbir ruang kerja.

  3. Pergi ke Pemalam.

  4. Cari Snowflake.

  5. Dayakan Snowflake - Templat Rasmi.

  6. Buka Snowflake - Templat Rasmi, masukkan nama sambungan yang jelas dan pilih Sambung.

  7. Masukkan URL penuh pelayan MCP terurus:

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

Contoh:

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.

Jika skrin persediaan memaparkan konfigurasi Snowflake sebagai medan berasingan, gunakan nilai yang sama daripada URL:

Awalan hos Snowflake

Gunakan semua yang terletak sebelum .snowflakecomputing.com dalam URL akaun Snowflake anda, termasuk sebarang akhiran rantau atau awan.

Contohnya, jika URL akaun bermula dengan:

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

Awalan hos ialah:

myorg-myaccount.azure

Pangkalan data

Masukkan pangkalan data yang mengandungi pelayan MCP, seperti:

CHATGPT_APPS

Skema

Masukkan skema yang mengandungi pelayan MCP, seperti:

TOOLS

Nama pelayan MCP

Masukkan nama objek pelayan MCP Snowflake, seperti:

CHATGPT_SNOWFLAKE_MCP

Konfigurasikan klien OAuth

Anda memerlukan ID Klien dan Rahsia Klien daripada Snowflake untuk menyambung.

Apabila anda menggunakan session:role:all, Snowflake menggunakan peranan lalai setiap pengguna. Peranan lalai mesti dibenarkan oleh senarai peranan dibenarkan integrasi OAuth, jika dikonfigurasikan, dan tidak boleh disekat. Mempunyai peranan lain yang diluluskan tidak akan memilihnya secara automatik.

  1. Dalam dialog persediaan ChatGPT, buka Tetapan OAuth lanjutan, pilih Klien OAuth Ditentukan Pengguna dan salin URL Panggil Balik yang dipaparkan dalam ChatGPT.

  2. Cipta integrasi keselamatan OAuth tersuai dengan OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' dan tetapkan OAUTH_REDIRECT_URI kepada URL panggil balik tersebut dengan tepat.

  3. Jalankan pernyataan berikut dalam Snowflake menggunakan nama integrasi dalam huruf besar:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Daripada hasil JSON, tampal oauth_client_id ke dalam ID klien OAuth dan oauth_client_secret ke dalam Rahsia klien OAuth dalam ChatGPT.

  5. Tetapkan Kaedah pengesahan titik akhir token kepada client_secret_basic.

Sambung dan urus Snowflake

  1. Dalam dialog persediaan ChatGPT yang sama, pilih Teruskan, log masuk ke Snowflake dan benarkan sambungan.

  2. Untuk persediaan ruang kerja, konfigurasikan dasar pemasangan pemalam serta akses peranan atau kumpulan bagi ahli yang harus menggunakannya. Sahkan bahawa Snowflake dan Snowflake - Templat Rasmi kedua-duanya didayakan.

  3. Pentadbir ruang kerja bertanggungjawab mengkonfigurasi Akses pengguna bagi peranan yang harus menggunakan Snowflake.

  4. Pentadbir ruang kerja bertanggungjawab menyemak Kawalan tindakan bagi alat yang didedahkan.

  5. Pentadbir ruang kerja bertanggungjawab menyemak Kebenaran aplikasi untuk menentukan masa ChatGPT meminta persetujuan ahli sebelum menggunakan aplikasi.

Kebenaran aplikasi ini terpakai pada perbualan ChatGPT. Ejen Ruang Kerja menggunakan kawalan bagi setiap ejen yang ditetapkan oleh pembina ejen untuk menentukan tindakan aplikasi yang tersedia dan masa pengguna akhir diminta meluluskannya. Untuk tingkah laku ejen, lihat: Ejen Ruang Kerja ChatGPT untuk Enterprise dan Business.

Uji aplikasi

  1. Buka sembang, pilih Snowflake dan uji sambungan.

  2. Sahkan bahawa ChatGPT menemukan alat yang anda konfigurasikan.

  3. Jalankan tindakan baca berisiko rendah terlebih dahulu, seperti carian atau pertanyaan baca sahaja terhadap data yang diluluskan.

  4. Sahkan bahawa kebenaran Snowflake menghalang akses di luar peranan dan objek yang diluluskan.

  5. Untuk persediaan ruang kerja, uji menggunakan ahli bukan pentadbir yang dibenarkan dan mempunyai peranan lalai Snowflake yang berbeza. Sambungan pentadbir yang berjaya tidak mengesahkan bahawa setiap ahli boleh menyambung.

Bagi pentadbir ruang kerja, mendayakan Snowflake sahaja tidak mencukupi. Jika Snowflake - Templat Rasmi belum didayakan dan disambungkan, pemalam mungkin kelihatan dinyahdayakan kepada ahli.

URL pelayan MCP dan tingkah laku OAuth

ChatGPT menyambung kepada URL penuh pelayan MCP yang diuruskan Snowflake:

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

ChatGPT menggunakan awalan hos Snowflake daripada URL tersebut untuk menyelesaikan titik akhir OAuth Snowflake berikut:

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

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

Jangan tampal URL Snowsight, URL akar akaun Snowflake sahaja atau URL dengan segmen laluan tambahan. URL MCP mesti mengandungi /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} dan sepadan tepat dengan objek Snowflake anda.

Penyelesaian masalah

Snowflake didayakan untuk pentadbir tetapi dinyahdayakan untuk ahli

  • Sahkan bahawa Snowflake dan Snowflake - Templat Rasmi kedua-duanya didayakan dalam Tetapan ruang kerja > Pemalam.

  • Buka Snowflake - Templat Rasmi dan lengkapkan aliran Sambung. Mendayakan templat tanpa menyambungkannya tidak mencukupi.

  • Buka Snowflake dan sahkan bahawa templat tersebut dipaparkan sebagai aplikasi yang diperlukannya.

  • Sahkan bahawa peranan atau kumpulan ahli yang terjejas dibenarkan oleh dasar pemasangan pemalam.

Pelayan MCP tidak ditemukan

  • Semak semula URL penuh pelayan MCP atau empat medan templat jika skrin persediaan anda memintanya.

  • Sahkan bahawa pelayan MCP wujud dalam pangkalan data dan skema tersebut dengan tepat.

Tiada alat dipaparkan dalam ChatGPT

  • Sahkan bahawa spesifikasi pelayan MCP mengandungi alat.

  • Sahkan bahawa peranan mempunyai USAGE pada pelayan MCP.

Alat dipaparkan tetapi gagal apabila digunakan

  • Sahkan bahawa peranan mempunyai kebenaran yang diperlukan pada objek Snowflake asas, seperti perkhidmatan carian, paparan semantik, gudang, prosedur atau UDF.

Alat SQL gagal

  • Sahkan bahawa nama gudang betul dan gudang sedang berjalan.

  • Sahkan bahawa peranan mempunyai USAGE pada gudang.

  • Sahkan bahawa read_only: true ditetapkan jika anda mahukan akses baca sahaja.

Peranan ALL yang diminta telah disekat secara jelas

Minta pentadbir Snowflake anda membandingkan peranan lalai anda dengan peranan yang dibenarkan dan disekat oleh integrasi OAuth. Mempunyai peranan lain yang dibenarkan tidak akan memilihnya secara automatik. Jika sesuai, tukar peranan lalai kepada peranan yang diluluskan dan sambung semula. Menukar peranan lalai anda turut mempengaruhi sesi Snowflake anda di luar ChatGPT.

Pemberian kebenaran gagal

  • Sahkan bahawa pengguna boleh log masuk ke Snowflake.

  • Apabila menggunakan session:role:all, sahkan bahawa peranan lalai pengguna dibenarkan oleh integrasi OAuth.

  • Sahkan bahawa persediaan menggunakan aliran OAuth MCP yang diuruskan Snowflake.

  • Sahkan bahawa ID Klien dan Rahsia Klien sepadan dengan integrasi OAuth Snowflake serta URI ubah halanya sepadan dengan URL Panggil Balik yang dipaparkan dalam ChatGPT.

Dasar rangkaian atau senarai IP dibenarkan Snowflake menyekat penyambung

  • Minta pentadbir Snowflake mengemas kini dasar rangkaian atau peraturan akses Snowflake.

  • Benarkan sambungan masuk daripada julat IP egress penyambung ChatGPT semasa.

  • Konfigurasikan senarai dibenarkan ini dalam Snowflake. Ini berasingan daripada senarai IP dibenarkan ruang kerja ChatGPT.

  • Jika boleh, automatikkan kemas kini daripada JSON yang diterbitkan kerana julat tersebut boleh berubah.

Masalah sambungan nama hos

Gunakan awalan hos Snowflake yang betul. Nama hos Snowflake yang mengandungi garis bawah boleh menimbulkan masalah; gunakan tanda sempang.

Rujukan

Adakah artikel ini membantu?