লেখক লুকএমএল এজেন্টিক কোডিং টুলস সহ

১. ভূমিকা

ভিএস কোড ইকোসিস্টেমের উপর ভিত্তি করে তৈরি এজেন্টিক কোড অথরিং টুলগুলো খুব জনপ্রিয় হয়ে উঠেছে। কার্সর এবং অ্যান্টিগ্র্যাভিটি হলো এর দুটি উদাহরণ। এই কোডল্যাবে দেখানো হবে কিভাবে এই কোড টুলগুলো ব্যবহার করে লুকএমএল (LookML) লেখা যায়।

আপনি যা করবেন

এই কোডল্যাবে, আপনি একটি নতুন মেজার যোগ করতে, নতুন মেজারটি পরীক্ষা করতে এবং তারপর সেই নতুন মেজারটি ব্যবহার করে একটি লুকএমএল ড্যাশবোর্ড তৈরি করতে লুকারের ভিএস কোড এক্সটেনশন ব্যবহার করে একটি লুকএমএল মডেল পরিবর্তন করবেন। এই সমস্ত কাজ একটি কোডিং এজেন্টকে নির্দেশ দেওয়ার মাধ্যমে করা হবে।

আপনার যা যা লাগবে

  • একটি Looker ইনস্ট্যান্স যেখানে আপনার ডেভেলপার অধিকার রয়েছে।
  • Looker সম্পর্কে প্রাথমিক ধারণা, যার মধ্যে রয়েছে একটি নতুন LookML প্রজেক্ট তৈরি করা এবং Looker-এ Explore দেখা ও সেগুলোর সাথে ইন্টারঅ্যাক্ট করা
  • Looker ইনস্ট্যান্সে আপনার ব্যবহারকারীর জন্য একটি API client_id এবং client_secret।
  • ভিএস কোড ভিত্তিক কোডিং এজেন্ট। এই নির্দেশিকার জন্য আমরা অ্যান্টিগ্র্যাভিটি ব্যবহার করব।
  • একটি গিটহাব অ্যাকাউন্ট।
  • BigQuery সক্রিয় করা একটি গুগল ক্লাউড প্রজেক্ট।

পাঠকবৃন্দ: লুকএমএল ডেভেলপার, ডেটা ইঞ্জিনিয়ার এবং আর্কিটেক্ট।

২. আপনার লুকার ইনস্ট্যান্স সেট আপ করুন।

একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন

  1. গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন
  2. আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। কোনো প্রোজেক্টে বিলিং চালু আছে কিনা তা কীভাবে পরীক্ষা করবেন, তা জেনে নিন।

লুকারকে ডেটাসোর্সের সাথে সংযুক্ত করুন

  1. লুকারে, অ্যাডমিন-এর অধীনে ডেটাবেস হেডিং-এ যান এবং কানেকশনস নির্বাচন করুন।
  2. স্ক্রিনের উপরের ডানদিকে থাকা 'সংযোগ যোগ করুন'- এ ক্লিক করুন।
  3. Cymbal Gadgets ডেটাসেটের জন্য একটি নতুন ডেটা সোর্স তৈরি করুন। এর নাম দিন cymbal_gadgets । SQL Dialect হিসেবে Google BigQuery Standard SQL নির্বাচন করুন। সাধারণ সংযোগ সেটিংসের স্ক্রিনশট
  4. পরবর্তী পৃষ্ঠায়, আপনার গুগল ক্লাউড প্রজেক্টের নাম, স্টোরেজ প্রজেক্ট looker-private-demo এবং ডেটাসেটের নাম cymbal_gadgets লিখুন। ডাটাবেস সেটিংসের স্ক্রিনশট
  5. বাকি সমস্ত ফিল্ডের জন্য ডিফল্ট মানগুলো গ্রহণ করুন এবং নতুন ডেটা সোর্স তৈরির প্রক্রিয়াটি সম্পন্ন করুন।
  6. SQL রানারে, ডেটাসেটটি কোয়েরি করা যায় কিনা তা নিশ্চিত করতে রান করুন।
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

