আমরা কয়েক সপ্তাহ ধরে কৃত্রিম বুদ্ধিমত্তা এবং প্রাকৃতিক ভাষা প্রক্রিয়াকরণ সম্পর্কে - এবং বিশেষ করে OpenAI-এর GPT-এর সর্বশেষ সংস্করণ সম্পর্কে অনেক কিছু শুনছি।
GPT 3.5 এর সাম্প্রতিক রিলিজ, এবং বিশেষ করে খুব নতুন ChatGPT টুল, অবশ্যই একটি বিশাল লাফ ফরওয়ার্ড।
আপনি হয়তো পড়েছেন যে লোকেরা AI কে রিয়েল এস্টেট চুক্তি এবং উইল তৈরি করতে এবং এমনকি প্রোগ্রামিং কোড তৈরি করতে বলে। এই নিবন্ধটি একটু ভিন্ন দৃষ্টিকোণ থেকে টুলটির সাথে যোগাযোগ করে।
আপনি যদি আপনার শেখার পরিপূরক হিসাবে এটি ব্যবহার করতে চান তবে আপনি এখানে এই নিবন্ধটির একটি ভিডিও সংস্করণ দেখতে পারেন:
আমি ChatGPT কীভাবে লিনাক্স ব্যাশ স্ক্রিপ্টিং পরিচালনা করে তা দেখার সিদ্ধান্ত নিয়েছি। কিন্তু (স্পয়লার অ্যালার্ট!) আমি টুলের পরামর্শগুলির মাধ্যমে কাজ করার সাথে সাথে - ভাল কোড এবং খারাপ কোড উভয়ই - আমি বুঝতে শুরু করেছি যে একটি আরও শক্তিশালী সুবিধা রয়েছে যা আমাকে মুখের দিকে তাকাচ্ছে: একটি বিশিষ্টভাবে সহায়ক অংশীদারের সাথে জোড়া-প্রোগ্রাম করার সুযোগ .
এআই শেষ পর্যন্ত আমার সমস্যার সমাধান করতে ব্যর্থ হয়েছে, কিন্তু যেভাবে এটি ব্যর্থ হয়েছে তা ছিল একেবারে চিত্তাকর্ষক। এবং নতুন উত্তরের জন্য এআই অনুসন্ধান করা একেবারে পাগল ছিল।
তো চলুন দেখা যাক কিভাবে সব হয়েছে। এখানে, কমবেশি, প্রাথমিক প্রম্পট যা আমি AI কে প্রদান করেছি:
আমাকে একটি ব্যাশ স্ক্রিপ্ট লিখুন যা একটি YouTube ভিডিওর URL এর জন্য অনুরোধ করে এবং তারপর সেই URL থেকে ডাউনলোড করতে yt-dlp প্রোগ্রাম ব্যবহার করে৷ স্ক্রিপ্টটি তখন ফাইলের নাম পরিবর্তন করে "myvideo.mp4" এ
কয়েক সেকেন্ড পর, চ্যাটজিপিটি আমাকে বলল যে একটি স্ক্রিপ্ট আসছে। এই কোডটি দেখতে কেমন ছিল তা এখানে:
#!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Download video from YouTube using yt-dlp yt-dlp $url # Get the name of the downloaded video file yt-dlp $url # Change the downloaded video filename to "myvideo.mkv" mv video-filename.mp4 myvideo.mp4
এআই স্পষ্টতই জানে যে ব্যাশ স্ক্রিপ্টগুলি কী এবং কীভাবে কোড উপস্থাপন করতে হয়। এমনকি কোডের প্রতিটি লাইন মন্তব্য করে এটি একটি দুর্দান্ত কাজ করেছে। AI জানে কিভাবে সঠিকভাবে ব্যবহারকারীকে ইনপুটের জন্য প্রম্পট করতে হয় এবং তারপর কিভাবে ইনপুট স্ট্রিংটিকে url
নামক একটি ভেরিয়েবলে আমদানি করতে হয়।
এটি yt-dlp প্রোগ্রাম এবং এটি কীভাবে কাজ করে সে সম্পর্কেও জানে, এটি প্রদান করা URLটি যথাযথভাবে প্রদান করে। তারপরে এটি কমপক্ষে ডাউনলোড করা ভিডিও ফাইলটির নাম পরিবর্তন করে myvideo.mp4 করার চেষ্টা করেছে। কিন্তু সবকিছু ভেঙ্গে গেল যখন ধরে নিলাম ডাউনলোড ফাইলের নাম হবে video-filename.mp4। উফফফ
যাই হোক না কেন, এআই সাহায্যের সাথে আমাকে দেখিয়েছে কিভাবে তার কোড থেকে স্ক্রিপ্ট তৈরি করতে হয় এবং তারপরে এটি চালাতে হয়।
আমার প্রথম ফলো-আপ প্রম্পট স্পষ্ট ভুলটি নির্দেশ করে এবং কয়েক সেকেন্ড পরে, ChatGPT স্বীকার করে যে এটি ভুল ছিল এবং একটি উন্নতির প্রস্তাব দিয়েছে।
আপনি ঠিক বলেছেন, আমার দেওয়া স্ক্রিপ্টটি প্রত্যাশা অনুযায়ী কাজ করবে না কারণ এটি ধরে নেয় যে ডাউনলোড করা ভিডিওটি
video-filename.mp4
নামের একটি ফাইলে সংরক্ষণ করা হবে। যাইহোক, এই ক্ষেত্রে নিশ্চিত করা হয় না. এটা ঠিক করতে...
এখানে এআই কীভাবে সম্পূর্ণভাবে প্রক্রিয়ায় নিযুক্ত রয়েছে তা কেবলই মন ছুঁয়ে যাওয়ার মতো। এটি তার প্রথম কোড মনে রাখে, আমার অভিযোগ শোনে এবং বোঝে এবং সমাধানের মাধ্যমে চিন্তা করে। এখানে সেই দ্বিতীয় প্রচেষ্টা:
#!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Download video from YouTube using yt-dlp yt-dlp $url # Get the name of the downloaded video file filename=$(basename $url) # Change the downloaded video filename to "myvideo.mkv" mv $filename.mp4 myvideo.mp4
ঠিক আছে, তাই আমি দেখতে পাচ্ছি কিভাবে সমাধান ধরনের সঠিক লাগছিল। basename
হল একটি লিনাক্স টুল যা ফাইল সিস্টেম ডিরেক্টরিগুলিকে বের করে দিতে পারে এবং প্রকৃত ফাইলের নাম ছাড়া আর কিছুই ছাড়তে পারে না।
সমস্যা হল যে পরিবর্তনশীল url
একটি স্থানীয় ফাইলের নাম নেই, কিন্তু একটি ইন্টারনেট ঠিকানা। এই এক স্পষ্টভাবে কাজ করা যাচ্ছে না.
তাই আমি আবার চেষ্টা করেছি, ব্যাখ্যা করেছি কিভাবে এটি কাজের জন্য সঠিক হাতিয়ার ছিল না। এবং ChatGPT এটি আবার চেষ্টা করে।
#!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Extract the filename from the URL filename=$(basename $url) # Download the video using the yt-dlp tool and specify the filename yt-dlp -o $filename $url # Change the downloaded video filename to "myvideo.mkv" mv $filename.mp4 myvideo.mp4
এই সময়, এটি দেখায় যে এটি নিজেকে yt-dlp ডকুমেন্টেশনের সাথে পরিচিত করেছে, পরামর্শ দেয় যে আমরা ডাউনলোডিং ভিডিওটিকে একটি নাম দিতে -o
যুক্তি ব্যবহার করি, যার বিরুদ্ধে এখন basename
কাজ করা উচিত। প্রতিটি পুনরাবৃত্তির সাথে, AI আমাকে আমার কাটা এবং পেস্ট করার আনন্দের জন্য এই আপডেট করা কোডটি দেয়।
অবশ্যই, এটিও কাজ করতে যাচ্ছিল না। পরবর্তী প্রচেষ্টার সাথে, আমি অনুভব করি যে এআই কিছুটা মরিয়া।
আমি পরবর্তী প্রয়াস এড়িয়ে যেতে যাচ্ছি, কারণ আমরা একটি পার্শ্ব সমস্যায় পড়েছিলাম: YouTube থেকে আসা ভিডিওগুলি সবসময় MP4 হয় না, সেগুলি কখনও কখনও MKV বা এমনকি WEBM হয়৷ এই অনিশ্চয়তা আমরা যে ফাইলের সাথে কাজ করছি তার সাথে তালগোল পাকিয়ে ফেলতে পারে, তাই আমি ChatGPT কে কোডটিতে কাজ করতে বলেছি।
#!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Extract the filename from the URL filename=$(basename $url) # Download the video using the yt-dlp tool and specify the filename yt-dlp -F mp4 -O $filename $url # Change the downloaded video filename to "myvideo.mkv" mv $filename.mp4 myvideo.mp4
যখন আমি রিপোর্ট করেছি যে কীভাবে এটিও কাজ করবে না, তখন এআই বিভ্রান্ত হতে শুরু করে। প্রথমে এটি আমাকে বলেছিল যে -F
বিকল্পটি একটি বৈধ ভিডিও বিন্যাস আশা করছে, কিন্তু সেই "mp4" বৈধ ছিল না। তারপর এটি আমাকে "mp4" সহ বৈধ বিকল্প দেয়।
যখন এআই-এর প্রস্তাবিত কিছুই কাজ করেনি, তখন এটি ছেড়ে দিয়েছিল, আমাকে নিশ্চিত করতে পরামর্শ দিয়েছিল যে আমার মেশিনে yt-dlp আসলে ইনস্টল করা হয়েছে এবং আমাকে কীভাবে তা করতে হবে তা দেখায়।
আমি ভেবেছিলাম যে হাল ছেড়ে দেওয়ার একটি ভাল সময় ছিল। এটি একটি আশ্চর্যজনকভাবে ভাল প্রচেষ্টা ছিল এবং এটি সমস্যার সমাধান না করলেও, এটি আমাকে কিছু দরকারী সিনট্যাক্স দেখায় এবং আমাকে ভাবতে বাধ্য করেছিল।
যদি আপনি আগ্রহী হন, যাইহোক, এখানে একটি বাস্তব কাজের স্ক্রিপ্ট কেমন দেখাবে।
#!/bin/bash # Prompt user for YouTube video URL read -p "Enter YouTube video URL: " url # Download video from YouTube using yt-dlp yt-dlp $url # Get the name of the downloaded video file original_filename=$(ls | awk '/mp4/ || /webm/ || /mkv/') # Change the downloaded video filename to "myvideo.mkv" mv "$original_filename" /home/ubuntu/vids/myvideo.mp4
কোডের প্রথম দুটি লাইন ChatGPT এর প্রস্তাবিত উপায়। কিন্তু আমি তখন বর্তমান ডিরেক্টরিতে সমস্ত ফাইল তালিকাবদ্ধ করে এবং mp4, webm, বা mkv ধারণকারী ফাইলের জন্য ফিল্টার করার জন্য awk
ব্যবহার করে ফাইলের নামটি আলাদা করি। (এটি অনুমান করে যে ডিরেক্টরিতে একবারে একাধিক ভিডিও ফাইল থাকবে না।)
ফাইলের নামটি তারপরে original_filename
ভেরিয়েবলে লেখা হবে। তারপরে আমি ফাইলটি myvideo.mp4
রিনেম করার জন্য একটি move
কমান্ডের অংশ হিসাবে সেই ভেরিয়েবলটি ব্যবহার করব যতদূর আমি বলতে পারি, এটি আসলে যে ফরম্যাটটি পাঠানো হয়েছিল তা বিবেচনা না করেই কাজ করবে।
কৃত্রিম বুদ্ধিমত্তা আজ বাস্তব-বিশ্বের প্রোগ্রামিং কাজগুলির জন্য পুরোপুরি প্রস্তুত নাও হতে পারে, তবে আমি এটি আগামীকাল... বা পরের বছর কিছু সময় পাওয়ার বিরুদ্ধে বাজি ধরতে চাই না।
যদিও এর মধ্যে, যখনই আপনি একটি চ্যালেঞ্জিং প্রোগ্রামিং টাস্কের মুখোমুখি হন তখন আমি ChatGPT-এর মতো সরঞ্জামগুলির সাথে জড়িত থাকার পরামর্শ দেব।
দুটি মন (প্রায়) সর্বদা একের চেয়ে ভাল।
হ্যাকারনুন এআই প্রম্পটের মাধ্যমে তৈরি করা বৈশিষ্ট্যযুক্ত চিত্র "একটি এআই রোবট একটি ব্যাশ পার্টি নিক্ষেপ করছে।"
আমার ইউটিউব চ্যানেল ছাড়াও (যেটিতে আপনি সাবস্ক্রাইব করতে পারেন), আমার ওয়েবসাইটটি নিবন্ধ, বই এবং কোর্স হিসাবে উপলব্ধ সমস্ত ধরণের প্রযুক্তিগত কল্যাণের লিঙ্ক রয়েছে।
এছাড়াও এখানে প্রকাশিত.