GPT
C

conala

קוד פתוח

neulabmit2022-09-14

  • code-generation

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

  • 1,573הורדות בחודש
  • 62לייקים

מה זה

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

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

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

מתאים ל

  • הערכת מודלי קוד

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

  • אימון מקדים למשימות קוד

    שימוש בגרסת ה־mined הרחבה ללימוד הקשרים בין ניסוח בעיות באנגלית לפתרונות בפייתון.

  • ניסוח פקודות לקוד

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

איפה זה נופל

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

שאלות
נפוצות

האם מותר להשתמש במאגר לפיתוח מוצר מסחרי?

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

האם המאגר כולל עברית?

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

מה ההבדל בין שתי הגרסאות של המאגר?

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

האם צריך אישור גישה מיוחד כדי להוריד את הקבצים?

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

איך טוענים

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

from datasets import load_dataset

ds = load_dataset("neulab/conala")

הרישיון

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

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

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