আপনি যদি আপনার প্রতিষ্ঠানের জন্য Snowflake অ্যাপ টেমপ্লেট সেট আপ করা ChatGPT ওয়ার্কস্পেস অ্যাডমিন হন, তাহলে এই গাইডটি ব্যবহার করুন. টেমপ্লেটটি সদস্যদের ব্যবহার করা চূড়ান্ত অ্যাপ নয়. এটি একটি সেটআপ ফ্লো, যা প্রয়োজনীয় Snowflake কনফিগারেশন দেওয়ার পর ওয়ার্কস্পেস-নির্দিষ্ট ড্রাফট অ্যাপ তৈরি করে.
Snowflake-এর ক্ষেত্রে, সেটআপের বেশিরভাগ অংশ Snowflake-এ হয়. আপনি একটি Snowflake-পরিচালিত MCP সার্ভার তৈরি করেন, MCP সার্ভার ও এর অন্তর্নিহিত অবজেক্টগুলোতে সঠিক রোলের অ্যাক্সেস দেন, তারপর ChatGPT টেমপ্লেট সেটআপ ফ্লোতে পরিচালিত MCP সার্ভারের URL বা তার কম্পোনেন্ট ফিল্ডগুলো লিখেন. ChatGPT ড্রাফট অ্যাপ তৈরি করার পর, আপনি এটি প্রকাশ করতে এবং অন্যান্য ওয়ার্কস্পেস অ্যাপের মতো পরিচালনা করতে পারেন.
আপনি কী সেট আপ করছেন
আপনি ChatGPT-তে ওয়ার্কস্পেস-নির্দিষ্ট Snowflake অ্যাপ তৈরি করছেন. অ্যাপটি একটি Snowflake-পরিচালিত MCP সার্ভারের সাথে যুক্ত হয়, যা নির্ধারণ করে:
ChatGPT কোন অ্যাকশন ব্যবহার করতে পারবে, যেগুলোকে টুল বলা হয়.
সেই টুলগুলো কোন Snowflake ডেটা বা অবজেক্টে অ্যাক্সেস পাবে.
ব্যবহারকারীরা কোন Snowflake রোল দিয়ে অনুমোদন করবে.
কোন Snowflake ডেটাবেস, স্কিমা এবং MCP সার্ভারের নাম কানেক্টর এন্ডপয়েন্ট শনাক্ত করে.
ChatGPT শুধু MCP সার্ভার প্রকাশিত এবং ব্যবহারকারীর অনুমোদিত Snowflake রোলের অনুমোদিত টুলগুলো আবিষ্কার ও ব্যবহার করতে পারে.
শুরু করার আগে
আপনার প্রয়োজন:
ChatGPT ওয়ার্কস্পেস অ্যাডমিন বা মালিকের অ্যাক্সেস.
MCP সার্ভার অবজেক্ট তৈরি ও অনুমতি দিতে সক্ষম Snowflake অ্যাক্সেস.
যে Snowflake ডেটাবেস ও স্কিমায় MCP সার্ভার থাকবে.
ChatGPT-কে কী করতে দেওয়া হবে সে বিষয়ে সিদ্ধান্ত, যেমন Cortex Search, Cortex Analyst, রিড-অনলি SQL, বা নির্দিষ্ট কোনো প্রোসিডিউর বা ফাংশন.
একটি ন্যূনতম-সুবিধার Snowflake রোল, যা ব্যবহারকারীরা অ্যাপ অনুমোদনের সময় ব্যবহার করবে.
যেকোনো অঞ্চল বা ক্লাউড সাফিক্সসহ Snowflake অ্যাকাউন্ট হোস্ট প্রিফিক্স.
প্রস্তুত করার মান
Snowflake হোস্ট প্রিফিক্স: Snowflake অ্যাকাউন্ট URL-এ .snowflakecomputing.com-এর আগে থাকা সবকিছু.
ডেটাবেস: MCP সার্ভার থাকা ডেটাবেস.
স্কিমা: MCP সার্ভার থাকা স্কিমা.
MCP সার্ভারের নাম: Snowflake MCP সার্ভার অবজেক্টের নাম.
ChatGPT সেটআপ স্ক্রিন URL চাইলে, সম্পূর্ণ পরিচালিত MCP সার্ভারের URL.
Snowflake রোল: অ্যাপ অনুমোদনের সময় ব্যবহারকারীদের যে রোল ব্যবহার করা উচিত.
টুল তালিকা: ChatGPT-কে যেসব Snowflake অবজেক্ট ও অ্যাকশন ব্যবহার করাতে চান.
ChatGPT কী করতে পারবে তা ঠিক করুন
শুধু আপনি যে সক্ষমতাগুলো প্রকাশ করতে চান সেগুলো বেছে নিন. সাধারণ বিকল্পগুলোর মধ্যে আছে:
ইনডেক্স করা Snowflake ডেটা বা কনটেন্টে উত্তর খুঁজতে Cortex Search দিয়ে সার্চ.
অনুমোদিত সেমান্টিক ভিউয়ের মাধ্যমে Cortex Analyst দিয়ে প্রশ্নোত্তর.
নিয়ন্ত্রিত কোয়েরি অ্যাক্সেসের জন্য রিড-অনলি SQL.
নির্দিষ্ট ওয়ার্কফ্লোর জন্য একটি Snowflake এজেন্ট, স্টোরড প্রোসিডিউর, বা UDF.
আপনি SQL চালু করলে, আপনার প্রতিষ্ঠান লিখন অ্যাক্সেস পর্যালোচনা ও অনুমোদন না করা পর্যন্ত এটিকে রিড-অনলি রাখুন.
Snowflake MCP সার্ভার তৈরি করুন
Snowflake-এ, MCP সার্ভার তৈরি করতে এবং অ্যাক্সেস দিতে পারে এমন রোল দিয়ে সাইন ইন করুন. যে ডেটাবেস ও স্কিমায় MCP সার্ভার তৈরি করা উচিত সেখানে একটি ওয়ার্কশিট খুলুন.
শুধু ChatGPT-এর ব্যবহার করা উচিত এমন টুলগুলো তালিকাভুক্ত করে একটি MCP সার্ভার তৈরি করুন. অবজেক্টের নামগুলো আপনার নিজের 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: "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" $$;
টুলের নাম স্থিতিশীল ও বর্ণনামূলক হওয়া উচিত, যাতে ChatGPT সঠিক টুল বেছে নিতে পারে. MCP সার্ভার তৈরি করলে অন্তর্নিহিত Snowflake অবজেক্টগুলোতে স্বয়ংক্রিয়ভাবে অ্যাক্সেস দেওয়া হয় না.
সঠিক Snowflake অনুমতি দিন
ব্যবহারকারীরা যে Snowflake রোল দিয়ে অনুমোদন করবে তা বেছে নিন, তারপর সেই রোলকে ডেটাবেস, স্কিমা, MCP সার্ভার এবং টুলগুলোর ব্যবহৃত প্রতিটি অন্তর্নিহিত অবজেক্টে অ্যাক্সেস দিন.
উদাহরণ:
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;
MCP সার্ভার যদি কোনো সেমান্টিক ভিউ, UDF, স্টোরড প্রোসিডিউর, বা Cortex Agent প্রকাশ করে, সেসব অবজেক্টের জন্যও প্রয়োজনীয় অনুমতি দিন.
Snowflake প্রস্তুত আছে কি না যাচাই করুন
চালান:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
তারপর চালান:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
নিশ্চিত করুন:
সার্ভারটি প্রত্যাশিত ডেটাবেস ও স্কিমায় আছে.
টুল তালিকাটি আপনার উদ্দেশ্য অনুযায়ী.
প্রতিটি টুল শনাক্তকারী সঠিক Snowflake অবজেক্টের দিকে নির্দেশ করে.
সংযোগকারী রোলটির MCP সার্ভারে USAGE আছে.
সংযোগকারী রোলটির প্রতিটি অন্তর্নিহিত অবজেক্টে প্রয়োজনীয় অনুমতি আছে.
ChatGPT-তে টেমপ্লেট সেটআপ শুরু করুন
ChatGPT-তে, যেখানে অ্যাপটি উপলভ্য হওয়া উচিত সেই ওয়ার্কস্পেসে যান.
ওয়ার্কস্পেস সেটিংস > অ্যাপস খুলুন.
ডিরেক্টরি নির্বাচন করুন.
Snowflake খুঁজুন.
Snowflake অ্যাপ টেমপ্লেট নির্বাচন করে সেটআপ শুরু করুন.
একটি স্পষ্ট অ্যাপের নাম ও বিবরণ লিখুন, যেমন Snowflake বা Snowflake - Analytics.
সেটআপ ফ্লোতে চাওয়া পরিচালিত MCP সার্ভারের বিবরণ লিখুন.
সেটআপ স্ক্রিন যদি সম্পূর্ণ পরিচালিত MCP সার্ভারের URL চায়, এই ফরম্যাট ব্যবহার করুন:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
সেটআপ স্ক্রিন যদি আলাদা ফিল্ড চায়, সেই URL থেকে একই মানগুলো ব্যবহার করুন:
Snowflake হোস্ট প্রিফিক্স.
ডেটাবেস.
স্কিমা.
MCP সার্ভারের নাম.
ড্রাফট অ্যাপ তৈরি ও প্রকাশ করুন
ChatGPT-তে Snowflake টেমপ্লেট সেটআপ সংরক্ষণ করুন.
ড্রাফট অ্যাপ তৈরি করুন.
ড্রাফট অ্যাপের বিবরণ, অথ সেটিংস এবং উপলভ্য অ্যাকশনগুলো পর্যালোচনা করুন.
প্রস্তুত হলে ড্রাফট অ্যাপ প্রকাশ করুন.
অ্যাপটি ওয়ার্কস্পেস সেটিংস > অ্যাপস > সক্রিয়-এ দেখা যাচ্ছে কি না নিশ্চিত করুন.
যে রোলগুলো এটি ব্যবহার করবে তাদের জন্য ব্যবহারকারীর অ্যাক্সেস কনফিগার করুন.
প্রকাশিত টুলগুলোর জন্য অ্যাকশন নিয়ন্ত্রণ পর্যালোচনা করুন.
অ্যাপ ব্যবহারের আগে ChatGPT কখন সদস্যদের জিজ্ঞাসা করবে তা বেছে নিতে অ্যাপ অনুমতি পর্যালোচনা করুন.
এই অ্যাপ অনুমতিগুলো ChatGPT কথোপকথনে প্রযোজ্য. ওয়ার্কস্পেস এজেন্টগুলো প্রতি-এজেন্ট নিয়ন্ত্রণ ব্যবহার করে, যা এজেন্টের নির্মাতা সেট করেন, কোন অ্যাপ অ্যাকশন উপলভ্য হবে এবং কখন শেষ ব্যবহারকারীদের সেগুলো অনুমোদন করতে বলা হবে তা নির্ধারণ করতে. এজেন্টের আচরণের জন্য দেখুন: Enterprise ও Business-এর জন্য ChatGPT ওয়ার্কস্পেস এজেন্ট.
অ্যাপ পরীক্ষা করুন
অনুমোদিত পরীক্ষামূলক ব্যবহারকারী হিসেবে ChatGPT থেকে সংযোগ ফ্লো শুরু করুন.
Snowflake-এ সাইন ইন করুন এবং বলা হলে কাঙ্ক্ষিত রোল নির্বাচন করুন.
ChatGPT MCP সার্ভার থেকে প্রত্যাশিত টুলগুলো আবিষ্কার করছে কি না নিশ্চিত করুন.
প্রথমে কম-ঝুঁকির কোনো রিড অ্যাকশন চালান, যেমন অনুমোদিত ডেটায় সার্চ বা রিড-অনলি কোয়েরি.
Snowflake অনুমতিগুলো অনুমোদিত রোল ও অবজেক্টের বাইরে অ্যাক্সেস ঠেকায় কি না নিশ্চিত করুন.
MCP সার্ভার URL এবং OAuth আচরণ
ChatGPT সম্পূর্ণ Snowflake-পরিচালিত MCP সার্ভার URL-এ সংযুক্ত হয়. ChatGPT Snowflake OAuth এন্ডপয়েন্ট সমাধান করতে সেই URL-এর Snowflake হোস্ট প্রিফিক্স ব্যবহার করে.
Snowsight URL, Snowflake অ্যাকাউন্টের রুট URL একা, বা অতিরিক্ত পাথ সেগমেন্টসহ কোনো URL পেস্ট করবেন না. MCP URL-এ ডেটাবেস, স্কিমা এবং MCP সার্ভার পাথ থাকতে হবে এবং তা আপনার Snowflake অবজেক্টগুলোর সাথে হুবহু মিলতে হবে.
সমস্যা সমাধান
MCP সার্ভার পাওয়া যায়নি: সম্পূর্ণ MCP সার্ভার URL বা আলাদা হোস্ট প্রিফিক্স, ডেটাবেস, স্কিমা ও সার্ভার ফিল্ডগুলো আবার পরীক্ষা করুন.
ChatGPT-তে কোনো টুল দেখা যাচ্ছে না: MCP সার্ভার স্পেকে টুল আছে এবং রোলটির MCP সার্ভারে USAGE আছে কি না নিশ্চিত করুন.
কোনো টুল দেখা যায় কিন্তু ব্যবহারের সময় ব্যর্থ হয়: রোলটির অন্তর্নিহিত Snowflake অবজেক্টে সঠিক অনুমতি আছে কি না নিশ্চিত করুন.
SQL টুল ব্যর্থ হয়: ওয়্যারহাউসের নাম সঠিক, ওয়্যারহাউস উপলভ্য, রোলটির এতে USAGE আছে, এবং আপনি রিড-অনলি অ্যাক্সেস চাইলে read_only true আছে কি না নিশ্চিত করুন.
অনুমোদন ব্যর্থ হয়: ব্যবহারকারী Snowflake-এ সাইন ইন করতে এবং কাঙ্ক্ষিত রোল ব্যবহার করতে পারে কি না নিশ্চিত করুন.
হোস্টনেম সংযোগ সমস্যা: সঠিক Snowflake হোস্ট প্রিফিক্স ব্যবহার করুন. আন্ডারস্কোরযুক্ত Snowflake হোস্টনেম সমস্যা সৃষ্টি করতে পারে; হাইফেন ব্যবহার করা ভালো.