গিটহাব থেকে প্রজেক্টটি ইম্পোর্ট করুন

  1. গিটহাব থেকে https://github.com/looker-open-source/cymbal_gadgets প্রজেক্টটি আপনার নিজের রিপোজিটরিতে ফর্ক করুন। আপনি যে প্রজেক্টের মালিক নন, তাতে ডিপ্লয় কী যোগ করতে পারবেন না, তাই প্রজেক্টটিকে লুকারের সাথে লিঙ্ক করার জন্য ফর্ক করা আবশ্যক।
  2. উন্নয়ন মোড সক্রিয় করুন।
  3. প্রথমে ডেভেলপ, তারপর প্রজেক্টস নির্বাচন করুন।
  4. LookML Projects পৃষ্ঠা থেকে New Model-এ ক্লিক করুন।
  5. পুরানো LookML মডেল তৈরির পৃষ্ঠাটি ব্যবহার করতে লিঙ্কটিতে ক্লিক করুন। পুরানো মডেল তৈরির ডায়ালগ লিঙ্কের স্ক্রিনশট
  6. Looker-এ cymbal_gadgets নামে একটি নতুন খালি প্রজেক্ট তৈরি করুন। নতুন প্রজেক্ট ডায়ালগের স্ক্রিনশট
  7. আপনার তৈরি করা ফোর্কড রিপোজিটরিটির সাথে সংযোগ করতে ‘Configure Git’ নির্বাচন করুন। গিট সেটআপের স্ক্রিনশট
  8. আপনার গিট রিপোজিটরিতে Deploy Key যোগ করুন। ডিপ্লয় কী দিয়ে লেখার (write) অ্যাক্সেস দেওয়ার জন্য বক্সটিতে ক্লিক করতে ভুলবেন না। গিট ডিপ্লয় কী সেটআপের স্ক্রিনশট
  9. তারপর টেস্ট এবং ফাইনাল সেটআপ নির্বাচন করুন। সম্পূর্ণ প্রজেক্ট সেটআপের স্ক্রিনশট
  10. "🛍️ Cymbal Gadgets: Transactions & Sales" এক্সপ্লোর থেকে ডেটা কোয়েরি করে প্রজেক্ট এবং ডেটা সোর্সটি কাজ করছে কিনা তা যাচাই করুন।
  11. LookML এডিটরে cymbal_gadgets প্রজেক্টটি খুলুন এবং উপরের ডানদিকে থাকা Create Developer Copy বাটনটি চাপুন।
  12. Git Actions- এর অধীনে Push Changes To Remote-এ ক্লিক করুন, যাতে dev ব্রাঞ্চটি GitHub থেকে পাওয়া যায়। গিট অ্যাকশনের স্ক্রিনশট
  13. আপনার কম্পিউটারের টার্মিনাল সেশন থেকে নিম্নলিখিত কমান্ডটি চালান:
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    YOUR_GITHUB_USER এর জায়গায় আপনার GitHub ইউজার অ্যাকাউন্টের নাম বসান। এছাড়াও YOUR_DEV_BRANCH এর জায়গায় আপনার dev ব্রাঞ্চের নাম বসান। আপনার dev ব্রাঞ্চের নাম হবে dev-john-doe-jhgr মতো কিছু একটা — অর্থাৎ, dev শব্দটির পরে আপনার প্রথম ও শেষ নাম এবং তারপরে একটি ছোট র‍্যান্ডম স্ট্রিং থাকবে। আপনি Looker UI-এর LookML এডিটরের একেবারে উপরে আপনার ব্যক্তিগত dev ব্রাঞ্চটি খুঁজে পাবেন।

৩. আপনার Agentic IDE সেটআপ করুন

ভিএস কোড এক্সটেনশন ইনস্টল করুন

