14 নভেম্বর, 2024
Gemini API এর সাথে AI চালিত বিকাশকারী সরঞ্জামগুলিকে উন্নত করা
গত এক বছরে AI-এর গণতন্ত্রীকরণ ডেভেলপারদের জন্য দুটি বড় সুযোগ খুলে দিয়েছে - এটি তাদের প্রকল্পগুলিতে অত্যাধুনিক AI-কে একীভূত করা এবং তাদের উন্নয়ন প্রক্রিয়ায় AI-চালিত দক্ষতাগুলিকে অবিশ্বাস্যভাবে সহজ করে তুলেছে।
Sublayer , একটি রুবি ভিত্তিক AI এজেন্ট ফ্রেমওয়ার্ক, আমাদের 1.5 মডেলগুলিকে তাদের মূল বিকাশকারী অফারে এবং সেইসাথে তাদের নিজস্ব টুলিং ওয়ার্কফ্লোগুলির মধ্যে একীভূত করে Gemini API-এর শক্তি এবং দক্ষতা প্রদর্শন করে৷
মিথুনের সাথে সাবলেয়ার ডকুমেন্টেশন আপ-টু-ডেট রাখা
ডেভেলপারদের জন্য AI এর সাথে একটি সুযোগ হল দলগুলিকে, বিশেষত ছোট, প্রাথমিক পর্যায়ের স্টার্টআপগুলির মধ্যে, কম দিয়ে আরও কিছু করতে সক্ষম করা। অনেকের জন্য, এটি ডকুমেন্টেশনের মতো সহজ কিন্তু গুরুত্বপূর্ণ কিছু হতে পারে। তাদের নিজস্ব কর্মপ্রবাহে, Sublayer তাদের লাইব্রেরি Gemini 1.5 Pro-এর সাথে একীভূত করে এবং তাদের ডকুমেন্টেশন আপ টু ডেট রাখার এবং উন্নতির ক্ষেত্রগুলি চিহ্নিত করার কাজকে সমর্থন করার জন্য AI অটোমেশন তৈরি করে এটি মোকাবেলা করে।
"এটি সব ঘটেছে কারণ জেমিনীর বিশাল প্রসঙ্গ উইন্ডোটি আপনাকে সামনে জটিল, অপ্টিমাইজ করা বাস্তবায়নে আটকা না পড়ে নতুন ধারণাগুলি চেষ্টা করার জন্য শ্বাস নেওয়ার জায়গা দেয়"
প্রক্রিয়া এই মত কাজ করে:
যে কোনো সময় একটি PR প্রধান সাবলেয়ার সংগ্রহস্থলে একত্রিত হয়, এটি একটি এজেন্টকে ডকুমেন্টেশন আপডেট করার জন্য কাজ করতে ট্রিগার করে।
এজেন্ট একটি প্রম্পট তৈরি করে যাতে লাইব্রেরির সম্পূর্ণ বিষয়বস্তু, ডকুমেন্টেশনের সম্পূর্ণ বিষয়বস্তু এবং PR-এর সমস্ত প্রাসঙ্গিক বিষয়বস্তু সহ টাস্ক ব্যাখ্যা করার নির্দেশাবলী থাকে এবং এটি মিথুনকে পাঠায়।
Gemini তারপর ফাইল পাথ, নাম এবং বিষয়বস্তু সমন্বিত কাঠামোগত আউটপুট দিয়ে প্রতিক্রিয়া জানায় যা Sublayer লাইব্রেরি ব্যবহার করার জন্য একটি বস্তুতে রূপান্তর করে।
অবশেষে, এজেন্ট তার প্রাপ্ত কাঠামোগত তথ্য নেয় এবং একটি নতুন শাখা তৈরি করতে, ফাইলগুলিতে অনুরোধ করা পরিবর্তনগুলি করতে এবং একটি নতুন PR জমা দিতে এটি ব্যবহার করে।
# Get the diff from the PR
diff = GithubGetDiffAction.new(repo: repo, pr_number: pr_number).call
# Get the contents of the library repository and docs repository
code_context = GetContextAction.new(path: code_repo_path).call
doc_context = GetContextAction.new(path: doc_repo_path).call
# Use Gemini 1.5 Pro to decide whether this PR requires a documentation update
result = DocUpdateNecessityGenerator.new(
code_context: code_context,
doc_context: doc_context,
diff: diff
).generate
# Use Gemini 1.5 Pro to generate suggested changes to the documentation
doc_update_suggestions = DocUpdateSuggestionGenerator.new(
code_context: code_context,
doc_context: doc_context,
context_ignore_list: context_ignore_list,
diff: diff
).generate
# Use Gemini 1.5 Pro to generate the changes to the suggested files
file_updates = DocUpdateGenerator.new(
code_context: code_context,
suggestions: suggestions,
doc_context: doc_context,
context_ignore_list: context_ignore_list
).generate
# Update each of the files returned by Gemini 1.5 Pro and create a new PR
Sublayer এর ওপেন সোর্স উদাহরণে সম্পূর্ণ ওয়ার্কফ্লো কোড দেখুন
এই প্রথম প্রকল্পের সাফল্যের পর তারা এজেন্টদের মধ্যে আরও প্রসারিত হয়েছে যারা তাদের নথির একটি নির্দিষ্ট ক্যাটালগ পৃষ্ঠা আপ টু ডেট রাখার উপর ফোকাস করার জন্য পৃথক সংস্থান সংগ্রহস্থলগুলি নিরীক্ষণ করে। এমনকী একটি অনুরূপ কাজ যা রাতারাতি চলে যেখানে জেমিনি বর্তমান ডকুমেন্টেশন বিশ্লেষণ করে, উন্নতির কয়েকটি ক্ষেত্র চিহ্নিত করে, প্রভাবের উপর ভিত্তি করে সেগুলিকে র্যাঙ্ক করে এবং প্রতিদিন সকালে ঘুম থেকে উঠে পর্যালোচনা করার জন্য একটি একক পিআর তৈরি করে।
মিথুন মডেলের সাথে রুবি ডেভেলপার সম্প্রদায়ের কাছে AI নিয়ে আসা
তাদের নিজস্ব বিকাশকারী অবকাঠামো এবং টুলিংকে আরও দক্ষ করার বাইরে, সাবলেয়ার তাদের মূল পণ্য কার্যকারিতার মধ্যে জেমিনি মডেলগুলিকে সমর্থন করে।
সাবলেয়ারের লক্ষ্য হল উচ্চাভিলাষী প্রকল্পগুলি মোকাবেলা করার জন্য স্বতন্ত্র বিকাশকারী এবং ছোট দলকে ক্ষমতায়ন করা যা আগে খরচ বা জটিলতার কারণে নাগালের বাইরে ছিল। তারা ক্লান্তিকর, সময় সাপেক্ষ এবং পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করার দিকে মনোনিবেশ করছে - AI এর জন্য নিখুঁত ব্যবহারের ক্ষেত্রে। এটি বৃহৎ-স্কেল কোড স্থানান্তর থেকে শুরু করে, যেখানে অনুরূপ ক্রিয়াকলাপগুলিকে হাজার হাজার বার পুনরাবৃত্তি করতে হবে, একটি চেকলিস্টের ছোট ছোট কাজগুলিকে স্বয়ংক্রিয় করার মাধ্যমে অর্জন করা প্রতিদিনের কার্যকারিতা যা সময় এবং শক্তি নিষ্কাশন করে।
সাবলেয়ারের জন্য একটি প্রাথমিক চ্যালেঞ্জ হল রুবি ডেভেলপার সম্প্রদায়কে সমর্থন করা, যেটি এআই ইকোসিস্টেমে তুলনামূলকভাবে কম পরিচর্যা করা হয়েছে। মিথুনকে একীভূত করার ফলে তারা তাদের টুলের মধ্যে মিথুন সমর্থনের ক্রমবর্ধমান চাহিদা মেটাতে পেরেছে। সাবলেয়ারের জেমিনি বাস্তবায়ন অত্যন্ত দক্ষ, তাদের বিমূর্তকরণ স্তরের জন্য কোডের মাত্র 60 লাইনের প্রয়োজন। তারা কাঠামোগত আউটপুট ব্যবহার করে, একক-পালা পুনরাবৃত্তি প্রক্রিয়ায় মডেলের সাথে ইন্টারঅ্যাক্ট করে। এই পদ্ধতিটি উন্নয়ন এবং ডিবাগিংকে সহজ করে, ডেভেলপারদের শক্তিশালী অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।
"এলএলএম-ভিত্তিক অ্যাপগুলি তৈরি করার সময়, সমস্যাটিকে সম্ভাব্য ক্ষুদ্রতম উপাদানগুলিতে ভেঙে ফেলুন," ওয়ার্নার পরামর্শ দেন৷ "আপনি আপনার প্রোগ্রামগুলি ডিজাইন করতে চান যে কোনও মডেল আউটপুটকে কার্যকরভাবে পরিচালনা করার জন্য, যার অর্থ হতে পারে ইচ্ছাকৃতভাবে একজন ব্যক্তির পর্যালোচনা এবং সম্পাদনা করার জন্য পদক্ষেপগুলি যোগ করার আগে এগিয়ে যাওয়ার আগে।"
এলএলএম, এআই পরিকাঠামোর ধাঁধার একটি মূল অংশ
সাবলেয়ারের কাছে, জেমিনীর মতো এলএলএমগুলি ডেটাবেসের মতো অবকাঠামোর অপরিহার্য অংশ। তাদের ফ্রেমওয়ার্কটি জেমিনি 1.5 প্রো এবং জেমিনি 1.5 ফ্ল্যাশ উভয়ের সাথে নির্বিঘ্নে কলগুলিকে একীভূত করার জন্য ডিজাইন করা হয়েছে, কাঠামোগত ডেটা পুনরুদ্ধার করে যা বিকাশকারীরা তাদের অ্যাপ্লিকেশনগুলিতে সহজেই ব্যবহার করতে পারে। এই পদ্ধতিটি সম্ভাবনার একটি বিশ্ব উন্মুক্ত করে, বিভিন্ন ডেটা উত্স থেকে অন্তর্দৃষ্টি আহরণ থেকে কোড তৈরি করা এবং ভাষা এবং লাইব্রেরি জুড়ে কোডবেস রূপান্তর করা। Sublayer এমনকি ব্যবহারকারীদের ফ্রেমওয়ার্কের মধ্যেই নতুন কার্যকরী উপাদান তৈরি করতে সক্ষম করতে মিথুন মডেল ব্যবহার করে। এই "স্ব-একত্রিত" বৈশিষ্ট্য পরীক্ষা-নিরীক্ষাকে উৎসাহিত করে এবং ব্যবহারকারীদের দ্রুত অভিনব ধারণাগুলি অন্বেষণ করতে দেয়৷
"জেমিনি আমাদের ফ্রেমওয়ার্ককে সহজ করার জন্য ডিজাইন করা হয়েছে এমন সমস্ত সমস্যা সমাধানে দুর্দান্ত - কোড তৈরি করা, টাস্ক পচন করা, নির্দেশাবলী অনুসরণ করা এবং উদাহরণের ভিত্তিতে নতুন ডেটা স্ট্রাকচার তৈরি করা"
এরপর কি
সামনের দিকে তাকিয়ে, Sublayer Augmentations.ai চালু করার জন্য প্রস্তুত হচ্ছে, একটি প্ল্যাটফর্ম যা তাদের তৈরি করা অটোমেশনগুলি সমস্ত ডেভেলপমেন্ট টিমের জন্য উপলব্ধ করে৷ তাদের প্রাথমিক রিলিজে জেমিনি 1.5 প্রো দ্বারা চালিত দুটি সরঞ্জাম থাকবে: শব্দার্থিক লিন্টিং, যা দলগুলিকে এআই-চালিত কোড পর্যালোচনা নিয়ম তৈরি করতে দেয় যা প্রসঙ্গ বোঝে এবং বিকশিত সর্বোত্তম অনুশীলনগুলি প্রয়োগ করে এবং সাপ্তাহিক সারাংশ, যা একাধিক সংগ্রহস্থল এবং পণ্য ব্যবস্থাপনা জুড়ে উন্নয়ন কার্যকলাপকে পরিণত করে। নেতৃত্বের জন্য কার্যযোগ্য অন্তর্দৃষ্টিতে সরঞ্জাম।
তারা আরও জটিল কাজের জন্য জেমিনি 1.5 প্রো এবং আরও লেটেন্সি-সংবেদনশীল, ব্যবহারকারী-মুখী, কার্যকারিতার জন্য জেমিনি 1.5 ফ্ল্যাশের মিশ্রণ ব্যবহার চালিয়ে যাওয়ার পরিকল্পনা করেছে কারণ তারা অগমেন্টেশন প্ল্যাটফর্মে আরও সরঞ্জাম প্রকাশ করে। এই কাজটি তাদের ওপেন সোর্স ফ্রেমওয়ার্কের মধ্যেও ফিরে আসবে, রুবি সম্প্রদায়কে নতুন জেমিনি কার্যকারিতার সুবিধা নিতে সক্ষম করে যখন এটি বেরিয়ে আসে, যখন সাবলেয়ার টিমের বাস্তব-বিশ্ব ব্যবহার দ্বারা চালিত হয়।
সাবলেয়ারের গল্প জেমিনি API-এর রূপান্তরকারী সম্ভাব্যতা প্রদর্শন করে। এটি একটি প্রমাণ যে ডেভেলপাররা তাদের কর্মপ্রবাহে মিথুনকে কতটা সহজে একীভূত করতে পারে, উদ্ভাবন এবং অটোমেশনের সুযোগের একটি জগত খুলে দেয়। জেমিনি মডেলের সাথে বিল্ডিং শুরু করতে, আমাদের API ডকুমেন্টেশন পড়ুন।