1. ভূমিকা
এই কোডল্যাবে, আমরা একটি বিদ্যমান জাম্প স্টার্ট সলিউশন, এআই সামারাইজেশন দেখব, যা Google ক্লাউড স্টোরেজে আপলোড করা PDF নথিগুলির সংক্ষিপ্তসারের জন্য Vertex AI মডেল ব্যবহার করে।
তারপরে আমরা জেমিনি কোড অ্যাসিস্ট ব্যবহার করব:
- Python কোড বুঝুন যা ক্লাউড ফাংশনকে ক্ষমতা দেয় যা PDF ডকুমেন্ট থেকে টেক্সট বের করার কাজ করে, এটিকে সারসংক্ষেপ করে এবং BigQuery-এ ফলাফল লেখার কাজ করে।
- নতুন কার্যকারিতা লিখতে সাহায্য করার জন্য আমরা পুরো প্রক্রিয়া জুড়ে জেমিনি কোড অ্যাসিস্টের সাহায্য নেব। আমরা একটি ওয়েব অ্যাপ্লিকেশন (পাইথন ফ্লাস্ক অ্যাপ্লিকেশন) বিকাশ করব এবং আমাদের কোড যাচাই করার জন্য স্থানীয়ভাবে অ্যাপ্লিকেশনটি চালাব।
- ঐচ্ছিকভাবে, আমরা এই অ্যাপ্লিকেশনটিকে ক্লাউড রানে স্থাপনের দিকেও নজর দিতে পারি এবং মেটেরিয়াল ডিজাইন ব্যবহার করে ওয়েব অ্যাপ্লিকেশনটির ডিজাইন (নন্দনতত্ত্ব) উন্নত করতে পারি।
তুমি কি করবে...
- আপনি এআই সামারাইজেশন জাম্প স্টার্ট সলিউশন স্থাপন করবেন এবং এটি কীভাবে কাজ করে তা বোঝার জন্য প্রক্রিয়া প্রবাহকে ট্রিগার করবেন।
- তারপরে আপনি জাম্প স্টার্ট সলিউশনের বিদ্যমান কোড ডাউনলোড করতে ক্লাউড শেল IDE ব্যবহার করবেন এবং কোডটি বুঝতে জেমিনি কোড সহায়তা ব্যবহার করবেন।
- আপনি একটি নতুন কার্যকারিতার জন্য কোড তৈরি করতে জেমিনি কোড অ্যাসিস্ট ক্লাউড শেল IDE ব্যবহার করবেন৷
যা শিখবেন...
- কিভাবে AI সংক্ষিপ্তকরণ জাম্প স্টার্ট সলিউশন কাজ করে।
- কোড জেনারেশন, কোড কমপ্লিশন এবং কোড সামারাইজেশনের মতো বেশ কিছু ডেভেলপার কাজের জন্য জেমিনি কোড অ্যাসিস্ট কীভাবে ব্যবহার করবেন।
আপনার যা লাগবে...
- ক্রোম ওয়েব ব্রাউজার
- একটি জিমেইল অ্যাকাউন্ট
- বিলিং সক্ষম সহ একটি ক্লাউড প্রকল্প৷
- আপনার ক্লাউড প্রজেক্টের জন্য জেমিনি কোড অ্যাসিস্ট সক্ষম করা হয়েছে
এই ল্যাবটি নতুনদের সহ সকল স্তরের বিকাশকারীদের লক্ষ্য করে। যদিও নমুনা অ্যাপ্লিকেশনটি পাইথন ভাষায়, তবে কী ঘটছে তা বোঝার জন্য আপনাকে পাইথন প্রোগ্রামিংয়ের সাথে পরিচিত হওয়ার দরকার নেই। আমাদের ফোকাস ডেভেলপারদের জন্য জেমিনি কোড অ্যাসিস্টের ক্ষমতার সাথে পরিচিত হওয়ার দিকে থাকবে।
2. সেটআপ
এই বিভাগটি এই ল্যাবের সাথে শুরু করার জন্য আপনাকে যা করতে হবে তা কভার করে।
Google ক্লাউড প্রকল্পে ক্লাউডের জন্য জেমিনি সক্ষম করুন৷
আমরা এখন আমাদের Google ক্লাউড প্রকল্পে ক্লাউডের জন্য জেমিনি সক্ষম করব৷ নিচে দেওয়া ধাপগুলো অনুসরণ করুন:
- https://console.cloud.google.com- এ যান এবং নিশ্চিত করুন যে আপনি Google ক্লাউড প্রকল্পটি নির্বাচন করেছেন যেটির সাথে আপনি এই ল্যাবের জন্য কাজ করার পরিকল্পনা করছেন৷ আপনি উপরের ডানদিকে দেখতে পাচ্ছেন ওপেন মিথুন আইকনে ক্লিক করুন।
- ক্লাউড চ্যাট উইন্ডোর জন্য জেমিনি কনসোলের ডানদিকে খুলবে। নিচের মত Enable বাটনে ক্লিক করুন। আপনি যদি সক্ষম বোতামটি দেখতে না পান এবং পরিবর্তে একটি চ্যাট ইন্টারফেস দেখতে পান, তাহলে সম্ভবত আপনি ইতিমধ্যেই প্রকল্পের জন্য ক্লাউডের জন্য জেমিনি সক্ষম করেছেন এবং আপনি সরাসরি পরবর্তী ধাপে যেতে পারেন৷
- একবার এটি সক্ষম হয়ে গেলে, আপনি ক্লাউডের জন্য জেমিনিকে একটি বা দুটি প্রশ্ন জিজ্ঞাসা করে পরীক্ষা করতে পারেন। কয়েকটি নমুনা প্রশ্ন দেখানো হয়েছে কিন্তু আপনি
What is Cloud Run?
মেঘের জন্য মিথুন আপনার প্রশ্নের উত্তর দেবে। আপনি ক্লিক করতে পারেন ক্লাউড চ্যাট উইন্ডোর জন্য জেমিনি বন্ধ করতে উপরের ডান কোণায় আইকন।
ক্লাউড শেল IDE-তে জেমিনি কোড সহায়তা সক্ষম করুন৷
বাকি কোডল্যাবের জন্য আমরা ক্লাউড শেল আইডিই ব্যবহার করব, একটি সম্পূর্ণ-পরিচালিত কোড ওএসএস -ভিত্তিক উন্নয়ন পরিবেশ। আমাদের ক্লাউড শেল আইডিই-তে কোড অ্যাসিস্ট সক্রিয় এবং কনফিগার করতে হবে এবং ধাপগুলি নীচে দেওয়া হল:
- ide.cloud.google.com এ যান। IDE প্রদর্শিত হতে কিছু সময় লাগতে পারে, তাই ধৈর্য ধরুন।
- ক্লাউড কোডে ক্লিক করুন - দেখানো হিসাবে নীচের স্ট্যাটাস বারে সাইন ইন বোতাম। নির্দেশিত হিসাবে প্লাগইন অনুমোদন করুন. আপনি যদি স্ট্যাটাস বারে "ক্লাউড কোড - কোনও প্রকল্প নেই" দেখতে পান, তাহলে সেটি নির্বাচন করুন এবং তারপরে আপনি যে প্রকল্পগুলির সাথে কাজ করার পরিকল্পনা করছেন তার তালিকা থেকে নির্দিষ্ট Google ক্লাউড প্রকল্পটি নির্বাচন করুন৷
- দেখানো হিসাবে নীচের ডানদিকের কোণায় জেমিনি বোতামে ক্লিক করুন এবং শেষবারের মতো সঠিক Google ক্লাউড প্রকল্পটি নির্বাচন করুন৷ যদি আপনাকে Cloud AI Companion API সক্ষম করতে বলা হয়, অনুগ্রহ করে তা করুন এবং এগিয়ে যান।
- একবার আপনি আপনার Google ক্লাউড প্রকল্প নির্বাচন করার পরে, নিশ্চিত করুন যে আপনি স্ট্যাটাস বারে ক্লাউড কোড স্ট্যাটাস মেসেজে দেখতে পাচ্ছেন এবং নীচে দেখানো স্ট্যাটাস বারে আপনার ডানদিকে কোড অ্যাসিস্ট সক্ষম করা আছে:
জেমিনি কোড অ্যাসিস্ট ব্যবহার করার জন্য প্রস্তুত!
ঐচ্ছিক: আপনি যদি ডান নীচে স্ট্যাটাস বারে মিথুন দেখতে না পান, তাহলে আপনাকে ক্লাউড কোডে জেমিনি সক্ষম করতে হবে। এটি করার আগে নিশ্চিত করুন যে ক্লাউড কোড এক্সটেনশন → সেটিংসে গিয়ে IDE-তে Gemini সক্রিয় আছে এবং তারপরে নীচে দেখানো মত করে Gemini টেক্সট লিখুন। চেকবক্স নির্বাচন করা হয়েছে তা নিশ্চিত করুন। আপনার আইডিই পুনরায় লোড করা উচিত৷ এটি ক্লাউড কোডে জেমিনিকে সক্ষম করে এবং স্ট্যাটাস বারে জেমিনি আইকনটি আপনার IDE-তে উপস্থিত হবে৷
3. AI সংক্ষিপ্তকরণ জাম্প স্টার্ট সলিউশন স্থাপন করুন
- জেনারেটিভ এআই ডকুমেন্টের সারসংক্ষেপ সমাধানে যান
- Deploy এ ক্লিক করুন
- আপনার প্রকল্পে বিলিং সক্ষম না থাকলে, বিলিং সক্ষম করুন৷
- অঞ্চল হিসাবে us-central1 নির্বাচন করুন।
- স্থাপন ক্লিক করুন.
- এটি 15 মিনিট পর্যন্ত সময় নিতে পারে।
- আপনাকে কোনো পরিবর্তন করতে হবে না, তবে সমাধান স্থাপনের বিস্তারিত পৃষ্ঠায় এই সমাধানটি অন্বেষণ করুন বোতামে ক্লিক করে জাম্প স্টার্ট সলিউশন ডিপ্লোয়মেন্টটি অন্বেষণ করুন।
4. মিথুনের সাথে চ্যাট করুন
আমরা মিথুনের সাথে কীভাবে চ্যাট করতে হয় তা শিখতে শুরু করতে যাচ্ছি। ভিএস কোডে ক্লাউড কোড এক্সটেনশনের অংশ হিসাবে ক্লাউড শেল IDE-এর মধ্যে একটি চ্যাট সহকারী হিসাবে জেমিনি উপলব্ধ। আপনি বাম নেভিগেশন বারে মিথুন বোতামে ক্লিক করে এটি আনতে পারেন। মিথুন আইকন খুঁজুন বাম নেভিগেশন টুলবারে এবং সেটিতে ক্লিক করুন।
এটি ক্লাউড শেল IDE-এর ভিতরে Chat: GeminiI প্যানে নিয়ে আসবে এবং আপনি Google ক্লাউডে সহায়তা পেতে জেমিনির সাথে চ্যাট করতে পারেন।
আসুন আমরা মিথুন চ্যাট ফলক ব্যবহার করি একটি প্রম্পট লিখতে এবং মিথুন থেকে প্রতিক্রিয়া দেখতে। নিম্নলিখিত প্রম্পট লিখুন:
What is Cloud Run?
মিথুনের ক্লাউড রান সম্পর্কে বিশদ বিবরণ সহ প্রতিক্রিয়া জানাতে হবে। প্রম্পট হল প্রশ্ন বা বিবৃতি যা আপনার প্রয়োজনীয় সাহায্য বর্ণনা করে। প্রম্পটগুলি বিদ্যমান কোড থেকে প্রসঙ্গ অন্তর্ভুক্ত করতে পারে যা Google ক্লাউড আরও দরকারী বা সম্পূর্ণ প্রতিক্রিয়া প্রদান করতে বিশ্লেষণ করে। ভাল প্রতিক্রিয়া তৈরি করতে প্রম্পট লেখার বিষয়ে আরও তথ্যের জন্য, Google ক্লাউডে মিথুনের জন্য আরও ভাল প্রম্পট লিখুন দেখুন।
Google ক্লাউড সম্পর্কে প্রশ্ন জিজ্ঞাসা করতে নিম্নলিখিত নমুনা প্রম্পট বা আপনার নিজস্ব যেকোনও চেষ্টা করে দেখুন:
-
What is the difference between Cloud Run and Cloud Functions?
-
What services are available on Google Cloud to run containerized workloads?
-
What are the best practices to optimize costs while working with Google Cloud Storage?
শীর্ষে ট্র্যাশ ক্যান আইকনটি লক্ষ্য করুন - কোড অ্যাসিস্ট চ্যাট ইতিহাসের প্রসঙ্গটি পুনরায় সেট করার এটি আপনার উপায়। এছাড়াও মনে রাখবেন যে এই চ্যাট ইন্টারঅ্যাকশনটি আপনি IDE-তে যে ফাইলে কাজ করছেন তার সাথে প্রাসঙ্গিক।
5. ক্লাউড কোডে জাম্প স্টার্ট সলিউশন ক্লাউড ফাংশন ডাউনলোড করুন
ধরে নিই যে আপনি ক্লাউড শেল এডিটরে আছেন, এই পদক্ষেপগুলি অনুসরণ করুন:
- ক্লাউড কোডে ক্লিক করুন
- দ্রষ্টব্য: আপনার স্ক্রিনের আকারের উপর নির্ভর করে, এটি এক ধাপ বা দুই ধাপ নিতে পারে।
বা
- ক্লাউড ফাংশন ক্লিক করুন.
- অনুরোধ করা হলে, লগ ইন করুন বা আপনার অ্যাকাউন্ট অনুমোদন করুন।
- ওয়েবহুক ফাংশনে ক্লিক করুন।
- নতুন কর্মক্ষেত্রে ডাউনলোড করুন আইকনে ক্লিক করুন
- ওয়ার্কস্পেস নাম (ডিফল্ট হওয়া উচিত) বা অন্য কোনো নাম হিসাবে ওয়েবহুক-1 ব্যবহার করুন এবং ঠিক আছে ক্লিক করুন।
- এটি ক্লাউড শেল IDE-তে কোডটি খুলবে।
6. বিদ্যমান প্রকল্প পর্যালোচনা করুন
এই জাম্প স্টার্ট সমাধানটি নীচে দেখানো হয়েছে:
আপলোড PDF কার্যকারিতা থেকে ক্লাউড সঞ্চয়স্থানে প্রবাহ পর্যালোচনা করুন৷ পিডিএফ ফাইল আপলোড করা হলে যে ক্লাউড ফাংশনটি চালু করা হবে তা main.py
ফাইলে দেওয়া আছে।
সেই ফাইলটিতে ক্লিক করুন। ক্লাউড ফাংশনের জন্য এন্ট্রি পয়েন্ট হল entrypoint
ফাংশন, যা শেষ পর্যন্ত cloud_event_entrypoint
ফাংশনকে আহ্বান করে যা PDF থেকে পাঠ্য বের করে, তারপর summarization_entrypoint
, যা GCS এবং BigQuery-এ ফলাফলগুলিকে সংক্ষিপ্ত করতে এবং লিখতে যথাক্রমে Vertex AI মডেল ব্যবহার করে।
main.py
ফাইলে বা কোডের কোনো নির্দিষ্ট স্নিপেটে সমস্ত কোড হাইলাইট করুন। মিথুন চ্যাটে ক্লিক করুন এবং নিম্নলিখিত প্রম্পট দিন: Explain this
।
এটি আপনাকে কোডের জন্য একটি ব্যাখ্যা দিতে হবে।
7. একটি নমুনা রান চালান
আর্কিটেকচার ডায়াগ্রাম অনুযায়ী, আমরা ক্লাউড ফাংশন চালু করার জন্য <PROJECT_ID>_uploads বাকেট-এ একটি ফাইল আপলোড করতে যাচ্ছি।
নিশ্চিত করুন যে আপনার কাছে একটি নমুনা PDF প্রস্তুত আছে যা আপনি আপলোড করতে পারেন এবং যার জন্য আপনি সারসংক্ষেপ করতে চান।
- ক্লাউড কনসোলে Google ক্লাউড স্টোরেজ- এ যান।
- <PROJECT_ID>_uploads বালতিতে যান। UPLOAD FILES লিঙ্কে ক্লিক করুন এবং একটি নমুনা PDF আপলোড করুন।
আপনার যদি একটি নমুনা PDF ফাইল না থাকে, তাহলে আপনি আমাদের তৈরি করা নমুনাগুলির একটি ব্যবহার করতে পারেন৷ ক্লাউড শেল থেকে, নিম্নলিখিত কমান্ডটি চালান:
gsutil cp \
gs://arxiv-dataset/arxiv/cmp-lg/pdf/9410/9410009v1.pdf \
gs://<PROJECT_ID>_uploads/
একবার ফাইলটি সফলভাবে আপলোড হয়ে গেলে, webhook
ক্লাউড ফাংশনটি চালু হবে এবং এটি নথিতে পাওয়া পাঠ্যটির সংক্ষিপ্তসার করবে। আউটপুট summary_dataset
নামে একটি BigQuery ডেটাসেটে এবং summary_table
টেবিলে লেখা হবে।
সারাংশের ফলাফল দেখতে টেবিলে প্রশ্ন করুন।
8. অ্যাপ্লিকেশনের জন্য একটি ওয়েব অ্যাপ্লিকেশন ক্লায়েন্ট তৈরি করুন
উপরের প্রক্রিয়াটি পিডিএফ আপলোড করার জন্য একটি ম্যানুয়াল ধাপে ধাপে প্রক্রিয়া যা আমরা সংক্ষিপ্ত করতে চাই। কিভাবে অ্যাপ্লিকেশন একটি ওয়েব ফ্রন্ট-এন্ড নির্মাণ সম্পর্কে?
ওয়েব ফ্রন্ট-এন্ডের প্রয়োজনীয়তাগুলি সহজ:
- একটি মৌলিক HTML ফর্ম যা আমাদের ফাইলটি নির্বাচন এবং আপলোড করার অনুমতি দেয়, যা সংক্ষিপ্ত করা প্রয়োজন।
- সফল আপলোডের ফাইলটি <PROJECT_ID>_uploads বালতিতে লেখা উচিত, যাতে বাকি কার্যকারিতা যেমন আছে তেমন কাজ করে।
আমরা ডুয়েট এআই-এর সহায়তায় এটি তৈরি করতে ওয়েব অ্যাপ্লিকেশনগুলির জন্য পাইথন এবং ফ্লাস্ক ফ্রেমওয়ার্ক ব্যবহার করব।
চলুন শুরু করা যাক. আমরা ধরে নেব যে আপনার কাছে এখনও ক্লাউড শেল IDE-তে একই ওয়ার্কস্পেস খোলা আছে।
সমস্ত ফাইল বন্ধ করুন এবং জেমিনি চ্যাট উইন্ডোতে নিম্নলিখিত প্রম্পট দিন:
Write a Python Flask application that has a couple of routes:
The root route / should serve the index.html page using the render_template framework. The /upload route should accept a file being uploaded and write that file to a Cloud Storage bucket.
আদর্শভাবে এটি নিম্নলিখিত হিসাবে কোড তৈরি করা উচিত:
from flask import Flask, render_template, request, redirect, url_for
from google.cloud import storage
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
filename = file.filename
bucket = storage.Client().bucket('your-bucket-name')
blob = bucket.blob(filename)
blob.upload_from_string(
file.read(),
content_type=file.content_type
)
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
উপরের কোডটিকে IDE ওয়ার্কস্পেসের রুটে app.py হিসাবে সংরক্ষণ করুন।
আমরা চাই যে অ্যাপ্লিকেশনটি পোর্ট 8080-এ চলুক এবং হোস্ট ঠিকানা 0.0.0.0 ব্যবহার করুক, তাই আসুন app.run স্টেটমেন্ট পরিবর্তন করার জন্য Gemini-কে অনুরোধ করি।
নিম্নলিখিত প্রম্পট দিন:
Modify the app.py to run on port 8080 and host address 0.0.0.0
আপনার কোড এখন এই মত হওয়া উচিত:
from flask import Flask, render_template, request, redirect, url_for
from google.cloud import storage
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
filename = file.filename
bucket = storage.Client().bucket('your-bucket-name')
blob = bucket.blob(filename)
blob.upload_from_string(
file.read(),
content_type=file.content_type
)
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8080)
পরবর্তীতে, আমরা চাই যে index.html ও তৈরি হোক। মিথুন চ্যাট উইন্ডোতে নিম্নলিখিত প্রম্পট দিন:
Provide the index.html file
এটি আপনাকে index.html এর জন্য নীচে দেওয়া কোড প্রদান করবে।
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<h1>File Upload</h1>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
</body>
</html>
index.html
ফাইলটি কোথায় সংরক্ষণ করতে হবে তা জানাতে আমরা Gemini কে বলতে পারি। নিম্নলিখিত প্রম্পট দিন:
Since this is using the render_template framework, where should this file be saved?
এটি একটি উত্তর দিতে হবে যা নিম্নলিখিত অনুরূপ:
এগিয়ে যান এবং রুট ফোল্ডারে টেমপ্লেট নামে একটি ফোল্ডার তৈরি করুন এবং তাতে index.html ফাইলটি সংরক্ষণ করুন।
Google ক্লাউড স্টোরেজ বালতিতে ফাইলটি সংরক্ষণ করা না গেলে আমরা app.py ফাইলে কিছু ব্যতিক্রম হ্যান্ডলিং চাই। app.py ফাইলটি খোলা রাখুন এবং জেমিনি চ্যাট উইন্ডোতে নিম্নলিখিত প্রম্পট দিন।
modify the app.py to have exception handling in the upload() function. The success or failure should be returned to the index page.
এটি এখন নীচে দেখানো হিসাবে কিছু ব্যতিক্রম হ্যান্ডলিং যোগ করা উচিত:
from flask import Flask, render_template, request, redirect, url_for
from google.cloud import storage
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
try:
file = request.files['file']
filename = file.filename
bucket = storage.Client().bucket('your-bucket-name')
blob = bucket.blob(filename)
blob.upload_from_string(
file.read(),
content_type=file.content_type
)
return redirect(url_for('index'))
except Exception as e:
return render_template('index.html', error=str(e))
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8080)
যেহেতু আমাদের index.html এ ত্রুটির বার্তা প্রদর্শন করতে হবে, তাই আমাদের এটিও সংশোধন করতে হবে। আসুন নীচের প্রম্পটের মাধ্যমে মিথুনকে তা করতে বলি:
update the index.html to display the error message
এটি নীচে দেখানো হিসাবে একটি আপডেট করা index.html দেওয়া উচিত:
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<h1>File Upload</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
</body>
</html>
নিশ্চিত করুন যে উপরের প্রতিটি ধাপে, আপনি যথাক্রমে app.py
এবং index.html
ফাইলের পরিবর্তনগুলি সংরক্ষণ করছেন৷
app.py
সঠিক বাকেটের নাম নেই এবং তাই আমরা সেই তথ্যটি Gemini কে দিতে পারি এবং পরিবর্তনগুলি করতে বলতে পারি। উপরন্তু, আমাদের storage.Client()
উদাহরণের জন্য প্রকল্প আইডি প্রদান করতে হবে। তাই জেমিনি চ্যাট উইন্ডোতে নিম্নলিখিত কয়েকটি প্রম্পট দিন (আপনার Google ক্লাউড প্রকল্প আইডি দিয়ে <PROJECT_ID>
প্রতিস্থাপন করুন) এবং পরিবর্তনগুলি অন্তর্ভুক্ত করুন:
প্রম্পট 1
My bucket name is gemini-for-devs-demo_uploads, please change the code to use that.
প্রম্পট 2
My project id is gemini-for-devs-demo, please change the storage.Client() to use that.
চূড়ান্ত app.py
ফাইলটি দেখতে এইরকম (আমার প্রকল্প আইডি নীচে দেখানো হয়েছে, তবে এটি আদর্শভাবে এমন হওয়া উচিত যার সাথে আপনি কাজ করছেন এবং যা আপনি উপরের প্রম্পটে দিয়েছেন):
from flask import Flask, render_template, request, redirect, url_for
from google.cloud import storage
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
try:
file = request.files['file']
filename = file.filename
bucket = storage.Client(project='gcp-experiments-349209').bucket('gcp-experiments-349209_uploads')
blob = bucket.blob(filename)
blob.upload_from_string(
file.read(),
content_type=file.content_type
)
return redirect(url_for('index'))
except Exception as e:
return render_template('index.html', error=str(e))
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8080)
9. স্থানীয়ভাবে ওয়েব অ্যাপ্লিকেশন চালান
Requiments.txt ফাইলে সংজ্ঞায়িত নির্ভরতা সহ একটি পাইথন পরিবেশ তৈরি করুন। নীচে দেখানো হিসাবে ক্লাউড শেল IDE-তে কমান্ড প্যালেটে যান:
Python: Create Environment
এবং তারপরে (venv), তারপর Python 3.x ইন্টারপ্রেটার এবং requirements.txt
ফাইল ব্যবহার করে একটি ভার্চুয়াল এনভায়রনমেন্ট তৈরি করার ধাপগুলি দিয়ে যান। এটি প্রয়োজনীয় পরিবেশ তৈরি করবে।
এখন টার্মিনাল চালু করুন, নীচে দেখানো হিসাবে:
টার্মিনালে নিম্নলিখিত কমান্ড দিন:
python app.py
ফ্লাস্ক অ্যাপটি চালু করা উচিত এবং আপনার এরকম কিছু দেখতে হবে:
(.venv) romin@cloudshell:~/webhook-2 (gcp-experiments-349209)$ python app.py
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8080
* Running on http://10.88.0.3:8080
Press CTRL+C to quit
* Restarting with watchdog (inotify)
* Debugger is active!
* Debugger PIN: 989-296-833
http://127.0.0.1:8080 URL-এ যান এবং এটি index.html
পৃষ্ঠাটি প্রদর্শন করবে
আপনার স্থানীয় মেশিন থেকে একটি ফাইল আপলোড করুন এবং এটি সফলভাবে প্রক্রিয়া করা উচিত।
আপনি BigQuery ডেটাসেট এবং টেবিলে গিয়ে সারসংক্ষেপ পরীক্ষা করতে পারেন যা আমরা আগে ল্যাবে দেখেছি। বিকল্পভাবে, আপনি ক্লাউড স্টোরেজ বালতি ( <PROJECT_ID>_output ) পরীক্ষা করে দেখতে পারেন।
10. (ঐচ্ছিক) ওপেন এক্সপ্লোরেশন - ক্লাউড রানে স্থাপন করুন
- আপনি ক্লাউড রানে অ্যাপ্লিকেশনটি স্থাপন করতে পারেন।
- নিচের প্রম্পটের সাথে জেমিনি কোড অ্যাসিস্টকে জিজ্ঞাসা করুন (উপরের প্রম্পটের কয়েকটি বৈচিত্র চেষ্টা করতে হতে পারে):
I don't want to build a container image but deploy directly from source. What is the gcloud command for that?
11. (ঐচ্ছিক) ওপেন এক্সপ্লোরেশন - CSS শৈলী যোগ করুন
- আপনার অ্যাপ্লিকেশনে CSS শৈলী যোগ করতে জেমিনি কোড অ্যাসিস্ট এবং ইন-এডিটর সহকারী ব্যবহার করুন এবং আপনার কাজ শেষ হয়ে গেলে আবার অ্যাপ্লিকেশনটি স্থাপন করুন!
-
index.html
ফাইলটি খুলুন এবং জেমিনি চ্যাটে নিম্নলিখিত প্রম্পট দিন:Can you apply material design styles to this index.html?
- কোডটি দেখুন এবং দেখুন এটি কাজ করে কিনা।
12. অভিনন্দন!
অভিনন্দন - আপনি সফলভাবে জেমিনি কোড অ্যাসিস্টের সাথে একটি নমুনা প্রকল্পে কাজ করেছেন যে এটি কীভাবে কোড জেনারেশন, কোড সমাপ্তি, কোড সংক্ষিপ্তকরণে সহায়তা করতে পারে এবং Google ক্লাউড সম্পর্কে প্রশ্নের উত্তর পেতে আপনাকে সাহায্য করতে পারে।