LocalAI
שרת הרצת מודלים באירוח עצמי עם API תואם OpenAI וממשק web, כאן ב-image של CPU שמריץ מודלי GGUF פתוחים מה-gallery שלו. מתאים לצוותים שרוצים שלקוחות OpenAI קיימים ידברו עם מודל בשרת שלהם.
משאבים לפי רמת עומס
מה האפליקציה עצמה צריכה בכל רמה, לצד מה שאנחנו ממליצים לשרת שמריץ רק אותה.
| רמה | מה זה אומר | דרישות האפליקציה | מומלץ |
|---|---|---|---|
| קלהערכה | מודל עד 4B פרמטרים ב-Q4_K_M (קובץ עד 2.5 GB, למשל qwen3-4b מה-gallery), context של 8,192 tokens, בקשה אחת בכל פעם, מודל טעון אחד. | 2.5 vCPU · 5 GiB RAM · 3.589 GiB דיסק | 3.12 vCPU · 7.5 GiB RAM · 13.443 GiB דיסק |
| בינוניהערכה | מודל עד 8B פרמטרים ב-Q4_K_M (קובץ עד 5.1 GB, למשל qwen3-8b מה-gallery), context של 8,192 tokens, בקשה אחת בכל פעם, מודל טעון אחד. | 4.5 vCPU · 7.5 GiB RAM · 5.946 GiB דיסק | 5.52 vCPU · 10.5 GiB RAM · 16.153 GiB דיסק |
| כבדהערכה | מודל עד 15B פרמטרים ב-Q4_K_M (קובץ עד 9.1 GB, למשל qwen3-14b מה-gallery), context של 8,192 tokens, בקשה אחת בכל פעם, מודל טעון אחד. | 8 vCPU · 11.5 GiB RAM · 9.647 GiB דיסק | 9.72 vCPU · 15.3 GiB RAM · 20.41 GiB דיסק |
מומלץ = דרישות האפליקציה + baseline של המערכת + מרווח ביטחון (headroom), לפי מדיניות ה-sizing 2026.10.0. האפשרויות נשארות בברירת המחדל. ״הערכה״ פירושה שהמקורות לא נותנים מספר למקרה הזה, ולכן הוא מחושב מהם בשיטה שמפורטת תחת רכיבים. איך המספרים נבנים
קבצים מוכנים להפעלה
רמת תמיכה נתמך
תבנית Compose מהמקורות הרשמיים; עוד לא נבדקה בהרצה.
רכיבים
מה כל רכיב צריך בכל רמת עומס, לפני baseline ו-headroom.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| LocalAI (model-runtime) | 2.5 / 5 / 3.589 | 4.5 / 7.5 / 5.946 | 8 / 11.5 / 9.647 | [9][10][14][15][16][17][18][21][22][23][24][25][26][27] |
איך ההערכות מחושבות
- LocalAI · קל: RAM: מודל 2,497,280,672 B ועוד KV cache ב-f16 2 × 36 שכבות × 8 ראשי KV × 128 × context של 8,192 × 2 B = 1,207,959,552 B, ועוד slot אחד שנשמר ב-prompt cache (אותו גודל), ועוד התקורה של LocalAI 0.04 × מודל + 0.15 GB = 249,891,227 B; בסך הכול 4.809 GiB, עוגל ל-5. vCPU: thread לכל ליבה פיזית; 8 threads (הדוגמה בתיעוד) ב-14.8B × 4.0/14.8 = 2.16, עוגל ל-2.5. Disk: image של 1.102 GiB (0.285 דחוס ועוד 0.818 פרוס) ועוד backend של llama-cpp 0.161 ועוד מודל 2.326 = 3.589.
- LocalAI · בינוני: RAM: מודל 5,027,783,904 B ועוד KV cache ב-f16 (36 שכבות, 8 ראשי KV, 128, context של 8,192) 1,207,959,552 B × 2 (פעיל ועוד slot שמור אחד), ועוד תקורה 0.04 × מודל + 0.15 GB = 351,111,356 B; בסך הכול 7.259 GiB, עוגל ל-7.5. vCPU: 8 threads ב-14.8B × 8.2/14.8 = 4.43, עוגל ל-4.5. Disk: image של 1.102 GiB ועוד backend 0.161 ועוד מודל 4.683 = 5.946.
- LocalAI · כבד: RAM: מודל 9,001,753,344 B ועוד KV cache ב-f16 2 × 40 שכבות × 8 ראשי KV × 128 × 8,192 × 2 B = 1,342,177,280 B × 2 (פעיל ועוד slot שמור אחד), ועוד תקורה 0.04 × מודל + 0.15 GB = 510,070,134 B; בסך הכול 11.359 GiB, עוגל ל-11.5. vCPU: 8 threads, הדוגמה בתיעוד (thread לכל ליבה פיזית). Disk: image של 1.102 GiB ועוד backend 0.161 ועוד מודל 8.384 = 9.647.
extra-model· LocalAI: Disk: Qwen3-8B.Q4_K_M.gguf 5,027,783,904 B = 4.683 GiB (עוגל למעלה). אין תוספת RAM או vCPU: התבנית מגדירה LOCALAI_MAX_ACTIVE_BACKENDS=1, ולכן המודל שהשימוש בו ישן יותר נפרק כשמודל אחר נטען.
אפשרויות שמשנות משאבים
פורטים
פורטים ציבוריים נועדו לגישה מחוץ ל-stack, בדרך כלל דרך reverse proxy; פורטים פנימיים נשארים ברשת של ה-stack עצמו.
משתמש והרשאות (UID/GID)
המשתמש שהתהליך של כל קונטיינר רץ תחתיו, והנתיבים שהוא כותב אליהם. bind mount לאחד הנתיבים האלה חייב להיות ניתן לכתיבה על ידי ה-UID:GID הזה.
| רכיב | UID:GID | משתמש | מתחיל כ-root | כותב אל | מקורות |
|---|---|---|---|---|---|
| LocalAIנגזר | 0:0 | root | לא | /models/backends/configuration/data | [2][4][9] |
- LocalAI: בשלב האחרון של ה-image אין הוראת USER (גם בהגדרות ה-image אין), ולכן entrypoint.sh ו-local-ai רצים כ-root בלי הורדת הרשאות. המודלים נכתבים ל-/models, ה-backends שהורדו ל-/backends, api_keys.json והגדרות runtime ל-/configuration, וסוכנים, collections ו-jobs ל-/data.
צמיחת אחסון
בכמה הנתונים של כל רכיב גדלים בחודש בכל רמת עומס, מעבר לדיסק שבפרופיל. ערך שמסומן ״הנחה״ הוא הנחה מוצהרת של ANAROQ ולא מספר מהמקורות; ההערות מפרטות על מה היא נשענת.
על מה מספרי הצמיחה נשענים
- LocalAI: כל רמה מחזיקה מודל ו-backend קבועים שכבר נכללו בדיסק של ה-preset; /models ו-/backends גדלים רק כשמתקינים מודל או backend נוסף. /configuration ו-/data מכילים קובצי JSON ו-SQLite קטנים לשימוש ב-API; סוכנים ו-collections לא מחושבים כאן.
- LocalAI: מודל ו-backend קבועים שכבר נכללו בדיסק של ה-preset; אין גידול אלא אם מתקינים מודל נוסף או משתמשים בסוכנים וב-collections.
שדרוג וחזרה לאחור
איך עוברים לגרסה חדשה בבטחה, ואיך חוזרים אחורה אם משהו נכשל.
קודם גיבוי
יש לגבות לפני כל עדכון את ה-volumes של ההגדרות והנתונים (/configuration, /data) ואת קובצי ה-YAML של מודלים שערכתם ב-/models. [4][19]נגזרLocalAI לא מפרסם מדריך גיבוי לשדרוג; אלה הנתיבים עם המצב שתיעוד ה-container מונה, ותיעוד המודלים ממליץ לשמור את קובצי ה-YAML.
שלבי השדרוג
- יש לקרוא את ה-release notes של כל גרסה בין הגרסה הנוכחית לגרסת היעד, ובמיוחד שינויים באימות וב-volumes. [28][29]
- יש להגדיר בקובץ ה-Compose את התגית המוצמדת החדשה localai/localai:vX.Y.Z, ואז להריץ docker compose pull ו-docker compose up -d. ארבעת ה-volumes שומרים מודלים, backends, הגדרות ונתונים. [4][20]
- יש לעדכן את ה-backends המותקנים (למשל llama-cpp) תחת Operate → Backends: הם images נפרדים של OCI ב-/backends, וה-image החדש של LocalAI לא מחליף אותם. [11][12]
חזרה לאחור
יש להצמיד את תגית ה-image הקודמת ולהריץ docker compose up -d. אם הגרסה החדשה שינתה הגדרות או נתונים, יש לשחזר את גיבויי /configuration ו-/data שנלקחו לפני העדכון. [4][8]נגזראין מדריך rollback רשמי; זה נובע מתגיות גרסה מוצמדות ומה-volumes המתועדים שמחזיקים מצב.
שינויים שוברים ידועים
- בגרסה 4.9.0: נתיבים חסומים כברירת מחדל כשמוגדרים מפתחות API או אימות משתמשים: /version וכתובות של אודיו, תמונות, וידאו ונכסי 3D שנוצרו דורשים עכשיו הרשאה. [29]
- בגרסה 4.0.0: images מסוג AIO עם מודלים מצורפים הוסרו, וכך גם ה-backend של HuggingFace; הנתונים הקבועים עברו לנתיב משלהם (LOCALAI_DATA_PATH, /data ב-container), שצריך volume משלו. [4][30]
מגבלות
- CPU בלבד: הפרופיל משתמש ב-image של CPU ובלי GPU. מהירות היצירה תלויה בליבות ה-CPU ובמהירות הזיכרון, ויורדת ככל שהמודל גדל; כברירת מחדל LocalAI משתמש ב-threads כמספר המעבדים, והתיעוד ממליץ להתאים למספר הליבות הפיזיות. [4][16][20]
- מודלים מעל רמת heavy (מעל כ-15B פרמטרים או 9.1 GB ב-Q4_K_M), context ארוך מ-8,192 tokens או יותר מ-slot מקבילי אחד לא נכללים: כל אחד מהם מגדיל את ה-RAM (ה-KV cache גדל ליניארית עם ה-context ומספר ה-slots). [14][17][23]
- ה-prompt cache של llama.cpp פעיל כברירת מחדל ועשוי להחזיק עד 8,192 MiB של מצב prompts שמור ב-RAM של המארח; ה-presets מחשבים slot שמור אחד. עם הרבה prompts שונים, יש להגדיר cache_ram נמוך יותר (או 0) ב-YAML של המודל. [17][18]
- ה-image לא כולל backend להרצה: התקנת המודל הראשון מורידה את ה-backend של llama-cpp מה-gallery של ה-backends (התגית הצפה latest-cpu-llama-cpp), ולכן השרת צריך גישה לאינטרנט, וגרסת ה-backend לא מוצמדת בקובץ הזה. [11][12]
אבטחה
- בלי מפתח API או אימות משתמשים LocalAI לא מגביל אף בקשה, כולל התקנת מודלים ו-backends. יש להשאיר את LOCALAI_API_KEY מוגדר ולחשוף את פורט 8080 רק דרך reverse proxy עם HTTPS; LocalAI לא מבצע TLS בעצמו. [5][7]
- מפתח API מהסוג הישן נותן הרשאות ניהול מלאות בלי תפקידים: מי שמחזיק אותו יכול להתקין backends (images של OCI שמריצים קוד) ולשנות הגדרות. לכמה אנשים עם הרשאות שונות יש להשתמש באימות המשתמשים של LocalAI (LOCALAI_AUTH), שהתבנית הזו לא מגדירה. [5][12]
- ה-container רץ כ-root (ה-image לא מגדיר USER), וכך גם ה-backends שהוא מוריד. אין לחבר אליו docker.sock או נתיבים של המארח. [2][9]
גיבוי
- יש לגבות את ה-volumes של ההגדרות והנתונים: /configuration מכיל את api_keys.json, runtime_settings.json ו-external_backends.json; /data מכיל collections, מצב סוכנים, tasks, jobs ואת מסד המשתמשים (database.db) כשאימות משתמשים פעיל. [4][5]
- קובצי מודלים ב-/models ו-backends ב-/backends אפשר להתקין שוב מה-galleries, אבל יש לשמור עותק של קובצי YAML של מודלים שכתבתם או ערכתם. [12][19]
גרסה אחרונה
- הפרופיל נבדק מול
LocalAI 4.11.0
הפרופיל נבדק מול הגרסה האחרונה.
- נבדק ב-
- 14 באוק׳ 2026
- מצב
- נבדק ב-90 הימים האחרונים
- איפה הגרסאות מתפרסמות
- GitHub Releases
גרסה
- סטטוס הפרופיל
- פורסם
- נבדק מול גרסה
- LocalAI 4.11.0
- גרסת הפרופיל
- 1.0.0
- המספרים אומתו
- 14 באוק׳ 2026
- גרסת הקטלוג
- 2026.10.10
- מדיניות sizing
- 2026.10.0
- קובץ Compose
- לא אומת
הפרויקט וחלופות
- האתר הרשמי
- localai.io
- קוד מקור
- github.com/mudler/LocalAI
- חלופות
- Ollamallama.cpp server
מקורות
- LocalAI v4.11.0 docker-compose.yaml: port 8080, MODELS_PATH=/models, LOCALAI_VRAM_WARM_LIMIT=0, volumes models/backends/configuration/data, command phi-2-chat (Compose רשמי · נקרא 14 באוק׳ 2026)
- LocalAI v4.11.0 Dockerfile: final stage has no USER, HEALTHCHECK /healthcheck.sh (start period 60m, interval 1m, timeout 10s, 3 retries), VOLUME /models /backends /configuration /data, EXPOSE 8080 (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI v4.11.0 scripts/build/healthcheck.sh: for local-ai run, curl -fsS -m 10 http://localhost:8080/readyz (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Containers: CPU image localai/localai:<version>, the four volumes /models, /backends, /configuration, /data and why all four must be mounted (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Authentication: LOCALAI_API_KEY (full admin access), routes private by default with keys set, /healthz and /readyz anonymous, no restriction without auth (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, CLI reference: --address :8080, --api-keys ($LOCALAI_API_KEY), --max-active-backends 0 = unlimited, --threads (physical cores suggested) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, TLS Reverse Proxy: LocalAI does not terminate TLS; LOCALAI_BASE_URL is authoritative for generated links, else X-Forwarded-Proto/Host (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub tag localai/localai:v4.11.0 (pushed 2026-10-03, same digest as latest); latest-cpu was last updated 2025-06-19, and v4.11.0-cpu does not exist (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub manifest of localai/localai:v4.11.0 (linux/amd64): 18 layers, 305,525,063 B compressed; layers decompressed and counted: 878,025,216 B (מדידה · נקרא 14 באוק׳ 2026)
- Docker Hub manifest of localai/localai-backends:v4.11.0-cpu-llama-cpp (linux/amd64, same digest as latest-cpu-llama-cpp): 1 layer, 50,037,362 B compressed; decompressed: 172,602,368 B (מדידה · נקרא 14 באוק׳ 2026)
- LocalAI v4.11.0 backend/index.yaml: llama-cpp defaults to cpu-llama-cpp, installed from local-ai-backends:latest-cpu-llama-cpp (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Backends: every backend is an on-demand OCI image; install, upgrade or delete under Operate → Backends (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LocalAI v4.11.0 gallery/index.yaml: qwen3-4b, qwen3-8b and qwen3-14b install Q4_K_M GGUF files from MaziyarPanahi (sha256 pinned) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI v4.11.0 gallery/qwen3.yaml: backend llama-cpp, context_size 8192, mmap true (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI v4.11.0 pkg/vram/estimate.go: memory estimate = GGUF size + KV cache + overhead (0.02 × 2 × GGUF size + 0.15 GB) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Model configuration: threads default = processor count (example threads: 8), cache_type_k/v map to llama.cpp -ctk/-ctv (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Text generation (llama.cpp): one parallel slot unless set; host prompt cache cache_ram 8192 MiB with idle-slot saving on by default since 4.3 (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- llama.cpp server README: KV cache type -ctk/-ctv default f16; --cache-ram default 8192 MiB (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Install models: Models → Explore in the web UI or local-ai models install; back up your YAML configurations (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LocalAI docs, Troubleshooting: threads should match physical cores; mount all four stateful paths so upgrades keep models and settings (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MaziyarPanahi/Qwen3-4B-GGUF: Qwen3-4B.Q4_K_M.gguf, 2,497,280,672 B (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MaziyarPanahi/Qwen3-8B-GGUF: Qwen3-8B.Q4_K_M.gguf, 5,027,783,904 B (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MaziyarPanahi/Qwen3-14B-GGUF: Qwen3-14B.Q4_K_M.gguf, 9,001,753,344 B (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Qwen/Qwen3-4B config.json: 36 layers, 8 KV heads, head_dim 128 (4.0B parameters) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Qwen/Qwen3-8B config.json: 36 layers, 8 KV heads, head_dim 128 (8.2B parameters) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Qwen/Qwen3-14B config.json: 40 layers, 8 KV heads, head_dim 128 (14.8B parameters) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Docker: containerd image store is the default on fresh Engine 29+ installs and keeps images compressed and uncompressed (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- What landed in LocalAI 4.11 (2 October 2026): failover, speaker profiles; upgrade by pulling the new image (Release notes · נקרא 14 באוק׳ 2026)
- LocalAI 4.9.0 (20 August 2026): routes deny by default; /version and generated-asset URLs need credentials (Release notes · נקרא 14 באוק׳ 2026)
- LocalAI 4.0 (14 March 2026): AIO images dropped, HuggingFace backend removed, new LOCALAI_DATA_PATH (/data) (Release notes · נקרא 14 באוק׳ 2026)