14 نوامبر 2024
تقویت ابزارهای توسعه دهنده با هوش مصنوعی با Gemini API
دموکراتیزه کردن هوش مصنوعی در سال گذشته دو فرصت بزرگ را برای توسعه دهندگان ایجاد کرده است - ادغام هوش مصنوعی پیشرفته در پروژه های خود را بسیار آسان کرده و کارایی های مبتنی بر هوش مصنوعی را در فرآیند توسعه خود به ارمغان می آورد.
Sublayer ، یک چارچوب عامل هوش مصنوعی مبتنی بر روبی، قدرت و کارایی Gemini API را با ادغام مدلهای 1.5 ما در پیشنهاد توسعهدهنده اصلی خود و همچنین در جریان کار ابزار خود نشان میدهد.
به روز نگه داشتن اسناد Sublayer با Gemini
یکی از فرصتهای هوش مصنوعی برای توسعهدهندگان این است که تیمها، بهویژه در استارتآپهای کوچک و اولیه، بتوانند کارهای بیشتری را با کمترین هزینه انجام دهند. برای بسیاری، این می تواند در چیزی ساده و در عین حال حیاتی مانند مستندسازی باشد. در جریان کاری خود، Sublayer با ادغام کتابخانه خود با Gemini 1.5 Pro و ساخت اتوماسیون های هوش مصنوعی برای پشتیبانی از کار به روز نگه داشتن اسناد خود و شناسایی مناطق بهبود یافته، با این موضوع مقابله می کند.
"همه اینها به این دلیل اتفاق افتاد که پنجره زمینه عظیم Gemini واقعاً به شما اتاق تنفس می دهد تا ایده های جدید را بدون گرفتار شدن در پیاده سازی های پیچیده و بهینه از قبل امتحان کنید."
فرآیند به این صورت عمل می کند:
هر زمان که یک PR در مخزن اصلی Sublayer ادغام میشود، عاملی را تحریک میکند تا کار بهروزرسانی اسناد را آغاز کند.
عامل اعلانی را ایجاد می کند که شامل کل محتوای کتابخانه، کل محتوای اسناد، و تمام محتویات مرتبط روابط عمومی به همراه دستورالعمل هایی است که وظیفه را توضیح می دهد و آن را برای Gemini ارسال می کند.
سپس 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 مشاهده کنید
پس از موفقیت این پروژه اول، آنها به نمایندگیهایی که مخازن منابع جداگانه را نظارت میکنند تا روی بهروز نگهداشتن یک صفحه کاتالوگ خاص از اسناد خود تمرکز کنند، گسترش بیشتری یافتهاند. حتی کار مشابهی وجود دارد که یک شبه اجرا میشود که در آن Gemini اسناد فعلی را تجزیه و تحلیل میکند، چند حوزه بهبود را شناسایی میکند، آنها را بر اساس تأثیر رتبهبندی میکند و یک PR واحد برای تیم Sublayer ایجاد میکند تا هر روز صبح بیدار شوند و بررسی کنند.
آوردن هوش مصنوعی به جامعه توسعه دهندگان روبی با مدل های Gemini
سابلایر علاوه بر کارآمدتر کردن زیرساختهای توسعهدهنده و ابزار، از مدلهای Gemini در عملکرد محصول اصلی خود نیز پشتیبانی میکند.
ماموریت Sublayer توانمندسازی توسعه دهندگان فردی و تیم های کوچک برای مقابله با پروژه های بلندپروازانه ای است که قبلاً به دلیل هزینه یا پیچیدگی دور از دسترس بودند. آنها روی خودکارسازی کارهای خسته کننده، وقت گیر و تکراری متمرکز شده اند - مورد استفاده عالی برای هوش مصنوعی. این می تواند از انتقال کد در مقیاس بزرگ، که در آن عملیات مشابه باید هزاران بار تکرار شود، تا کارایی روزانه که با خودکار کردن کارهای کوچک در یک چک لیست به دست می آید که زمان و انرژی را تخلیه می کند، متغیر باشد.
چالش اصلی Sublayer پشتیبانی از جامعه توسعه دهندگان Ruby است که در اکوسیستم هوش مصنوعی نسبتاً مورد استفاده قرار نگرفته است. ادغام Gemini به آنها اجازه داد تا تقاضای فزاینده برای پشتیبانی Gemini را در ابزارهای خود برآورده کنند. پیاده سازی زیرلایه Gemini بسیار کارآمد است و به لطف لایه انتزاعی خود، تنها به حدود 60 خط کد نیاز دارد. آنها از خروجی های ساخت یافته استفاده می کنند و با مدل ها در یک فرآیند تکراری تک نوبتی تعامل دارند. این رویکرد توسعه و اشکال زدایی را ساده می کند و به توسعه دهندگان کمک می کند تا برنامه های کاربردی قوی بسازند.
ورنر توصیه میکند: «هنگام ساخت اپلیکیشنهای مبتنی بر LLM، مشکل را به کوچکترین اجزای ممکن تقسیم کنید. "شما می خواهید برنامه های خود را طوری طراحی کنید که هر خروجی مدل را به طور موثر مدیریت کند، که حتی ممکن است به معنای اضافه کردن عمدی مراحل برای بازبینی و ویرایش قبل از حرکت برای شخص باشد."
LLMs، بخش اصلی پازل زیرساخت هوش مصنوعی
برای Sublayer، LLMهایی مانند Gemini قطعات ضروری زیرساخت، شبیه به پایگاه داده هستند. چارچوب آنها به گونه ای طراحی شده است که به طور یکپارچه تماس ها را با Gemini 1.5 Pro و Gemini 1.5 Flash یکپارچه کند و داده های ساختاری را بازیابی کند که توسعه دهندگان می توانند به راحتی در برنامه های خود از آنها استفاده کنند. این رویکرد دنیایی از امکانات را باز می کند، از استخراج بینش از منابع داده های متنوع گرفته تا تولید کد و تبدیل پایگاه های کد در زبان ها و کتابخانه ها. Sublayer حتی از مدلهای Gemini استفاده میکند تا کاربران را قادر میسازد تا اجزای عملکردی جدیدی را در خود چارچوب تولید کنند. این ویژگی "خودآرایی" آزمایش را تشویق می کند و به کاربران امکان می دهد ایده های جدید را به سرعت کشف کنند.
Gemini در حل تمام مشکلاتی که چارچوب ما برای آسان کردن طراحی شده است عالی است - تولید کد، تجزیه کار، پیروی از دستورالعملها و تولید ساختارهای داده جدید بر اساس مثالها.
بعدش چی
با نگاهی به آینده، Sublayer آماده راهاندازی Augmentations.ai است، پلتفرمی که اتوماسیونهایی را که ایجاد میکنند در دسترس همه تیمهای توسعه قرار میدهد. نسخه اولیه آنها دارای دو ابزار مجهز به Gemini 1.5 Pro است: Semantic Linting، که به تیمها اجازه میدهد قوانین بررسی کد مبتنی بر هوش مصنوعی را ایجاد کنند که زمینه را درک کرده و بهترین شیوههای در حال تکامل را اعمال کند، و خلاصه هفتگی، که فعالیت توسعه را در چندین مخزن و مدیریت محصول تغییر میدهد. ابزارهایی برای بینش عملی برای رهبری
آنها قصد دارند به استفاده از ترکیبی از Gemini 1.5 Pro برای کارهای پیچیدهتر و Gemini 1.5 Flash برای عملکردهای حساستر به تأخیر و عملکرد کاربر ادامه دهند زیرا ابزارهای بیشتری را در پلتفرم Augmentations منتشر میکنند. این کار همچنین به چارچوب منبع باز آنها بازخورد خواهد داد، و جامعه روبی را قادر میسازد تا از قابلیتهای جدید Gemini در حین انتشار استفاده کند، در حالی که توسط تیم Sublayer در دنیای واقعی استفاده میشود.
داستان Sublayer پتانسیل تحول آفرین Gemini API را به نمایش می گذارد. این گواهی بر این است که توسعه دهندگان به راحتی می توانند Gemini را در جریان کاری خود ادغام کنند و دنیایی از فرصت ها را برای نوآوری و اتوماسیون باز کنند. برای شروع ساخت با مدلهای Gemini، اسناد API ما را بخوانید.