GPT
S

SWE-bench

קוד פתוח

princeton-nlpרישיון לא דווח2023-10-10

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

  • 73,441הורדות בחודש
  • 146לייקים

מה זה

בפנים יושבים 2,294 צמדים של אישיו וקוד מתקן שנלקחו מתוך 12 מאגרי פייתון פופולריים. הרעיון כאן הוא בדיקה לפי תוצאה מעשית, לוקחים את התיאור של התקלה ובודקים אם הקוד שהמודל מייצר מצליח לעבור את בדיקות היחידה המקוריות שנכתבו עבור אותו תיקון.

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

מתאים ל

  • הערכת סוכני תכנות

    מדידה של מודלים מול תקלות פייתון אמיתיות בעזרת בדיקות יחידה.

  • אימון מודלים לפתרון באגים

    שימוש בתיאורי האישיו ובקומיטים כדי ללמד מודל לתקן קוד מקור.

  • מחקר על אחזור הקשר

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

איפה זה נופל

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

שאלות
נפוצות

האם מותר להשתמש בדאטהסט לפיתוח מסחרי?

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

האם יש בדאטהסט תוכן בעברית?

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

איך נאספו הנתונים למאגר?

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

מה מקבלים בפועל בכל רשומה?

הרשומות מכילות את תיאור התקלה ואת נקודת הזמן בקוד לפני התיקון. הן לא כוללות את עץ הקבצים המלא של הריפו, כך שצריך להוריד את הקוד בנפרד כדי להריץ את הבדיקות.

איך טוענים

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

from datasets import load_dataset

ds = load_dataset("princeton-nlp/SWE-bench")

הרישיון

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

הרישיון המלא ב־Hugging Face ↗