GPT
C

codereviewer

קוד פתוח

microsoftapache-2.02022-07-25

  • transformers
  • pytorch
  • t5
  • text2text-generation
  • code

microsoft עומדים גם מאחורי Sho, ויש עליו סקירה כאן.

מודל ייעודי לסקירת קוד ואוטומציה של שינויים במאגרי תוכנה. הוא מתמקד ספציפית בהערות על שורות שהשתנו ובפעולות סביב משיכות קוד.

  • 512טוקנים בהקשר
  • 852 MBמשקל הקבצים
  • 478הורדות בחודש
  • 142לייקים

מה זה

מיקרוסופט אימנו את המודל הזה על בסיס ארכיטקטורת T5ForConditionalGeneration כשהמטרה היא לא כתיבת קוד מאפס, אלא התמודדות ישירה עם שינויי קוד והערות ביקורת. במקום להתייחס לקובץ שלם כיחידה אחת, האימון המוקדם שלו נשען על נתונים של שינויי קוד ודיוני סקירה, כך שהוא מכיר את הדינמיקה של בדיקת שגיאות ומתן משוב למפתחים.

המשקל שלו עומד על 852 מגה בייט בלבד, מה שמציב אותו בקטגוריה קלה מאוד שנועדה למשימות טקסט לקוד ממוקדות. אין בכרטיס המודל תוצאות מדידה מספריות, אך הגישה שהוא מציג שונה ממודלי שפה כלליים בכך שהוא תוכנן ישירות לפעולות סביב תהליכי עבודה של סקירות.

מתאים ל

  • הערות על שורות קוד

    ניתוח דיפים קצרים כדי להציע הערות אוטומטיות על שינויים מקומיים.

  • בדיקות קוד ב־CI מקומי

    שילוב בצינור פיתוח מקומי סגור שבו אסור להוציא קוד לרשת.

  • ניסויי מחקר על ביקורת

    בסיס קל ופתוח לבדיקת משימות אוטומציה סביב סקירות קוד.

איפה זה נופל

המגבלה הכי קשה כאן היא חלון הקשר של 512 טוקנים בלבד. אי אפשר להזין לו שינויים רחבים, קבצים גדולים או קונטקסט עמוק של הפרויקט, אלא רק מקטעי קוד קצרים וממוקדים מאוד. מעבר לכך, הכרטיס אינו מפרט באילו שפות תכנות הוא אומן או מציג מדדי ביצועים, כך שחובה לבדוק אותו על בסיס הקוד שלכם לפני שמסתמכים עליו.

שאלות
נפוצות

האם אפשר לתת לו לבדוק שינוי של קובץ שלם?

ברוב המקרים לא. חלון ההקשר מוגבל ל־512 טוקנים, ולכן הוא מיועד לשינויים נקודתיים או מקטעי דיף קצרים בלבד.

האם המודל תומך בעברית בהערות הביקורת?

המודל הוגדר לשפות קוד בלבד ולא עבור שפות טבעיות כמו עברית. מומלץ לעבוד איתו באנגלית בלבד כדי לא לקבל פלטים משובשים.

איך מריצים

טוענים אותו ישירות דרך ספריית transformers בפייתון באמצעות הארכיטקטורה T5ForConditionalGeneration. בגלל גודל של 852 מגה בייט ודיוק float32, אין שום צורך בחומרה כבדה. מעבד רגיל יריץ אותו בקלות, וכרטיס מסך בסיסי יספיק למהירות מעולה בלי להסתבך עם קוונטיזציה.

אם אתם צריכים לבדוק שורות בודדות בתוך תהליך CI פנימי בלי להוציא קוד החוצה, הרצה מקומית היא הבחירה הנכונה. לעומת זאת, אם אתם מחפשים סקירה של פול ריקווסטים שלמים עם הבנה רחבה של כל הפרויקט, עדיף לקרוא ל־API חיצוני של מודל ענק.

from transformers import pipeline

pipe = pipeline("text-generation", model="microsoft/codereviewer")
print(pipe("שלום"))

הרישיון

הרישיון הוא apache-2.0, רישיון קוד פתוח מתירני שמאפשר שימוש מסחרי חופשי, שינוי של הקוד והפצה פנימית או חיצונית. הדרישות היחידות הן שמירת הצהרת זכויות היוצרים והרישיון המקורי, והוספת תיעוד אם ביצעתם שינויים בקבצים עצמם.

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

הרישיון המלא בעמוד המודל ↗