llama.cpp משנה את פורט ברירת המחדל של השרת מ-8080 ל-9931, ומי שמשדרג עלול לגלות שהכלים שלו מנותקים
בגרסה v0.7.0 של llama.cpp, שפורסמה ב-15 באוקטובר, השרת המובנה מאזין כברירת מחדל לפורט 9931 במקום 8080. השינוי שובר תאימות: כל מי שלא הגדיר פורט במפורש, או שהכלים שלו מחפשים את השרת ב-8080, יצטרך לעדכן הגדרות. אימג'י ה-Docker ממשיכים להשתמש ב-8080 בתוך הקונטיינר.
הפרויקט llama.cpp, אחד הכלים הנפוצים להרצת מודלי שפה (LLM) על מחשב מקומי, שינה את פורט ברירת המחדל של השרת שלו. החל מגרסה v0.7.0, שפורסמה ב-15 באוקטובר, הרכיב llama-server מאזין לפורט 9931 ולא ל-8080 כמו קודם. מי שמפעיל את השרת בלי לציין פורט, או משתמש בכלי שמחפש אותו ב-8080, ימצא אחרי השדרוג שהחיבור לא עובד.
מה בדיוק השתנה
השינוי נכנס בבקשת המיזוג #30159, שפתח המפתח ngxson מצוות הפרויקט ב-8 באוקטובר. היא מוזגה למחרת, אחרי אישור של שני סוקרים. אחד הסוקרים, CISC, סימן אותה כ-"highlight", כלומר שינוי שיודגש בהודעת הגרסה הבאה. בהודעת הגרסה השינוי מופיע גם ברשימת העיקר וגם בסעיף שינויי ה-API, בניסוח: "Server now listens on port 9931 by default instead of 8080".
יש חריג אחד חשוב. אימג'י ה-Docker הרשמיים ממשיכים להאזין ל-8080 בתוך הקונטיינר. לפי בקשת המיזוג, ההחלטה נועדה "to avoid breaking any tools using our base image", כלומר לא לשבור כלים שנבנו על גבי האימג' הבסיסי. מי שמריץ את השרת ב-Docker ומפנה אליו פורט חיצוני כנראה לא יושפע. מי שמריץ את השרת ישירות על המחשב, מקובץ בינארי או מקוד שבנה בעצמו, יושפע.
בבקשת המיזוג לא מוסבר למה נבחר דווקא 9931. ככל הנראה, אחת הסיבות היא ש-8080 הוא פורט נפוץ מאוד בשרתי פיתוח, ולכן מתנגש לעיתים קרובות עם שירותים אחרים שרצים על אותו מחשב.
ההשפעה כבר ניכרת
בבקשת המיזוג אפשר לראות פרויקטים שכבר מתאימים את עצמם לשינוי. בפרויקט RimTalk מוזג עדכון שמוסיף תמיכה בפורט החדש. בפרויקט AntigmaLabs/ante נפתח דיון על המעבר מ-8080 ל-9931, והוא עדיין פתוח.
בפרויקט אחר, XavierJev, נמצאה דוגמה מעשית לתקלה. במדריך ההתקנה שלו השרת הופעל בלי פורט, ובשורה הבאה הכלי הוגדר להתחבר לכתובת http://127.0.0.1:8080/v1. לפי הודעת התיקון, על גרסה עדכנית שתי השורות "no longer meet": הכלי לא מצליח להגיע לשרת, ובדיקת ההפעלה מסרבת לעלות. התיקון היה פשוט: הוספת --port 8080 לפקודת ההפעלה.
מה לעשות לפני השדרוג
הפתרון המהיר הוא לציין את הפורט במפורש. מי שרוצה להמשיך לעבוד כרגיל יכול להפעיל את השרת עם --port 8080. אפשר גם לעשות את ההפך ולעדכן את הכלים המחוברים, כמו ממשקי צ'אט, סוכני קוד ותוספים לעורכי קוד, כך שיפנו לפורט 9931. כדאי לבדוק גם סקריפטים, קבצי הגדרות ומשתני סביבה שמכילים את הכתובת localhost:8080 בלי שמישהו זוכר שהיא שם.
למה זה חשוב
llama.cpp משמש בסיס לכלים רבים בתחום ה-AI המקומי. במשך שנים, כלים שנבנו סביבו הניחו שהשרת נמצא ב-8080. המשמעות ככל הנראה היא שבשבועות הקרובים יופיעו תקלות חיבור בכלים שעדיין לא עודכנו, במיוחד אצל משתמשים שמשדרגים אוטומטית.
השינוי בפורט הוא רק חלק מגרסה רחבה בהרבה. היא כוללת גם מטמון GPU חדש למודלי MoE, שלפי המפתחים מאיץ את קצב יצירת הטקסט עד פי 2.2 כשחלק מהמודל נשמר בזיכרון הראשי. נוספו בה גם מנהל מודלים מלא בממשק הווב, תמיכה בשורת מודלים חדשים ועדכון של ספריית ggml לגרסה v0.27.0. עם זאת, ייתכן שדווקא שינוי הפורט הוא זה שרוב המשתמשים ירגישו ראשון.