OpenAI
Deze pagina is automatisch vertaald. Bekijk het oorspronkelijke Engelstalige artikel.

De Snowflake-appsjabloon instellen in ChatGPT

Leer hoe werkruimtebeheerders de Snowflake-appsjabloon in ChatGPT kunnen configureren met een door Snowflake beheerde MCP-server.

Bijgewerkt: 4 days ago

Gebruik deze handleiding als je een ChatGPT-werkruimtebeheerder bent die de Snowflake-appsjabloon voor je organisatie instelt. Een sjabloon is niet de uiteindelijke app die leden gebruiken. Het is een instelflow die een werkruimtespecifieke concept-app maakt nadat je de vereiste Snowflake-configuratie hebt opgegeven.

Voor Snowflake vindt het grootste deel van de instelling plaats in Snowflake. Je maakt een door Snowflake beheerde MCP-server, verleent de juiste rol toegang tot de MCP-server en de onderliggende objecten, en voert vervolgens de beheerde MCP-server-URL of de componentvelden ervan in de instelflow van de ChatGPT-sjabloon in. Nadat ChatGPT de concept-app heeft gemaakt, kun je deze publiceren en beheren zoals andere werkruimte-apps.

Wat je instelt

Je maakt een werkruimtespecifieke Snowflake-app in ChatGPT. De app maakt verbinding met een door Snowflake beheerde MCP-server die het volgende definieert:

  • Welke acties ChatGPT kan gebruiken, tools genoemd.

  • Tot welke Snowflake-gegevens of -objecten die tools toegang hebben.

  • Met welke Snowflake-rol gebruikers moeten autoriseren.

  • Welke Snowflake-database, welk schema en welke MCP-servernaam het connector-endpoint identificeren.

ChatGPT kan alleen de tools ontdekken en gebruiken die door de MCP-server beschikbaar worden gemaakt en zijn toegestaan door de Snowflake-rol waarmee de gebruiker autoriseert.

Voordat je begint

Je hebt nodig:

  • Beheerders- of eigenaarstoegang tot de ChatGPT-werkruimte.

  • Snowflake-toegang waarmee MCP-serverobjecten kunnen worden gemaakt en machtigingen kunnen worden verleend.

  • De Snowflake-database en het schema waarin de MCP-server komt te staan.

  • Een beslissing over wat ChatGPT mag doen, zoals Cortex Search, Cortex Analyst, alleen-lezen SQL of een specifieke procedure of functie.

  • Een Snowflake-rol met minimale rechten die gebruikers gebruiken bij het autoriseren van de app.

  • Het Snowflake-accounthostprefix, inclusief eventuele regio- of cloudsuffix.

Voor te bereiden waarden

  • Snowflake-hostprefix: alles vóór .snowflakecomputing.com in de Snowflake-account-URL.

  • Database: de database die de MCP-server bevat.

  • Schema: het schema dat de MCP-server bevat.

  • MCP-servernaam: de objectnaam van de Snowflake MCP-server.

  • Volledige beheerde MCP-server-URL, als het ChatGPT-instelscherm om een URL vraagt.

  • Snowflake-rol: de rol die gebruikers moeten gebruiken bij het autoriseren van de app.

  • Toollijst: de Snowflake-objecten en -acties die je ChatGPT wilt laten gebruiken.

Bepaal wat ChatGPT kan doen

Kies alleen de mogelijkheden die je wilt blootstellen. Veelvoorkomende opties zijn:

  • Zoeken met Cortex Search om antwoorden te vinden in geïndexeerde Snowflake-gegevens of -content.

  • Vraag en antwoord met Cortex Analyst via een goedgekeurde semantische weergave.

  • Alleen-lezen SQL voor gecontroleerde querytoegang.

  • Een Snowflake-agent, opgeslagen procedure of UDF voor specifieke workflows.

Als je SQL inschakelt, houd het dan alleen-lezen tenzij je organisatie schrijftoegang heeft beoordeeld en goedgekeurd.

De Snowflake MCP-server maken

Meld je in Snowflake aan met een rol die de MCP-server kan maken en toegang kan verlenen. Open een werkblad in de database en het schema waarin de MCP-server moet worden gemaakt.

Maak een MCP-server die alleen de tools vermeldt die ChatGPT moet gebruiken. Vervang objectnamen door je eigen Snowflake-database, schema, services, weergaven, warehouse en servernaam.

Voorbeeld:

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: "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"
$$;

Toolnamen moeten stabiel en beschrijvend zijn, zodat ChatGPT de juiste tool kan kiezen. Het maken van de MCP-server verleent niet automatisch toegang tot de onderliggende Snowflake-objecten.

De juiste Snowflake-machtigingen verlenen

Kies de Snowflake-rol waarmee gebruikers autoriseren en verleen die rol vervolgens toegang tot de database, het schema, de MCP-server en elk onderliggend object dat door de tools wordt gebruikt.