IDE-তে, বাম প্যানেলে থাকা এক্সটেনশন আইকনে ক্লিক করুন। এরপর 'Looker' লিখে সার্চ করুন এবং ইনস্টল বাটনে ক্লিক করে গুগল থেকে অফিসিয়াল এক্সটেনশনটি ইনস্টল করুন।

ডাটাবেস সার্ভারের জন্য এমসিপি টুলবক্স ইনস্টল করুন

Antigravity-কে Looker API-তে অ্যাক্সেস দেওয়ার জন্য (যেমন কোয়েরি চালানো, SQL পরীক্ষা করা, LookML মডেল পরীক্ষা করা এবং কানেকশন স্কিমা সংক্রান্ত তথ্য পরীক্ষা করা), আপনার একটি চলমান, লোকাল MCP Toolbox for Databases সার্ভার প্রয়োজন। MCP Toolbox অফিসিয়াল Looker MCP ইমপ্লিমেন্টেশনের সাথেই আসে। এই অংশে আপনি আপনার Looker ইনস্ট্যান্সের জন্য এটি সেট আপ এবং কনফিগার করবেন।

  1. প্রথমে আপনার একটি API client_id এবং client_secret প্রয়োজন হবে। আপনার ব্যবহারকারীর জন্য client_id এবং client_secret তৈরি করতে Looker API Keys গাইডটি ব্যবহার করুন। এছাড়াও আপনার Looker ইনস্ট্যান্সের জন্য বেস URL-টিও লাগবে।
  2. এখন আপনি npx ব্যবহার করে MCP টুলবক্স ইনস্টল করবেন। আপনি আপনার Looker ইনস্ট্যান্স URL এবং API ক্রেডেনশিয়াল ইনলাইন এনভায়রনমেন্ট ভেরিয়েবল হিসেবে দিতে পারেন, অথবা আপনার শেল এনভায়রনমেন্টে সেগুলো সেট করতে পারেন। Mac এবং Linux-এর জন্য শেল এনভায়রনমেন্টে এটি চালান:
    LOOKER_BASE_URL="https://your-instance.looker.com" \
    LOOKER_CLIENT_ID="YOUR_CLIENT_ID" \
    LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET" \
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    
    উইন্ডোজের জন্য, পাওয়ারশেলে এটি চালান:
    $env:LOOKER_BASE_URL="https://your-instance.looker.com"
    $env:LOOKER_CLIENT_ID="YOUR_CLIENT_ID"
    $env:LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET"
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    

ভিএস কোড এক্সটেনশন কনফিগার করুন

এই ধাপে, আপনি Looker এবং Looker MCP সার্ভারের সাথে সংযোগ করার জন্য VS Code এক্সটেনশনটি কনফিগার করবেন।

  1. Antigravity-তে, কমান্ড প্যালেট খুলতে CMD-SHIFT-P (Mac) বা CTRL+SHIFT+P (Linux/Windows) ব্যবহার করুন এবং Preferences: Open Workspace Settings (JSON) নির্বাচন করুন।
  2. client_id এবং client_secret ব্যবহার করে এক্সটেনশনটি কনফিগার করতে আপনার ওয়ার্কস্পেস সেটিংসে নিম্নলিখিতটি যোগ করুন। looker.projectId এর জন্য cymbal_gadgets ব্যবহার করুন:
    {
       "looker.instanceURL": "https://your-instance.looker.com",
       "looker.clientId": "YOUR_API_KEY_CLIENT_ID",
       "looker.clientSecret": "YOUR_API_KEY_CLIENT_SECRET",
       "looker.projectId": "cymbal_gadgets"
    }
    

আপনার এডিটর খুলুন

  1. উন্মুক্ত অ্যান্টিগ্র্যাভিটি।
  2. ফাইল > ফোল্ডার খুলুন... -এ ক্লিক করুন।
  3. cymbal_gadgets ফোল্ডারটিতে যান এবং সেটি নির্বাচন করুন।

৪. গ্রাহকের আজীবন মূল্য পরিমাপের একটি মানদণ্ড তৈরি করুন।

