GPT
A

apigen-function-calling

קוד פתוח

argillacc-by-4.02024-10-10

  • synthetic
  • function-calling
  • code
  • distilabel

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

  • 8,479הורדות בחודש
  • 19לייקים

מה זה

המאגר מחזיק מעל 100,000 רשומות שמיועדות לאימון מודלים על קריאות לפונקציות, ומאחד בתוכו שני מקורות שונים. החצי הראשון מגיע מתוך Synth-APIGen-v0.1 של ארגילה, והחצי השני נלקח מתוך xlam-function-calling-60k ששחררה סיילספורס. שני החלקים מסתמכים על שיטת APIGen, שמטרתה לייצר דוגמאות מגוונות של קריאות API שניתנות לאימות.

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

מתאים ל

  • אימון סוכנים אוטונומיים

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

  • הערכת ביצועי מודל

    בדיקת יכולת שליפת כלים של מודלים קטנים מול דוגמאות שנבנו לפי מתכון APIGen.

  • בניית מאגרי SFT ייעודיים

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

איפה זה נופל

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

שאלות
נפוצות

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

כן, הרישיון הוא cc-by-4.0 ומאפשר שימוש מסחרי חופשי, כולל אימון מודלים פנימיים או מוצרים שנמכרים ללקוחות. הדרישה היחידה היא לתת קרדיט למפרסמים לפי תנאי הרישיון.

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

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

איך הנתונים נאספו ונבנו?

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

האם אפשר להשתמש בקובץ ישירות לאימון SFT?

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

איך טוענים

טוענים את הנתונים ישירות מספרית datasets של Hugging Face בלי צורך באישור גישה מיוחד, כשהקובץ המרכזי שמכיל את המידע שמור בפורמט parquet יחיד. לפני שמתחילים באימון יש שלב הכרחי, כי המאגר במצבו הנוכחי אינו מוכן ישירות לכוונון עדין. צריך להריץ עליו את הסקריפט prepare_for_sft.py שנמצא במאגר, ולהתאים את הפרומפט ואת הוראות המערכת לפורמט שמודל היעד שלכם דורש.

from datasets import load_dataset

ds = load_dataset("argilla/apigen-function-calling")

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • חובת ייחוס

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