תרגום מכונה · המקור באנגלית
קלף: החלטות מקומיות ב Swift
Development Preview. תמיכה בטקסט המקומי נמצאת בפיתוח ולא שוחררה ב speech-swift.
קלף קורא מדינה ושורה של שאלות, ואז מעלה את התשובות המותרות יחד. Swift המודול פועל 9מודל B באופן מקומי Apple Silicon עם MLX ו 4משקלביט Python תהליך או אירוח API הוא משמש במהלך ההפרעה.
שימוש ב Swift
import Clef
let model = try await Clef.fromPretrained()
let result = try model.decide(
state: "Please turn the kitchen lights on.",
questions: [
ClefQuestion(id: "action", instructions: "Which action?",
kind: .choice(["on": "Lights on", "off": "Lights off", "other": "Other"])),
ClefQuestion(id: "urgent", instructions: "Is this urgent?", kind: .noul())
])
print(result.decisions[0].probabilities)
השאלות של בחירה מחזירות את ההסתברות לכל אפשרות: A noul שאלה מחזירה את ההסתברות של אמת.שאלת ציון לוקחת רשימה מסודרת כגון .score(["normal", "urgent"]) ומחזירה את מדד מבוסס אפס הצפוי.ה אינו מבצע פקודות.
קו פיקוד
speech clef decide request.json
speech clef decide request.json --model-dir /path/to/Clef-flash-9B-MLX-4bit
speech clef decide request.json --offline --max-tokens 4096
מודל ברירת המחדל הוא aufklarer/Clef-flash-9B-MLX-4bit.ה הפקודה הראשונה מורידה אותו במידת הצורך. השתמש במאי מקומי או הדגל הלא מקוון כדי להימנע מהורדה.
פקודת Standalone
swift build -c release --product clef-decide --disable-sandbox
scripts/build_mlx_metallib.sh release
.build/release/clef-decide /path/to/clef-flash-mlx-4bit request.json
{"state":"Turn the lights on.","questions":[
{"id":"action","type":"choice","instructions":"Which action?",
"choices":{"on":"Lights on","off":"Lights off","other":"Other"}}
]}
הפלט כולל את ההסתברות, ספירת אסימונים קלט, וזמן קבלת ההחלטות למעט עומס מודל.הפקד מקבל מערך שאלה הורה; זה לא נקודת קצה של מערכת One HTTP.
איך זה עובד
עמוד השדרה Qwen3.5 קורא את הטקסט ו-schema. ראש ההחלטות המשותף משתתף בהקשר זה, מאפשר לשאלות אינטראקציה, ומשלב ציוני קונטקסטואליים עם לפני התפוקה של המודל.זה מעלה את האפשרויות ישירות במקום ליצור הודעת JSON על ידי טוקן.
דרישות ומגבלות
- Apple Silicon, macOS 15+, ו MLX.היצוא הנתמך של 4bit הוא בערך 5.3 GB; זיכרון ריצה הוא נוסף.
- רק תמונות, וידאו, מודל 27B קלף, ופורמטים אחרים במשקל אינם נתמכות.
- השתמש בכל מקרה באופן סדרתי.גבול ברירת המחדל הוא 4096 אסימונים מקודדים, שניתן להגדירם עד 16384; בקשות גדולות יותר נכשלות ולא משתקות את המדינה.
- ההסתברות אינה ערבויות מחמירות, שמור על ביצוע ואישור בנפרד מציון מודל.
- השקיפות המתוקנת אינה מדידה של יישום Swift.
אימות מקומי
3 עדכון: שני ריצות טריות של עשרים חזרות חמות כל ממוצע על 276 ms עבור אותו 303-token, 3-שדה בקשה (טווח שמור 274-284 מ"מ), למעט עומס מודל. 291 מ"מ מוקדם יותר לרוץ מתחת לספק את המדידות RSS והפיזיות.
על אחד M5 Pro עם 48 זיכרון מאוחד, עשרים ריצות חמים של אחד 303בקשה של שלושה שדות בממוצע 0.291 שניות (median) 0.290; טווח 0.280–0.299), למעט עומס מודל. GPU פעולות ו 512-טוקונים הפחיתו את המקור 0.921השני מתכוון על 68%עם משקולות ללא שינוי ותשובות נבחרות.תהליך שיא היה RSS 5.11 ג'יי בי; שיא macOS טביעת הרגל של הזיכרון הייתה 6.81 RSS בלבד אינו מלוכד את כל השימוש המאוחד-זיכרון. קלטות ארוכות יותר יכולות להיות זקוקות ליותר זיכרון. 462–897 ms בעוד יישומים אחרים היו פעילים, כך גם 291 משמעות היא לא ערובה קבועה לעקביות.אלה מדידות פיתוח על בקשה חוזרת אחת, לא מדד איכות רחב. 303 התאמות זיהוי אסימונים , ואת ההבדל ההסתברותי המקסימלי מן Python ההתייחסות היא 0.00266.