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

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

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

  • OAuth terbina dalam: Jika tersedia untuk akaun Snowflake anda dan dalam ChatGPT, gunakan aplikasi rakan kongsi ChatGPT yang didayakan oleh pentadbir Snowflake. Log masuk ke Snowflake menggunakan SSO organisasi anda jika telah dikonfigurasikan. Anda tidak perlu memasukkan ID klien atau rahsia klien dalam ChatGPT. Ikuti bahagian OAuth terbina dalam di bawah.

  • Klien OAuth tersuai: Gunakan kaedah ini jika organisasi anda memerlukan klien OAuth sendiri atau OAuth terbina dalam tidak tersedia. Ikuti bahagian Klien OAuth tersuai di bawah.

Kedua-dua kaedah OAuth memerlukan persediaan pelayan MCP, kebenaran objek asas dan akses rangkaian yang sama seperti yang diterangkan di bawah. Lengkapkan persediaan untuk kedua-dua kaedah hingga bahagian Masukkan butiran pelayan Snowflake dalam ChatGPT sebelum mengkonfigurasikan OAuth.

Perkara yang akan anda sediakan

Anda akan mencipta pelayan MCP yang diurus oleh Snowflake dan bertindak sebagai titik akhir penyambung untuk 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 keizinan.

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

Kemudian, konfigurasikan Snowflake - Templat Rasmi dalam ChatGPT dengan 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 disediakan oleh pelayan MCP dan dibenarkan oleh peranan Snowflake yang digunakan pengguna untuk memberikan keizinan.

Sebelum anda bermula

Anda memerlukan:

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

  • Akses Snowflake yang membolehkan penciptaan objek pelayan MCP dan pemberian kebenaran.

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

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

  • Peranan Snowflake dengan keistimewaan minimum yang akan digunakan oleh pengguna semasa memberikan keizinan kepada aplikasi.

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

Jika akaun Snowflake anda mengehadkan akses melalui dasar rangkaian atau senarai IP yang dibenarkan, minta pentadbir Snowflake membenarkan sambungan masuk daripada julat IP keluar penyambung ChatGPT yang terkini. 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 patut digunakan oleh pengguna semasa memberikan keizinan kepada aplikasi.

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

Tentukan perkara yang boleh dilakukan oleh ChatGPT

Pilih hanya keupayaan yang ingin anda sediakan. Pilihan lazim termasuk:

  • Carian dengan 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 yang terkawal.

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

Jika anda mendayakan SQL, kekalkan akses 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 dengan peranan yang boleh mencipta pelayan MCP dan memberikan akses. Buka lembaran kerja dalam pangkalan data dan skema tempat pelayan MCP patut dicipta.

Jalankan pernyataan seperti contoh berikut. Gantikan nama tersebut 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 menyediakan akses kepada perkhidmatan Cortex Search yang ditentukan.

  • revenue-analyst menyediakan akses kepada paparan semantik yang ditentukan. Tambahkan alat untuk paparan lain mengikut keperluan.

  • sql-readonly menyediakan akses SQL baca sahaja dengan gudang yang ditentukan.

Gunakan nama alat yang konsisten dan jelas agar ChatGPT boleh memilih alat yang betul. Penciptaan pelayan MCP tidak memberikan akses kepada objek asas Snowflake secara automatik.

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

Berikan kebenaran Snowflake yang betul

Pilih peranan Snowflake yang akan digunakan oleh pengguna untuk memberikan keizinan, kemudian berikan peranan itu 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 menyediakan akses kepada UDF, prosedur tersimpan atau Cortex Agent, berikan juga kebenaran yang diperlukan untuk objek tersebut.

Sahkan bahawa Snowflake sedia

Jalankan:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Kemudian jalankan:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Pastikan:

  • 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 yang digunakan untuk sambungan mempunyai kebenaran USAGE pada pelayan MCP.

  • Peranan yang digunakan untuk sambungan mempunyai kebenaran yang diperlukan pada setiap objek asas.

