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

GPT
N

NL2SH-ALFA

קוד פתוח

westenfeldermit2025-01-29

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

  • 1,905הורדות בחודש
  • 16לייקים

מה זה

המאגר נבנה כדי להתמודד עם שגיאות במאגרי עבר ולהגדיל את היקף הדוגמאות הקיים בתחום התרגום משפה טבעית לפקודות מעטפת. החוקרים ממעבדת ALFA ב־MIT ליקטו, ניקו ואיחדו נתונים מכמה מקורות מוכרים: nl2bash, LinuxCommands, NL2CMD, InterCode-Bash, ודוגמאות שנאספו ישירות ממאגר התיעוד הקהילתי tldr-pages. לאחר איחוד המקורות בוצע סינון של כפילויות כדי ליצור תשתית אחידה ורחבה יותר לאימון.

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

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

מתאים ל

  • אימון מודל שורת פקודה

    אימון מודלי שפה להמרת הוראות משתמש באנגלית לפקודות Bash פשוטות ותקינות.

  • הערכת מודלים על Bash

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

  • תוסף סיוע למסוף

    פיתוח כלי עזר בטרמינל שמציע פקודת מעטפת בודדת מתוך תיאור מילולי חופשי.

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

איך נאספו הדוגמאות שבמאגר?

החוקרים שילבו ארבעה מאגרי עבר כמו nl2bash ו־LinuxCommands, והוסיפו עליהם סריקה מתוך דפי tldr-pages. לאחר מכן הם ביצעו סינון כפילויות ואימות ידני מלא ל־600 הדוגמאות שנבחרו להרכיב את סט המבחן.

במה הוא שונה ממאגרי NL2SH קודמים?

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

איך טוענים

הטעינה דרך ספריית datasets מתבצעת בצורה מעט שונה מהרגיל: בחירת החלק, אימון או מבחן, נעשית באמצעות הפרמטר של התצורה ולא דרך פרמטר הפיצול. שני הקבצים המרכזיים שמחזיקים את המידע הם קובצי CSV פשוטים, train.csv ו־test.csv, כך שאין צורך באישור גישה מיוחד או בהורדה מורכבת של קבצים כבדים.

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

from datasets import load_dataset

ds = load_dataset("westenfelder/NL2SH-ALFA")

הרישיון

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

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

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