
بروزرسانی: 31 خرداد 1404
مدل های بازیابی کد | کدونگ SFR
بازیابی کد یک منطقه مهم و در عین حال تحت کاوش در زمینه هوش مصنوعی است. در حالی که سیستم های بازیابی متن در کارهای پردازش زبان طبیعی (NLP) موفقیت چشمگیری داشته اند ، این رویکردها هنگام استفاده از کد اغلب کوتاه می شوند. توسعه دهندگان هنگام بازیابی قطعه های کد ، مانند درک نحو ، جریان کنترل و وابستگی های متغیر ، با چالش های منحصر به فردی روبرو هستند. وارد ، کدونگ SFR، یک خانواده پیشگام از م،ای تعبیه شده کد که هدف آن رسیدگی به این چالش ها و انقلابی در نحوه بازیابی و تولید کد است. این که آیا شما یک برنامه نویس فصلی هستید یا ،ی که در مورد تقاطع هوش مصنوعی و برنامه نویسی کنجکاو هستید ، این وبلاگ شما را طی می کند که چگونه SFR-embedding-code در چشم انداز انقلابی می کند.
چرا برای تولید کد به بازیابی نیاز داریم؟
توسعه دهندگان غالباً به کدی نیاز دارند که به کنوانسیون های خاص پروژه پایبند باشد ، وابستگی ها را کنترل می کند یا به درستی با چارچوب ها ادغام می شود. مدل های تولید کد ممکن است نتایج عمومی یا ناقص تولید کنند که نتوانند این ظرافت ها را برطرف کنند. در ضمن ، نسل بازیابی رویکردهای واکشی ، نمونه های دنیای واقعی به طور مستقیم از مخازن کد منبع ، اطمینان از ارتباط و بهترین شیوه ها برای یک فرآیند مهاجرت قوی تر و کارآمدتر.

شکل 1: هنگام مهاجرت از ترانسفورماتور == 3.x به ترانسفورماتور == 4.x، شما اغلب به تغییرات کد تبدیل می شوید. شکل تأکید می کند که تولید کننده رفع به تنهایی کافی نیست - شما باید پس گرفتن اطلاعات مربوط به منابع متعدد: PRS GitHub کتابخانه و یادداشت های انتشار (برای یادگیری چه چیزی تغییر کرده است) ، پایگاه کد شخصی شما (برای یافتن استفاده قدیمی) و نمونه های جامعه (برای دیدن ال،ای جدید توصیه شده).
با ادغام بازیابی با تولید ، توسعه دهندگان به طور قابل توجهی زمان صرف شده برای اشکال زدایی یا اصلاح کد تولید ناقص را کاهش می دهند.
چرا ما به جای بازیابی متن برای بازیابی کد به بازیابی کد نیاز داریم؟
بازیابی های مبتنی بر متن که بر روی تعبیه های زبان طبیعی آموزش داده می شوند ، اغلب نتوانند ظرافت های ساختاری و م،ایی کد را ضبط کنند. بازیابی کد نیاز به مدل ها به طور خاص در تعبیه کد برای درک نحو ، ساختار و زمینه خاص برنامه نویسی آموزش داده می شود.

شکل 2: بازیابی مبتنی بر متن از آنجا که فقط برای لیست های 2D کار می کند (به ،وان مثال ، [[1, 2], [3, 4]]
) ، نه لانه سازی دلخواه (به ،وان مثال ، [[1, [2, 3]], 4]
). آثار بازیابی مبتنی بر کد برای لیست های خودسرانه از طریق بازگشت.
- بوها بازپرداخت مبتنی بر متن تمرکز بر شباهت کلمات کلیدی (به ،وان مثال ، "flatten" و "لیست") و مسابقات سطح سطح ، با توجه به روابط م،ایی عمیق تر در کد.
- بوها بازپرداخت مبتنی بر کد نحو ، منطق و ال،ای موجود در کد را درک می کند ، و این امکان را برای بازیابی اجرای صحیح و من، با هدف دارد.
با SFR-Embedding-Code ملاقات کنید: مدل های تعبیه کد تحقیق Salesforce AI
SFR-Embedding-Code خانواده ای از مدل های تعبیه شده با منبع باز با اندازه پارامتر از 400 میلیون تا 7 میلیارد را معرفی می کند. این م،ا در بازیابی کد ، پیشرفته ترین مدل را تعریف می کنند و از دومین مدل بهترین با بیش از 20 ٪ در معیار کویر استفاده می کنند.