Masukkan butiran pelayan Snowflake dalam ChatGPT

  1. Dalam ChatGPT, beralih ke akaun atau ruang kerja tempat aplikasi itu patut tersedia.

  2. Pergi ke Tetapan > Pemalam untuk persediaan peribadi, atau ke Tetapan ruang kerja > Pemalam sebagai pentadbir ruang kerja untuk persediaan ruang kerja.

  3. Cari Snowflake.

  4. Dayakan Snowflake - Templat Rasmi.

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

  6. 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 OAuth

Pilih kaedah OAuth yang tersedia untuk akaun anda dan memenuhi keperluan organisasi anda. Kedua-dua kaedah menggunakan persediaan pelayan MCP yang sama di atas serta ujian sambungan dan kawalan akses di bawah.

Bagi kedua-dua kaedah OAuth, apabila anda menggunakan session:role:all, Snowflake menggunakan peranan lalai setiap pengguna. Peranan lalai mesti dibenarkan oleh senarai peranan yang dibenarkan dalam integrasi OAuth, jika dikonfigurasikan, dan mestilah tidak disekat. Peranan lain yang diluluskan tidak akan dipilih secara automatik hanya kerana pengguna memilikinya.

OAuth terbina dalam

Sebelum meneruskan, lengkapkan bahagian untuk kedua-dua kaedah di atas bagi mencipta pelayan MCP, memberikan kebenaran, mengesahkan pelayan dan memasukkan butirannya dalam ChatGPT. Ini wajib dilakukan walaupun anda terus ke bahagian ini.

Gunakan kaedah ini hanya apabila aplikasi rakan kongsi ChatGPT tersedia untuk akaun Snowflake anda dan OAuth terbina dalam tersedia dalam dialog persediaan ChatGPT.

  1. Minta pentadbir Snowflake mendayakan integrasi rakan kongsi ChatGPT dalam akaun Snowflake yang sama yang mengehoskan pelayan MCP. Gunakan semula integrasi rakan kongsi ChatGPT sedia ada yang telah didayakan.

  2. Dalam dialog persediaan ChatGPT, gunakan OAuth terbina dalam. Anda tidak perlu memasukkan ID klien atau rahsia klien, atau mendaftarkan URL panggil balik.

  3. Teruskan dengan bahagian Sambung dan urus Snowflake di bawah untuk log masuk, memberikan persetujuan dan mengkonfigurasikan akses. Kemudian lengkapkan bahagian Uji aplikasi, termasuk ujian dengan ahli bukan pentadbir yang dibenarkan.

Cara peranan lalai, senarai dibenarkan dan peranan disekat berfungsi seperti yang diterangkan di atas juga terpakai pada kaedah ini.

Klien OAuth tersuai

Sebelum meneruskan, lengkapkan bahagian untuk kedua-dua kaedah di atas bagi mencipta pelayan MCP, memberikan kebenaran, mengesahkan pelayan dan memasukkan butirannya dalam ChatGPT. Ini wajib dilakukan walaupun anda terus ke bahagian ini.

Untuk klien OAuth tersuai, anda memerlukan ID klien dan rahsia klien daripada Snowflake. Cara peranan lalai, senarai dibenarkan dan peranan disekat berfungsi seperti yang diterangkan di atas juga terpakai pada kaedah ini.

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

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

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

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Daripada hasil JSON, tampalkan 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.

Selepas memasukkan kelayakan klien tersuai, teruskan dengan bahagian Sambung dan urus Snowflake serta Uji aplikasi di bawah.