প্রথমে আপনি এজেন্ট ব্যবহার করে বিদ্যমান LookML মডেলে একটি নতুন মেজার তৈরি করবেন। এই রিটেইল ব্যবহারের ক্ষেত্রে একটি Customer Lifetime Value মেজার উপযোগী হবে। আপনি এই মেজারটির মেথডোলজি এবং LookML নির্ধারণ করতে এজেন্ট ব্যবহার করবেন।

এজেন্টকে নির্দেশ দিন

আপনার Antigravity ওয়ার্কস্পেসের cymbal_gadgets প্রোজেক্টের ডানদিকে একটি নতুন কথোপকথন ইন্টারফেস দেখতে পাবেন। প্ল্যানিং মোডে , সর্বশেষ Gemini মডেল ব্যবহার করে এবং ' Create a Customer Lifetime Value measure.

অ্যান্টিগ্র্যাভিটিতে প্রম্পটের স্ক্রিনশট

বাস্তবায়ন পরিকল্পনা যাচাই করুন

এজেন্ট প্রথমে একটি বাস্তবায়ন পরিকল্পনা তৈরি করবে। পর্যালোচনা করার জন্য বাস্তবায়ন পরিকল্পনাটি খুলুন, তারপর 'এগিয়ে যান' বোতামে ক্লিক করুন।

বাস্তবায়ন পরিকল্পনার স্ক্রিনশট

LookML পর্যালোচনা করুন

পরিবর্তিত LookML পর্যালোচনা করুন। নিশ্চিত করুন যে পরিবর্তনগুলো যৌক্তিক এবং বৈধ।

পরিবর্তিত LookML-এর স্ক্রিনশট

পরিবর্তিত LookML-টি VS Code এক্সটেনশনের মাধ্যমে স্বয়ংক্রিয়ভাবে Looker-এর সাথে সিঙ্ক হয়ে যায়। এটি ডেভেলপমেন্ট মোডে পরীক্ষা করা যেতে পারে।

IDE-তে পরীক্ষা করুন

query CLV broken down by customer loyalty tier জন্য Antigravity-কে নির্দেশ দিন। Antigravity মডেলগুলো খুঁজে বের করতে, উপলব্ধ ফিল্ডগুলো পরীক্ষা করতে এবং Looker ব্যবহার করে একটি কোয়েরি চালাতে Looker MCP সার্ভার ব্যবহার করবে। ফলাফলটি দেখতে অনেকটা এইরকম হবে:

অ্যান্টিগ্র্যাভিটিতে ডেটার স্ক্রিনশট

লুকারে পরীক্ষা

লুকারে, ডেভেলপমেন্ট মোড সক্রিয় করে, 🛍️ Cymbal Gadgets: Transactions & Sales এক্সপ্লোরটি খুলুন। Customer Lifetime Value মেজারটি নির্বাচন করুন এবং তারপর Customer Registration Year দ্বারা পিভট করুন। কোয়েরিটি চালান। এটি দেখতে এইরকম হওয়া উচিত।

অনুসন্ধানের স্ক্রিনশট

৫. একটি কাস্টমার লাইফটাইম ভ্যালু ড্যাশবোর্ড তৈরি করুন

এখন আমরা আরও একটি জটিল উদাহরণ চেষ্টা করব। আমরা এজেন্টকে একটি সম্পূর্ণ নতুন LookML ড্যাশবোর্ড তৈরি করতে বলব।

এজেন্টের কাছ থেকে একটি নতুন ড্যাশবোর্ডের জন্য অনুরোধ করুন।

অ্যান্টিগ্র্যাভিটিতে ফিরে যান। একই কথোপকথনে, নিশ্চিত করুন যে প্ল্যানিং মোড এবং সর্বশেষ জেমিনি মডেলটি নির্বাচিত আছে। তারপর, Create a dashboard showing customer lifetime value based on customer loyalty tier জন্য অনুরোধ করুন।