SFR-Embedding-Code برای هر دو کد و بازیابی متن طراحی شده است و آن را به یک ابزار همه کاره در حوزه ها تبدیل می کند. SFR-Embedding-Code با قابلیت های برش و کاربرد گسترده خود ، به ،وان ابزاری تحول آمیز در فضای هوش مصنوعی و برنامه نویسی معرفی می شود. بیایید آن را به نکات برجسته اصلی ت،یم کنیم:
- چارچوب یکپارچه: SFR-Embedding-Code وظایف برنامه نویسی متنوع را به یک قالب بازیابی مش، تبدیل می کند. این پشتیب، از 12 زبان برنامه نویسی و پنج دسته بازیابی ، از جمله کد به متن ، متن به کد و ،یبی.
- تقویت عملکرد: استفاده از LLMS با دو طرفه توجه ، مدل 7B در بازیابی کد به نتایج بی سابقه ای می رسد و ضمن حفظ عملکرد رقابتی در BEIR برای بازیابی متن ، معیار جدیدی را در COIR ایجاد می کند.
- منبع باز: بر خلاف مدل های بسته ، کد SFR-Embedding برای جامعه باز است و باعث شفافیت و همکاری می شود.
- بازیابی نسل و اوج (RAG): بازیابی پیشرفته وظایف پایین دست مانند جمع بندی کد ، تکمیل و رفع مشکل را بهبود می بخشد و آن را برای توسعه دهندگان ارزشمند می کند.
- گزینه های مدل مقیاس پذیر: کد SFR-embedding فراهم می کند اندازه چند مدل، هر یک برای موارد مختلف استفاده بهینه شده است. در مدل 7B برای حدا،ر کیفیت، عالی در عملکرد اما نیاز به منابع مح،اتی بیشتری دارد. در مدل 400 متر اولویت بندی کارایی، ارائه استنتاج سریعتر ، هزینه پایین تر و امکان اجرای CPU. در مدل 2B اعتصاب a تعادل بین کیفیت و کارآیی، خدمت به ،وان یک زمینه عملی برای برنامه های مختلف.
برای ایجاد یک سیستم بازیابی مؤثر ، ما با ساختار آنها به م،ی دار ، از مجموعه داده های موجود استفاده می کنیم (پرس و جو ، سند) جفت برای یادگیری متضاد.
برای فعال ، بازیابی متن به کد، ما اهرم می کنیم text2sql وت مسابقه رمز وظایف ، درمان نمایش داده ها به ،وان توضیحات متنی و اسناد به ،وان راه حل های مربوط به کد. بازیابی کد به متن متکی است خلاصه کد، با استفاده از کد کامل به ،وان پرس و جو و خلاصه مختصر آن به ،وان سند.
برای بازیابی کد به کد، ما استفاده می کنیم:
- ترجمه کد کد نوشته شده در یک زبان برنامه نویسی (PL A) را به ،وان پرس و جو و ترجمه معادل آن به زبان دیگر (PL B) به ،وان سند مثبت ، با اطمینان از یادگیری دو طرفه.
- تشخیص کلون کد قطعه های کد عملکردی ی،ان اما نحوی متفاوت را شناسایی می کند و آنها را به جفت (پرس و جو ، اسناد) تبدیل می کند و تغییرات در اجرای آن را ضبط می کند.
- تکمیل کد از یک قطعه کد معین به ،وان پرس و جو و بخش منطقی بعدی به ،وان سند مثبت استفاده می کند ، با نحوه ساخت تکراری توسعه دهندگان کد ، هماهنگ است.
در حال گسترش به بازیابی کد ،یبی، ما ساختارهای ادغام پویا تری را معرفی می کنیم:
- رفع مشکل کد گزارش های اشکال (نمایش داده ها) با اصلاحات مربوط به آنها (اسناد).
- مکالمات عامل کد از چرخش های مکالمه گذشته به ،وان پرس و جو و پاسخ مورد انتظار بعدی به ،وان سند استفاده کنید.
برای افزایش بیشتر قابلیت های بازیابی کد ، ما گنج،ده ایم نمونه های منفی در همان زبان برنامه نویسی ، اطمینان از تعمیم مدل بهتر و تمایز بین مسابقات مرتبط و بی ربط. با استفاده مجدد از این مجموعه داده ها به جفت های ساختاری ساختاری ، ما یک سیستم بازیابی قوی متن، با جستجوی کد کارآمد و مؤثر ایجاد می کنیم.
نتایج کاربرد در دنیای واقعی
بازیابی کد

*بیانگر این است که اعداد از تابلوی COIR گزارش شده اند*
به طور متوسط \u200b\u200bبیش از 10 مجموعه داده در معیار کوئر، SFR-embedding-code7b در حال حاضر مدل برتر است و اثربخشی کد کلی و آموزش متن آن را پوشش می دهد. مدل های کوچکتر مانند کد SFR-embedding 400m و 2b همچنین از مدل های اندازه قابل مقایسه بهتر عمل کنید و گزینه های کارآمد با مزایای تأخیر و هزینه را ارائه دهید. موفقیت آنها تأکید بر استحکام و تعمیم پذیری روش آموزش ما است.
پل زدن متن و بازیابی کد
کدونگ SFR بیشتر از اینکه کد را به تنهایی انجام دهید ، انجام می دهد. آن را بازیابی متن قابلیت ها آن را به یک ابزار همه کاره و دو منظوره برای یافتن مستندات برای قطعه های کد خاص ، جستجوی توضیحات یا آموزش ها و ادغام بینش متن و کد در راه حل های منسجم تبدیل می کند.

در مقایسه با قوی ترین مدل های تعبیه شده متن ، nv-embed-v2 وت SFR-V2با کدونگ SFR به طور مداوم از آنها با نمرات متوسط \u200b\u200bبالاتر در مجموعه داده های بازیابی متن و کد بهتر عمل می کند.
حل مسائل GitHub

کد SFR-embedding در ارزیابی شد لیت-نیمکت متعاقب نیمکت، که دارای یک مجموعه داده 300 مشکل برای اصلاح چندین پرونده برای عبور از موارد آزمون است. کیفیت بازیابی بهبود یافته توسط خانواده مدل SFR-Embedding-Code ، باعث افزایش دقت و کارآیی حل مسئله شد و نزدیک به عملکرد استاندارد طلا در یک محیط داکر استاندارد نزدیک شد.
پایان
کد SFR-Embedding نشان دهنده یک جهش بزرگ در بازیابی کد AI محور ، ایجاد شکاف بین جستجوی متن و کد ، امکان بهره وری بالاتر و نوآوری رانندگی است. طبیعت منبع باز آن از همکاری و شفافیت دعوت می کند ، و جوامع گسترده تر هوش مصنوعی و توسعه دهنده را برای ساختن پایه و اساس آن توانمند می کند.
بیشتر کاوش کنید
منبع: https://www.salesforce.com/blog/sfr-embedding-code/