১. শুরু করার আগে
এই কোডল্যাবটি আপনাকে Looker-এর সাথে Conversational Analytics API (CA API) ব্যবহার করে ডেটা অনুসন্ধানের জন্য আপনার নিজস্ব চ্যাট অ্যাপ্লিকেশন তৈরি করতে সাহায্য করবে। সর্বাধিক মূল্য পেতে, আপনার BigQuery, Looker, LLM এবং এজেন্ট এবং Python-এর সাথে পরিচিত হওয়া উচিত।
তুমি কি শিখবে
এই কোডল্যাবটি অনুসরণ করার পর, আপনি শিখবেন:
- লুকারের সাথে কথোপকথনমূলক বিশ্লেষণ কীভাবে ব্যবহার করবেন
- কনভার্সেশনাল অ্যানালিটিক্স পাইথন কুইকস্টার্ট অ্যাপ কীভাবে সেট আপ এবং ব্যবহার করবেন (এবং অ্যাপটি কীভাবে কাজ করে)
- কথোপকথন বিশ্লেষণের সাথে শব্দার্থিক মডেলিংয়ের জন্য লুকার ব্যবহারের সুবিধা
তোমার যা লাগবে
এই কোডল্যাবটি সম্পূর্ণ করতে, আপনার প্রয়োজন হবে:
- ASC ডেমোগ্রাফিক ডেটা লুকার ব্লক ইনস্টল করা সহ একটি লুকার ইনস্ট্যান্স
- আপনার লুকার ইনস্ট্যান্সে API এবং ডেভেলপার অ্যাক্সেস
- Python v3.11+, Git, এবং gcloud ইনস্টল করা একটি স্থানীয় পরিবেশ।
- আপনার ব্যবহারকারী অ্যাকাউন্টের জন্য এই IAM ভূমিকাগুলি সহ একটি ক্লাউড প্রকল্প সেট আপ করা হয়েছে:
-
roles/bigquery.dataViewerBigQuery ডেটা ভিউয়ার -
roles/bigquery.userবিগকুয়েরি ব্যবহারকারী -
roles/looker.instanceUserলুকার ইনস্ট্যান্স ব্যবহারকারী
২. BigQuery দিয়ে আপনার চ্যাট অ্যাপ তৈরি করুন এবং ব্যবহার করে দেখুন
প্রথমে BigQuery কে ডেটা সোর্স হিসেবে ব্যবহার করে Conversational Analytics কুইকস্টার্ট অ্যাপটি সেট আপ করে চেষ্টা করা যাক।
ক্লাউড API গুলি প্রমাণীকরণ এবং সক্ষম করুন
- আপনার ব্যবহারকারী অ্যাকাউন্ট দিয়ে স্থানীয়ভাবে প্রমাণীকরণ করুন:
gcloud auth login
- ক্লাউড প্রোজেক্ট API গুলি সক্ষম করুন। অনুগ্রহ করে আপনার Google ক্লাউড প্রোজেক্টের আইডি দিয়ে
YOUR_PROJECT_IDপ্রতিস্থাপন করুন:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (ADC) এবং বিলিং সেট করুন:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
কুইকস্টার্ট অ্যাপ সেট আপ করুন
- আপনার স্থানীয় পরিবেশে কুইকস্টার্ট গিথুব রেপো ক্লোন করুন। নীচের উদাহরণ কমান্ডটি দেখুন:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- আপনার ক্লোন করা
ca-api-quickstartsডিরেক্টরিতে নেভিগেট করুন:
cd ca-api-quickstarts
-
.streamlitডিরেক্টরিতে একটিsecrets.tomlফাইল তৈরি করুন।YOUR_LOOKER_CLIENT_IDএবংYOUR_LOOKER_CLIENT_SECRETআপনার Looker ক্লায়েন্ট আইডি এবং Looker ক্লায়েন্ট সিক্রেট আপনার Looker ইনস্ট্যান্স থেকে হওয়া উচিত। ফাইলের বিষয়বস্তু নিম্নরূপ হওয়া উচিত:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
ফাইলটি তৈরি করতে আপনি নিম্নলিখিত উদাহরণ কমান্ডটি ব্যবহার করতে পারেন। আপনার প্রোজেক্ট আইডি, ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট দিয়ে মানগুলি প্রতিস্থাপন করতে ভুলবেন না:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- কুইকস্টার্ট অ্যাপের পাইথনের প্রয়োজনীয়তাগুলি ইনস্টল করুন:
pip install -r requirements.txt
- কুইকস্টার্ট অ্যাপটি চালান:
streamlit run app.py
- আপনার পছন্দের ব্রাউজারে https://localhost:8501 খুলুন।
কুইকস্টার্ট অ্যাপটি ব্যবহার করে দেখুন
আপনি এখন কুইকস্টার্ট অ্যাপের এজেন্ট পৃষ্ঠায় আছেন। আপনার কাছে কোনও ডেটা এজেন্ট উপলব্ধ নেই।
- এবার আসুন এমন একটি ডেটা এজেন্ট তৈরি করি যা ক্রিয়েট এজেন্ট ফর্মে জলদস্যুদের মতো কথা বলে:
- প্রদর্শন নাম ক্ষেত্রটি সেট করুন:
Pirate BQ Agent
- সিস্টেম নির্দেশাবলী ক্ষেত্রটি সেট করুন:
You are a pirate. Answer questions like a pirate
- BigQuery বিকল্পটি নির্বাচন করুন।
- প্রকল্প ক্ষেত্রটি সেট করুন:
bigquery-public-data
- ডেটাসেট ক্ষেত্রটি সেট করুন:
google_trends
- টেবিল ক্ষেত্রটি সেট করুন:
top_rising_terms
- এজেন্ট তৈরি করুন নির্বাচন করুন।
- এবার বাম দিকের মূল নেভিগেশনের মাধ্যমে চ্যাট পৃষ্ঠায় যাওয়া যাক। আমাদের নতুন তৈরি এজেন্ট চ্যাট করার জন্য উপলব্ধ। আসুন একটি প্রম্পট/বার্তা যোগ করে চ্যাট শুরু করি: "হ্যালো, কেমন আছেন?"
- এবার আসুন এই ডেটাসেট সম্পর্কে কিছুটা জেনে নিই: "এই ডেটাসেটটি কী সম্পর্কে?"
- আরেকটি প্রশ্ন জিজ্ঞাসা করুন - এরকম কিছু:
- "ডেটাসেটে [Enter State] অবস্থানগুলি কী কী?"
- "আপনি কি আমাকে [শহর, রাজ্য] এর গত ২ সপ্তাহের তথ্য দিতে পারবেন?"
- "আপনি কি একটি ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন?"
আপনার ডেটা এজেন্ট এবং আপনার নিজস্ব চ্যাট অ্যাপ্লিকেশনে আপনার BigQuery ডেটার সাথে আপনি সবেমাত্র একাধিকবার কথোপকথন করেছেন।
৩. লুকারে আপনার ডেটা মডেল এবং অন্বেষণ করুন
এবার আসুন Looker-এ একই BigQuery ডেটা মডেল এবং অন্বেষণ করি।
BigQuery আদমশুমারির তথ্য অনুসন্ধান করুন
যখন আমরা একটি বৃহত্তর, রিলেশনাল ডেটাসেটের সাথে সংযোগ স্থাপন করি তখন কী হয়? প্রথমে আমরা একটি নতুন এজেন্ট তৈরি করব।
- এজেন্ট পৃষ্ঠার "এজেন্ট তৈরি করুন " ফর্মে ফিরে যান।
- প্রদর্শন নাম ক্ষেত্রটি সেট করুন:
BQ Census Agent
- সিস্টেম নির্দেশাবলী ক্ষেত্রটি সেট করুন:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- BigQuery বিকল্পটি নির্বাচন করুন।
- প্রকল্প ক্ষেত্রটি সেট করুন:
bigquery-public-data
- ডেটাসেট ক্ষেত্রটি সেট করুন:
census_bureau_acs
- টেবিল ক্ষেত্রটি সেট করুন:
blockgroup_2018_5yr
- এজেন্ট তৈরি করুন নির্বাচন করুন।
- নতুন তৈরি এজেন্টকে এই দুটি প্রশ্ন জিজ্ঞাসা করুন:
- "তোমার কাছে কী তথ্য আছে?"
- "আপনি কি আমার ডেটার একটি প্রিভিউ দেখাতে পারবেন"?
আদমশুমারির তথ্য মডেল করতে লুকার ব্যবহার করুন
এখন আমরা BigQuery আদমশুমারির তথ্য সংজ্ঞায়িত করার জন্য একটি LookML মডেল ব্যবহার করতে যাচ্ছি। আমরা আগে যে সমস্যাগুলি দেখেছি সেগুলি সমাধান করব।
- আপনার লুকার ইনস্ট্যান্সে লগ ইন করুন।
- আপনার ACS ডেমোগ্রাফিক ডেটা ব্লক ফাইলগুলিতে বাম দিকের প্রধান নেভিগেশনে নেভিগেট করে, Develop নির্বাচন করে, এবং তারপর marketplace_acs_census-v2 নির্বাচন করে নেভিগেট করুন।
- আসুন একটি Looker ভিউ দেখি।
imported_projectডিরেক্টরি,acs_census-v2ডিরেক্টরি এবংgeographyডিরেক্টরি খুলুন। - অবশেষে,
cbsa.viewফাইলটি খুলুন। - ১৭ নম্বর লাইনে, আমরা দেখতে পাচ্ছি যে LookML একটি ডেরিভেটিভ টেবিল তৈরি করছে। অন্য কথায়, এই কোডটি দুটি পাবলিক BigQuery ডেটাসেটকে সংযুক্ত করে একটি নতুন, সম্মিলিত টেবিল তৈরি করছে, একটি আদমশুমারি ডেটা সহ এবং অন্যটি ভৌগোলিক সীমানা ডেটা সহ। LookML আমাদেরকে একটি স্থায়ী ডেরিভেটিভ টেবিল তৈরি করে একাধিক ডেটাসেটে যোগদানের অনুমতি দেয়।
অতিরিক্তভাবে, সিস্টেম নির্দেশাবলীর পরিবর্তে, যোগদানটি সংস্করণযোগ্য কোড (LookML) তে সংজ্ঞায়িত করা হয়েছে, যা এজেন্ট ডেভেলপমেন্টকে আরও স্কেলেবল করে তোলে। LookML এর সাহায্যে, আপনি আপনার ডেটার চারপাশে নির্দিষ্ট অনুমান এবং সীমাবদ্ধতাগুলি সংজ্ঞায়িত করতে পারেন যাতে আপনার ব্যবহারকারীরা ডেটা এজেন্টের মাধ্যমে আপনার ডেটার সাথে চ্যাট করার সময় তাদের সহায়তা করতে পারে।
লুকার মডেলেড আদমশুমারির তথ্য অন্বেষণ করুন
আসুন একটি এক্সপ্লোরারে একটি দ্রুত কোয়েরি চালাই যাতে দেখা যায় যে আমাদের কাছে কোয়েরি করার জন্য একটি কেন্দ্রীভূত ডেটা উৎস আছে।
- বাম দিকের প্রধান নেভিগেশন মেনুতে, Explore নির্বাচন করুন, তারপর Census Data Block নির্বাচন করুন, তারপর State and County নির্বাচন করুন।
- শিক্ষা > সহযোগী ডিগ্রি পরিমাপ নির্বাচন করুন।
- নিম্নলিখিত মাত্রাগুলি নির্বাচন করুন:
- ভূগোল > ব্লক গ্রুপ
- ভূগোল > কাউন্টি > কাউন্টির নাম
- ভূগোল > রাজ্য > রাজ্য ।
- কোয়েরিটি (উপরে ডানদিকে) চালান এবং আপনি এখন দেখতে পাবেন যে সেই ভূগোল আইডিগুলি ("ব্লক গ্রুপ" নামে পরিচিত) এখন মানুষের পাঠযোগ্য স্ট্রিংগুলির সাথে যুক্ত।
- ভিজ্যুয়ালাইজেশন ট্যাবটি খুলুন এবং আপনি একটি মানচিত্রে এই ডেটা দেখতে পাবেন।
৪. লুকারের সাথে চ্যাট অ্যাপটি ব্যবহার করে দেখুন
এবার লুকারের জন্য একটি ডেটা এজেন্ট তৈরি করা যাক।
- আপনার কুইকস্টার্ট অ্যাপের এজেন্ট পৃষ্ঠার ক্রিয়েট এজেন্ট ফর্মে নেভিগেট করুন:
- প্রদর্শন নাম ক্ষেত্রটি সেট করুন:
Cartoon character data analyst
- সিস্টেম নির্দেশিকা ক্ষেত্রটি সেট করুন:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- লুকার অপশনটি নির্বাচন করুন।
- আপনার লুকার ইনস্ট্যান্সের URL-এ Url ফিল্ড সেট করুন: "https://..."
- মডেল ক্ষেত্রটি সেট করুন:
data_block_acs_bigquery
- এক্সপ্লোর ক্ষেত্রটি সেট করুন:
cbsa
- এজেন্ট তৈরি করুন নির্বাচন করুন।
- চ্যাট পৃষ্ঠায় যান এবং নতুন তৈরি এজেন্টটি নির্বাচন করুন।
- "হ্যালো, কেমন আছেন?" এই প্রম্পট/বার্তা যোগ করে চ্যাট শুরু করা যাক।
- আসুন এজেন্টকে ডেটাসেটটি বর্ণনা করতে বলি: "আপনার কাছে কোন ডেটা উপলব্ধ আছে?"
- আসুন আরও কিছু প্রশ্ন জিজ্ঞাসা করি:
- "নিউইয়র্কের কোন কাউন্টিতে জনসংখ্যা সবচেয়ে বেশি?"
- "মাথাপিছু সবচেয়ে বেশি উচ্চ বিদ্যালয় থেকে স্নাতকদের কী হবে?"
- "আপনি কি আমাকে লিঙ্গ এবং রাজ্য অনুসারে জনসংখ্যা বলতে পারেন?"
- "আমি কি সবচেয়ে বেশি জনসংখ্যার শীর্ষ ১০টি রাজ্যের একটি বার চার্ট দেখতে চাই?"
৫. কুইকস্টার্ট অ্যাপটি আর কী করতে পারে?
তুমি এখন:
- স্থানীয়ভাবে চ্যাট অ্যাপ সেট আপ করুন
- একটি BigQuery ডেটা এজেন্ট এবং একটি Looker ডেটা এজেন্ট তৈরি করা হয়েছে
- আপনার ডেটা এজেন্টদের সাথে কথোপকথন অনুষ্ঠিত হয়েছে
- আপনার চ্যাটের প্রেক্ষাপট হিসেবে লুকার সেমান্টিক মডেলিংয়ের সুবিধা সম্পর্কে জেনেছি।
চলুন কুইকস্টার্ট অ্যাপের অন্যান্য ক্ষমতাগুলি পরীক্ষা করে দেখি:
- কুইকস্টার্ট অ্যাপের ওয়েব পৃষ্ঠাটি পুনরায় লোড করুন এবং চ্যাট পৃষ্ঠায় নেভিগেট করুন।
- আপনি আপনার BigQuery এবং Looker এজেন্ট উভয়ের কাছ থেকে আপনার পূর্ববর্তী কথোপকথনগুলি তাদের নিজ নিজ বার্তাগুলির সাথে দেখতে পাবেন। অ্যাপের ফ্রন্টএন্ড অতীতের কনভো বা বার্তাগুলি সংরক্ষণ করছে না, বরং CA API থেকে সেগুলি আনছে।
- এখন এজেন্ট পৃষ্ঠায় যান এবং তালিকা থেকে আপনার লুকার এজেন্ট নির্বাচন করুন।
- আপনি চাইলে এজেন্টের কনফিগারেশন আপডেট করতে পারেন অথবা এজেন্ট মুছে ফেলতে পারেন। অ্যাপের ফ্রন্টএন্ডে কোনও এজেন্ট সংরক্ষণ করা হয় না।
৬. ঐচ্ছিক চ্যালেঞ্জ এবং আরও অনুসন্ধান
আপনি যদি চান, তাহলে এই সুযোগে কথোপকথন বিশ্লেষণ এবং কুইকস্টার্ট অ্যাপের সাথে নিজেকে পরিচিত করতে পারেন। অথবা কুইকস্টার্ট অ্যাপটি পরিবর্তন করার জন্য নিজেকে একটি চ্যালেঞ্জ দিতে পারেন। আপনি নিম্নলিখিত কিছু পরামর্শ এবং চ্যালেঞ্জ চেষ্টা করে দেখতে পারেন অথবা শেষ বিভাগে চলে যেতে পারেন।
CA API এবং কুইকস্টার্ট অ্যাপের সাথে নিজেকে আরও পরিচিত করুন
- আপনার এজেন্টের আচরণ নিয়ন্ত্রণের জন্য বিস্তারিত সিস্টেম নির্দেশাবলী সম্পর্কে আরও জানুন।
- একটি নতুন BigQuery ডেটাসেটের দিকে নির্দেশ করে আরেকটি ডেটা এজেন্ট সেট আপ করুন।
- আপনার লুকার ইনস্ট্যান্সে একটি নতুন লুকার ব্লক ইনস্টল করুন, একটি এজেন্ট তৈরি করুন এবং এটিকে একটি নতুন লুকার ডেটাসেটে নির্দেশ করুন।
কুইকস্টার্ট অ্যাপ পরিবর্তনের চ্যালেঞ্জ
- আপনি কি লুকার এম্বেডিং এর সাথে পরিচিত? যদি তাই হয়, তাহলে কুইকস্টার্ট অ্যাপের ভিতরে একটি লুকার ড্যাশবোর্ড এম্বেড করার চেষ্টা করুন। Streamlit এর iframe কম্পোনেন্ট ব্যবহার করার কথা বিবেচনা করুন।
- ভিডিও URL ধারণকারী একটি পাবলিক ডেটাসেট খুঁজুন এবং চ্যাটে একটি ভিডিও দেখানোর জন্য অ্যাপের চ্যাট রেন্ডারিং লজিক আপডেট করুন।
৭. উপসংহার এবং উপসংহার
তুমি শেষ পর্যন্ত পৌঁছে গেছো! তুমি একটি চ্যাট অ্যাপ তৈরি করেছো, ডেটা এজেন্ট তৈরি করেছো, এবং কনভার্সেশনাল অ্যানালিটিক্স API ব্যবহার করে তোমার ডেটার সাথে চ্যাট করেছো। আসুন কিছু মূল ক্ষমতা এবং ধারণা পর্যালোচনা করি!
কথোপকথন বিশ্লেষণ ক্ষমতা
আমরা অনেক কথোপকথন বিশ্লেষণ ক্ষমতা কভার করেছি, যেমন:
- ডেটা এজেন্ট তৈরি, আপডেট, তালিকাভুক্ত, গ্রহণ এবং মুছে ফেলা।
- ডেটা এজেন্টদের ডেটা উৎস হিসেবে BigQuery অথবা Looker-এর দিকে নির্দেশ করুন।
- কথোপকথন এবং তাদের সংশ্লিষ্ট বার্তা তৈরি করুন, তালিকাভুক্ত করুন এবং পান।
- কথোপকথনে নিমজ্জিত ভিজ্যুয়ালাইজেশনের জন্য ভেগা চার্টের স্পেসিফিকেশন তৈরি করুন।
- ভবিষ্যতের বার্তাগুলির জন্য দরকারী প্রসঙ্গ হিসেবে কথোপকথনে অতীতের বার্তাগুলি ব্যবহার করুন।
CA API এর সাথে Looker ব্যবহারের সুবিধা
লুকার আপনার ডেটার কেন্দ্রীভূত, পরীক্ষাযোগ্য এবং পরিচালনাযোগ্য শব্দার্থিক মডেলিং প্রদান করে। কথোপকথনমূলক বিশ্লেষণের সাথে মিলিত হয়ে, লুকার আপনার ডেটা এজেন্টদের জন্য প্রসঙ্গ প্রদানের একটি স্কেলেবল উপায় প্রদান করে।
এরপর কি?
- আরও নির্দেশিকা, বৈশিষ্ট্য এবং ব্যবহারের ক্ষেত্রে কথোপকথনমূলক বিশ্লেষণ ডকুমেন্টেশন দেখুন।
- কুইকস্টার্ট অ্যাপ্লিকেশন রিপোজিটরির সাথে আপডেট থাকুন এবং অবদান রাখুন।