ড্যাশবোর্ড তৈরির স্ক্রিনশট

আবার, বাস্তবায়ন পরিকল্পনাটি অনুমোদন করুন এবং কোডের পরিবর্তনগুলো গ্রহণ করুন। এখন এই নতুন LookML ফাইলটি Looker-এর সাথে স্বয়ংক্রিয়ভাবে সিঙ্ক হয়ে যাবে।

লুকারে পরীক্ষা

ডেভেলপমেন্ট মোডে, LookML Dashboards ফোল্ডারটিতে যান। নতুন তৈরি করা ড্যাশবোর্ডটি দেখতে সেটি নির্বাচন করুন।

নতুন ড্যাশবোর্ডের স্ক্রিনশট

৬. পরিষ্কার করুন

  1. Antigravity-এর Source Control প্যানে, চাইলে LookML পরিবর্তনগুলো পূর্বাবস্থায় ফিরিয়ে আনুন। প্রতিটি পরিবর্তিত LookML ফাইলের পাশে ফাইলটি পূর্বাবস্থায় ফিরিয়ে আনার জন্য ↶-এর মতো একটি চিহ্ন থাকবে। প্রতিটি ফাইলের জন্য সেই বাটনটি চাপুন। পরিবর্তনগুলি পূর্বাবস্থায় ফেরানোর স্ক্রিনশট
  2. Looker-এ Admin, তারপর Database, তারপর Connections নির্বাচন করুন। cymbal_gadgets কানেকশনের জন্য গিয়ার আইকনে ক্লিক করুন এবং Delete বেছে নিন। আপনি যে কানেকশনটি ডিলিট করতে চান, তা নিশ্চিত করুন।
  3. লুকারে ডেভেলপমেন্ট মোড ব্যবহার করুন। ডেভেলপ নির্বাচন করুন, তারপর cymbal_gadgets প্রজেক্টটি নির্বাচন করুন। প্রজেক্ট সেটিংস- এর অধীনে ডিলিট প্রজেক্ট নির্বাচন করুন। প্রজেক্টটির নাম - cymbal_gadgets - টাইপ করে এবং তারপর পার্মানেন্টলি ডিলিট cymbal_gadgets লেখা বাটনটি নির্বাচন করে আপনি যে প্রজেক্টটি ডিলিট করতে চান তা নিশ্চিত করুন।

৭. অভিনন্দন

কোডল্যাবটি সম্পন্ন করার জন্য অভিনন্দন।

আমরা যা আলোচনা করেছি

  • এজেন্টের সাহায্যে কীভাবে LookML পরিবর্তন করবেন
  • বাস্তবায়ন পরিকল্পনা কীভাবে যাচাই করবেন।
  • IDE থেকে কীভাবে পরীক্ষা করতে হয়।
  • লুকার UI-তে কীভাবে পরীক্ষা করবেন
  • এজেন্ট ব্যবহার করে কীভাবে একটি নতুন ড্যাশবোর্ড তৈরি করবেন।

চেষ্টা করার মতো জিনিস

এখন agentic IDE-এর বিভিন্ন কার্যকারিতা দেখতে UI-তে নিম্নলিখিত প্রম্পটগুলি ব্যবহার করে দেখুন:

  • ব্যবহারকারী এবং এআই উভয়ের জন্যই ভালো বিবরণ অত্যন্ত গুরুত্বপূর্ণ। যেসব ফিল্ডে বিবরণ নেই, সেগুলোতে বিবরণ যোগ করার জন্য এজেন্টকে নির্দেশ দিন।
  • এজেন্টকে ডাইমেনশন গ্রুপগুলোর মধ্যে একটিতে আরও সময়সীমা যোগ করতে বলুন।
  • এজেন্টকে 'ত্রৈমাসিক অনুসারে পিভট করা পণ্য বিভাগ অনুযায়ী রাজস্ব'-এর মতো একটি কোয়েরি সম্পাদন করতে বলুন।

আরও জানুন