Sambung dan urus Snowflake

  1. Bagi kedua-dua kaedah OAuth, dalam dialog persediaan ChatGPT yang sama, pilih Teruskan, log masuk ke Snowflake dan berikan keizinan untuk sambungan. Anda boleh menggunakan SSO organisasi anda jika telah dikonfigurasikan.

  2. Untuk persediaan ruang kerja, konfigurasikan dasar pemasangan pemalam dan akses peranan atau kumpulan bagi ahli yang patut menggunakannya. Pastikan kedua-dua Snowflake dan Snowflake - Templat Rasmi didayakan.

  3. Pentadbir ruang kerja bertanggungjawab mengkonfigurasikan Akses pengguna bagi peranan yang patut menggunakan Snowflake.

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

  5. Pentadbir ruang kerja bertanggungjawab menyemak Kebenaran aplikasi untuk memilih bila ChatGPT perlu meminta izin ahli sebelum menggunakan aplikasi.

Kebenaran aplikasi ini terpakai pada perbualan ChatGPT. Ejen Ruang Kerja menggunakan kawalan khusus bagi setiap ejen yang ditetapkan oleh pembinanya untuk menentukan tindakan aplikasi yang tersedia dan bila pengguna akhir diminta meluluskannya. Untuk mengetahui cara ejen berfungsi, lihat: Ejen Ruang Kerja ChatGPT untuk Enterprise dan Business.

Uji aplikasi

  1. Buka sembang, pilih Snowflake dan uji sambungan.

  2. Pastikan ChatGPT menemukan alat yang anda konfigurasikan.

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

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

  5. Untuk persediaan ruang kerja, uji dengan 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 cara OAuth berfungsi

ChatGPT menyambung ke URL penuh pelayan MCP yang diurus oleh 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 menentukan titik akhir OAuth Snowflake berikut:

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

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

Jangan tampalkan 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

  • Pastikan kedua-dua Snowflake dan Snowflake - Templat Rasmi didayakan dalam Tetapan ruang kerja > Pemalam.

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

  • Buka Snowflake dan pastikan templat dipaparkan sebagai aplikasi yang diperlukan olehnya.

  • Pastikan 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 diminta pada skrin persediaan anda.

  • Pastikan pelayan MCP wujud dalam pangkalan data dan skema yang sama tepat.

Tiada alat dipaparkan dalam ChatGPT

  • Pastikan spesifikasi pelayan MCP mengandungi alat.

  • Pastikan peranan mempunyai kebenaran USAGE pada pelayan MCP.

Alat dipaparkan tetapi gagal apabila digunakan

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

Alat SQL gagal

  • Pastikan nama gudang betul dan gudang sedang berjalan.

  • Pastikan peranan mempunyai kebenaran USAGE pada gudang.

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

Peranan ALL yang diminta telah disekat secara eksplisit

Minta pentadbir Snowflake anda membandingkan peranan lalai anda dengan peranan yang dibenarkan dan disekat dalam integrasi OAuth. Peranan lain yang dibenarkan tidak akan dipilih secara automatik hanya kerana pengguna memilikinya. 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 keizinan gagal

  • Pastikan pengguna boleh log masuk ke Snowflake.

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

  • Pastikan persediaan menggunakan aliran OAuth MCP yang diurus oleh Snowflake.

  • Jika anda menggunakan klien OAuth tersuai, pastikan ID Klien dan Rahsia Klien sepadan dengan integrasi OAuth Snowflake dan URI ubah hala integrasi itu sepadan tepat dengan URL Panggil Balik yang dipaparkan dalam ChatGPT.

    Jika anda menggunakan OAuth terbina dalam, minta pentadbir Snowflake menyemak bahawa integrasi rakan kongsi ChatGPT tersedia dan didayakan dalam akaun yang mengehoskan pelayan MCP.

Dasar rangkaian atau senarai IP yang dibenarkan oleh Snowflake menyekat penyambung

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

  • Benarkan sambungan masuk daripada julat IP keluar penyambung ChatGPT yang terkini.

  • Konfigurasikan senarai dibenarkan ini dalam Snowflake. Senarai ini berasingan daripada senarai IP yang dibenarkan untuk ruang kerja ChatGPT.

  • Automasikan kemas kini daripada JSON yang diterbitkan jika boleh kerana julat tersebut boleh berubah.

Masalah sambungan nama hos

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

Rujukan

Adakah artikel ini membantu?