Voorbeeld:

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 USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;

Als de MCP-server een semantische weergave, UDF, opgeslagen procedure of Cortex Agent beschikbaar maakt, verleen dan ook de vereiste machtigingen voor die objecten.

Controleren of Snowflake klaar is

Voer uit:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Voer daarna uit:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Bevestig:

  • De server bestaat in de verwachte database en het verwachte schema.

  • De toollijst is zoals je bedoelde.

  • Elke tool-id verwijst naar het juiste Snowflake-object.

  • De verbindende rol heeft USAGE voor de MCP-server.

  • De verbindende rol heeft de benodigde machtigingen voor elk onderliggend object.

De sjablooninstelling starten in ChatGPT

  1. Schakel in ChatGPT over naar de werkruimte waar de app beschikbaar moet zijn.

  2. Open Werkruimte-instellingen > Apps.

  3. Selecteer Directory.

  4. Zoek naar Snowflake.

  5. Selecteer de Snowflake-appsjabloon en start de instelling.

  6. Voer een duidelijke appnaam en beschrijving in, zoals Snowflake of Snowflake - Analytics.

  7. Voer de beheerde MCP-servergegevens in waar de instelflow om vraagt.

Als het instelscherm om de volledige beheerde MCP-server-URL vraagt, gebruik je deze indeling:

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

Als het instelscherm om afzonderlijke velden vraagt, gebruik dan dezelfde waarden uit die URL:

  • Snowflake-hostprefix.

  • Database.

  • Schema.

  • MCP-servernaam.

De concept-app maken en publiceren

  1. Sla de Snowflake-sjablooninstelling op in ChatGPT.

  2. Maak de concept-app.

  3. Controleer de details, verificatie-instellingen en beschikbare acties van de concept-app.

  4. Publiceer de concept-app wanneer deze klaar is.

  5. Bevestig dat de app wordt weergegeven in Werkruimte-instellingen > Apps > Ingeschakeld.

  6. Configureer Gebruikerstoegang voor de rollen die de app moeten gebruiken.

  7. Controleer Actiebeheer voor de blootgestelde tools.

  8. Controleer Appmachtigingen om te kiezen wanneer ChatGPT leden om toestemming vraagt voordat de app wordt gebruikt.

Deze appmachtigingen zijn van toepassing op ChatGPT-gesprekken. Werkruimte-agents gebruiken besturingselementen per agent die door de bouwer van de agent zijn ingesteld om te bepalen welke appacties beschikbaar zijn en wanneer eindgebruikers wordt gevraagd deze goed te keuren. Zie voor agentgedrag: ChatGPT Workspace Agents voor Enterprise en Business.

De app testen

  1. Start de verbindingsflow vanuit ChatGPT als een toegestane testgebruiker.

  2. Meld je aan bij Snowflake en selecteer de bedoelde rol als daarom wordt gevraagd.

  3. Bevestig dat ChatGPT de verwachte tools van de MCP-server ontdekt.

  4. Voer eerst een leesactie met laag risico uit, zoals een zoekopdracht of alleen-lezen query op goedgekeurde gegevens.

  5. Bevestig dat Snowflake-machtigingen toegang buiten de goedgekeurde rol en objecten voorkomen.

MCP-server-URL en OAuth-gedrag

ChatGPT maakt verbinding met de volledige door Snowflake beheerde MCP-server-URL. ChatGPT gebruikt het Snowflake-hostprefix uit die URL om Snowflake OAuth-endpoints op te lossen.

Plak geen Snowsight-URL, de Snowflake-accounthoofd-URL op zichzelf of een URL met extra padsegmenten. De MCP-URL moet het database-, schema- en MCP-serverpad bevatten en exact overeenkomen met je Snowflake-objecten.

Probleemoplossing

  • MCP-server niet gevonden: controleer de volledige MCP-server-URL of de afzonderlijke velden voor hostprefix, database, schema en server opnieuw.

  • Er verschijnen geen tools in ChatGPT: bevestig dat de MCP-serverspecificatie tools bevat en dat de rol USAGE heeft voor de MCP-server.

  • Een tool verschijnt, maar mislukt bij gebruik: bevestig dat de rol de juiste machtiging heeft voor het onderliggende Snowflake-object.

  • SQL-tool mislukt: bevestig dat de warehousenaam correct is, het warehouse beschikbaar is, de rol USAGE ervoor heeft en read_only true is als je alleen-lezen toegang bedoelde.

  • Autorisatie mislukt: bevestig dat de gebruiker zich kan aanmelden bij Snowflake en de bedoelde rol kan gebruiken.

  • Probleem met hostnaamverbinding: gebruik het juiste Snowflake-hostprefix. Snowflake-hostnamen met underscores kunnen problemen veroorzaken; gebruik bij voorkeur koppeltekens.

Was dit artikel nuttig?