LocalAI QuickStart: Uruchamianie lokalnie modeli LLM zgodnych z OpenAI

Uruchom własny serwer z API zgodnym z OpenAI przy użyciu LocalAI w kilka minut.

Page content

LocalAI to serwer inferencji typu self-hosted i first-local zaprojektowany tak, aby zachowywał się jak kompatybilny zamiennik API OpenAI do uruchamiania obciążeń AI na Twoim własnym sprzęcie (laptop, stacja robocza lub serwer lokalny).

Projekt skupia się na praktycznej kompatybilności w trybie „zastąp URL API chmurowego", przy jednoczesnej obsłudze wielu backendów i modalności (tekst, obrazy, audio, embeddingi i inne).

localai llm quickstart infographic

Czym jest LocalAI i dlaczego inżynierowie go używają

LocalAI prezentuje interfejs HTTP REST, który odzwierciedla kluczowe punkty końcowe OpenAI, w tym końcówki do uzupełniania czatu, embeddingi, generowanie obrazów i audio, dzięki czemu istniejące narzędzia kompatybilne z OpenAI mogą być wskazane na Twoją własną infrastrukturę.

Oprócz podstawowego generowania tekstu, zestaw funkcji LocalAI obejmuje powszechne „bloki konstrukcyjne produkcji", takie jak embeddingi dla RAG, generowanie obrazów na bazie dyfuzji, mowa do tekstu oraz tekst do mowy, z opcjonalną akceleracją GPU i wzorcami rozproszonymi.

Jeśli oceniasz serwisy LLM typu self-hosted, LocalAI jest interesujący, ponieważ skupia się na kompatybilności API (dla łatwiejszej integracji), a jednocześnie zapewnia wbudowany interfejs Web UI oraz workflow galerii modeli, aby zminimalizować tarcie instalacji i konfigurowania modeli.

Dla szerszego porównania opcji hostowania LLM typu self-hosted i chmurowego — w tym Ollama, vLLM, Docker Model Runner oraz zarządzanych dostawców chmurowych — zobacz przewodnik po hostowaniu LLM na 2026 rok.

Jeśli chcesz szczegółowego porównania LocalAI z Ollama, vLLM, LM Studio i innymi, artykuł porównujący główne lokalne narzędzia LLM w 2026 roku omawia wsparcie API, kompatybilność sprzętu i gotowość produkcyjną. Dla szerszego uzasadnienia pozostawiania modeli na własnej infrastrukturze, artykuł self-hosting LLM i suwerenność AI omawia motywacje związane z rezydencją danych i zgodnością.

Opcje instalacji LocalAI, które dobrze sprawdzają się w praktyce

LocalAI można zainstalować na wiele sposobów, ale dla większości zespołów najszybszym i najmniej ryzykownym punktem startowym są kontenery (Docker lub Podman). Jeśli podczas pracy z poniższymi przykładami chcesz mieć referencje do poleceń, podręcznik skrócony do Docker omawia najczęstsze i najbardziej użyteczne polecenia Docker.

Najszybszy start z Docker

To polecenie uruchamia serwer LocalAI i wiąże API oraz Web UI na porcie 8080:

docker run -p 8080:8080 --name local-ai -ti localai/localai:latest

Dokumentacja kontenera LocalAI nazywa to najszybszą ścieżką do uruchomienia działającego serwera, przy czym API jest dostępne pod adresem http://localhost:8080.

Wybór odpowiedniego obrazu kontenera LocalAI

LocalAI publikuje różne warianty obrazów kontenerów, abyś mógł dopasować je do swojego sprzętu:

  • Obraz CPU dla szerokiej kompatybilności.
  • Obrazy specyficzne dla GPU dla NVIDIA CUDA, AMD ROCm, Intel oneAPI i Vulkan.
  • Obrazy All-in-One (AIO), które są konfigurowane z modelami powiązanymi z nazwami podobnymi do OpenAI.

Oficjalna dokumentacja GitHub zawiera konkretne przykłady docker run dla opcji tylko CPU oraz kilku opcji GPU (warianty NVIDIA CUDA, AMD ROCm, Intel, Vulkan), włącznie z wariantami AIO.

Trwałość modeli między restartami

Jeśli nie zamontujesz magazynu danych, pobrane modele mogą nie przetrwać zmian w cyklu życia kontenera. Przewodnik po kontenerze zaleca zamontowanie wolumenu /models, na przykład:

docker run -ti --name local-ai -p 8080:8080 \
  -v "$PWD/models:/models" \
  localai/localai:latest-aio-cpu

To sprawia, że katalog /models wewnątrz kontenera jest trwały na Twoim hoście.

Minimalny szybki start Docker Compose

LocalAI udostępnia również referencyjny plik docker-compose.yaml w repozytorium, demonstrować wspólny wzorzec: wiązanie portu 8080, montowanie wolumenu /models, ustawienie MODELS_PATH=/models oraz opcjonalne wczytanie modelu przez określenie go na liście poleceń (przykład w repozytorium pokazuje phi-2). Podręcznik skrócony do Docker Compose jest przydatną referencją podczas dostosowywania tego do Twojej konfiguracji.

„Domyślne dobre" ustawienie Compose (CPU) wygląda następująco:

services:
  localai:
    image: localai/localai:latest
    container_name: local-ai
    ports:
      - "8080:8080"
    volumes:
      - ./models:/models
    environment:
      - MODELS_PATH=/models

Kluczowa idea jest taka sama jak w przykładzie upstream: katalog modeli na hoście ↔ katalog /models w kontenerze.

Jeśli również korzystasz z natywnego narzędzia docker model w Docker obok LocalAI, podręcznik skrócony do Docker Model Runner omawia polecenia pull, run, package i konfiguracji.

Niekontenerowe instalacje LocalAI

LocalAI obsługuje również instalacje poprzez metody specyficzne dla platformy (na przykład plik DMG dla macOS i binarki dla Linux), oraz szersze opcje wdrażania, takie jak Kubernetes.

Jeśli wolisz zainstalowane skryptami na Linuxie, szybki start z DeepWiki opisuje ścieżkę install.sh, która automatycznie wykrywa sprzęt i konfiguruje system zgodnie z tym.

Przewidywalna sekwencja używania

Niezawodny workflow LocalAI to:

Uruchom LocalAI → zainstaluj lub zaimportuj model → zweryfikuj załadowane modele → wywołaj punkty końcowe kompatybilne z OpenAI.

Ta sekwencja pasuje do oficjalnych wytycznych „Wypróbuj to" i „Konfigurowanie modeli", które ramują proces wokół uruchomienia serwera, instalowania modeli za pomocą galerii lub CLI, a następnie testowania punktów końcowych z curl.

Uruchom serwer i potwierdź jego zdrowie

Gdy serwer jest uruchomiony, powszechnym sprawdzianem jest punkt końcowy gotowości:

curl http://localhost:8080/readyz

Przewodnik rozwiązywania problemów używa /readyz jako pierwszej diagnostyki, aby potwierdzić, że LocalAI jest responsywny.

Zainstaluj model z galerii lub zaimportuj URI

LocalAI zapewnia dwa główne przepływy obsługi modeli:

  • Instalacja z Galerii Modeli przez Web UI, gdzie otwierasz UI, przechodzisz do zakładki Models, przeglądasz modele i klikasz Install.
  • Instalacja i uruchomienie sterowane CLI, używając local-ai models list, local-ai models install i local-ai run.

Dokumentacja obsługuje również importowanie modeli przez URI (repozytoria Hugging Face, bezpośrednie URI plików modeli i inne rejestry), a Web UI zawiera dedykowany przepływ Import Model z edytorem YAML do zaawansowanej konfiguracji.

Zweryfikuj, co LocalAI uważa za dostępne do serwowania

Aby wylistować wdrożone modele poprzez API kompatybilne z OpenAI:

curl http://localhost:8080/v1/models

To jest jawnie zalecane zarówno jako „kolejny krok" po instalacji kontenera, jak i jako diagnostyka rozwiązywania problemów.

Główne parametry wiersza poleceń, które warto poznać

CLI LocalAI jest zbudowane wokół polecenia local-ai run, z kompleksową powierzchnią konfiguracji. Musimy podkreślić dwa ważne zachowania operacyjne:

  • Każdy flag CLI można ustawić za pomocą zmiennej środowiskowej.
  • Zmienne środowiskowe mają pierwszeństwo przed flagami CLI.

Poniżej znajdują się parametry, które praktycy najczęściej używają na początku, pogrupowane według intencji. Wszystkie domyślne wartości i nazwy zmiennych środowiskowych pochodzą z oficjalnej referencji CLI. Jeśli oceniasz Ollama obok LocalAI, podręcznik skrócony CLI Ollama omawia jego polecenia serve, run, ps i zarządzanie modelami do porównania.

Flagi serwera i magazynu danych

Czego chcesz Flag Zmienna środowiskowa Uwagi
Zmień adres i port wiązania --address LOCALAI_ADDRESS Domyślnie :8080.
Zmień miejsce, gdzie żyją modele --models-path LOCALAI_MODELS_PATH Krytyczne dla trwałego magazynu i planowania dysku.
Oddziel stan zmienny od konfiguracji --data-path LOCALAI_DATA_PATH Przechowuje trwałe dane, takie jak stan agenta i zadania.
Ustaw lokalizację uploadu --upload-path LOCALAI_UPLOAD_PATH Dla API związanych z plikami.

FAQ LocalAI dokumentuje również domyślne lokalizacje magazynu modeli i jawnie zaleca LOCALAI_MODELS_PATH lub --models-path, jeśli chcesz mieć modele poza domyślnym katalogiem (na przykład, aby uniknąć wypełnienia katalogu domowego).

Flagi wydajności i pojemności

Czego chcesz Flag Zmienna środowiskowa Uwagi
Dostosuj użycie CPU --threads LOCALAI_THREADS Zalecane do dopasowania do rdzeni fizycznych; szeroko używane do tunowania wydajności.
Kontroluj kontekst na model --context-size LOCALAI_CONTEXT_SIZE Domyślny rozmiar kontekstu dla modeli.
Włącz tryb akceleracji GPU --f16 LOCALAI_F16 Dokumentowane jako „Włącz akcelerację GPU".
Ogranicz załadowane modele w pamięci --max-active-backends LOCALAI_MAX_ACTIVE_BACKENDS Włącza ewikcję LRU przy przekroczeniu; może ograniczyć zużycie pamięci.
Zatrzymaj bezwładne lub zawieszone backendy --enable-watchdog-idle / --enable-watchdog-busy LOCALAI_WATCHDOG_IDLE / LOCALAI_WATCHDOG_BUSY Przydatne przy uruchamianiu wielu modeli lub niestabilnych backendów.

Dla szerszej kompatybilności i ograniczeń akceleracji, tabela kompatybilności modeli dokumentuje, które backendy obsługują które tryby akceleracji (CUDA, ROCm, SYCL, Vulkan, Metal, CPU), a także zauważa, że modele niekonfigurowane jawnie mogą być automatycznie ładowane, podczas gdy konfiguracja YAML pozwala na przypięcie zachowania. Dla wdrożeń wielogpu o wysokiej przepustowości z PagedAttention, przewodnik szybkiego startu vLLM przeprowadza przez porównywalny serwer kompatybilny z OpenAI z konfiguracją nastawioną na produkcję.

Flagi API, bezpieczeństwa i UI

Czego chcesz Flag Zmienna środowiskowa Uwagi
Wymagaj kluczy API --api-keys LOCALAI_API_KEY / API_KEY Gdy ustawione, wszystkie żądania muszą się autoryzować z skonfigurowanym kluczem.
Pozwól przeglądarkom wywoływać API --cors / --cors-allow-origins LOCALAI_CORS / LOCALAI_CORS_ALLOW_ORIGINS Zostaw wyłączone, chyba że jest to konieczne.
Całkowicie wyłącz Web UI --disable-webui LOCALAI_DISABLE_WEBUI Tryb tylko API dla zabezpieczonych wdrożeń.
Zabezpiecz odpowiedzi błędów --opaque-errors LOCALAI_OPAQUE_ERRORS Przydatne w środowiskach o wysokim bezpieczeństwie.

Jeśli wystawiasz LocalAI zdalnie, powinieneś chronić punkty końcowe i możesz ograniczyć dostęp z kluczem API, klucz API skutecznie przyznaje pełny dostęp.

Przejście po interfejsie Web UI i jak to mapuje się na system

Domyślnie LocalAI serwuje wbudowany Web UI obok API (chyba że go wyłączysz). Dokumentacja mówi, że UI jest dostępne na tym samym hoście i porcie co serwer, zazwyczaj http://localhost:8080.

Co możesz zrobić we wbudowanym UI

Web UI to interfejs oparty na przeglądarce, który obejmuje:

  • Zarządzanie modelami i doświadczenie przeglądania galerii
  • Interakcje czatu
  • Interfejsy generowania obrazów i tekstu do mowy
  • Konfigurację rozproszoną i P2P

Struktura tras daje jasny model mentalny powierzchni UI:

  • / dla panelu sterowania
  • /browse dla przeglądarki galerii modeli
  • /chat/ dla czatu
  • /text2image/ dla generowania obrazów
  • /tts/ dla tekstu do mowy
  • /talk/ dla interakcji głosowej
  • /p2p dla ustawień i monitorowania P2P

Workflow Galerii Modeli i „Import Model"

Dla inżynierów najważniejszą funkcją UI jest obsługa modeli. Oficjalny przewodnik „Setting Up Models" opisuje:

  • Instalowanie modeli za pomocą zakładki Models z instalacją jednym kliknięciem.
  • Importowanie modeli przez UI Import Model, które obsługuje tryb prosty (URI + preferencje) i tryb zaawansowany z edytorem YAML i narzędziami walidacji.

To ma znaczenie, ponieważ LocalAI w końcu uruchamia modele na bazie konfiguracji YAML: możesz zarządzać pojedynczymi plikami YAML w katalogu modeli, używać jednego pliku z wieloma definicjami modeli poprzez --models-config-file, lub odwoływać się do zdalnych adresów URL YAML przy starcie.

Przykłady, które możesz wkleić do terminala

Punkty końcowe LocalAI kompatybilne z OpenAI są zaprojektowane tak, aby akceptować znane formaty żądań i zwracać odpowiedzi JSON (z punktami końcowymi audio zwracającymi payloady audio).

Przykład uzupełnień czatu z curl

Strona „Try it out" LocalAI pokazuje wywoływanie punktu końcowego uzupełnień czatu bezpośrednio:

curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [
      { "role": "user", "content": "Write a one paragraph explanation of what LocalAI is." }
    ],
    "temperature": 0.2
  }'

Obrazy AIO dostarczają skonfigurowane modele powiązane z nazwami podobnymi do OpenAI, takimi jak gpt-4, a dokumentacja kontenera wyjaśnia, że są one obsługiwane przez modele open-source.

Jeśli nie używasz obrazu AIO, zamień "model" na nazwę modelu, który zainstalowałeś (sprawdź z /v1/models).

Przykład embeddingi dla pipeline’ów RAG

LocalAI obsługuje embeddingi i dokumentuje, że endpoint embeddingi jest kompatybilny z wieloma backendami, w tym llama.cpp, bert.cpp i sentence-transformers.

Minimalne żądanie „osadz ten tekst" do punktu końcowego kompatybilnego z OpenAI wygląda następująco:

curl http://localhost:8080/v1/embeddings \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-ada-002",
    "input": "LocalAI embeddings are handy for semantic search and RAG."
  }'

Dokumentacja embeddingi LocalAI pokazuje również, jak embeddingi są włączane poprzez konfigurację YAML poprzez ustawienie embeddings: true.

Przykład używania klienta kompatybilnego z OpenAI

LocalAI jest zaprojektowany tak, abyś mógł użyć standardowych bibliotek klienta OpenAI, wskazując je na bazowy adres URL LocalAI (i opcjonalnie ustawiając klucz API, jeśli włączyłeś autoryzację). Cel „kompatybilnego zamiennika" jest opisany zarówno w oficjalnym README, jak i w dokumentacji kompatybilności OpenAI.

Typowa konfiguracja to:

  • Bazowy adres URL: http://localhost:8080/v1
  • Klucz API: albo nie wymagany (domyślnie), albo wymagany, jeśli skonfigurowałeś --api-keys

Podstawy bezpieczeństwa i rozwiązywania problemów

Zabezpiecz serwer LocalAI przed jego wystawieniem

LocalAI może działać całkowicie otwarty na localhost domyślnie. Jeśli wiążesz z publiczny interfejs lub wystawiasz go przez ingress, dodaj przynajmniej jeden z tych elementów kontrolnych:

  • Włącz autoryzację klucza API używając --api-keys / API_KEY.
  • Postaw reverse proxy i kontrole sieciowe przed nim (zapora, biała lista, VPN).
  • Wyłącz Web UI, jeśli potrzebujesz tylko API (--disable-webui).
  • Zostaw CORS wyłączony, chyba że klient oparty na przeglądarce naprawdę tego potrzebuje.

Gdy klucze API są włączone, punkty końcowe kompatybilne z OpenAI akceptują poświadczenia w common miejscach, takich jak nagłówek Bearer Authorization lub nagłówek x-api-key.

Szybka diagnostyka, gdy coś nie działa

Przewodnik rozwiązywania problemów LocalAI sugeruje mały zestaw sprawdzianów, które rozwiązują większość incydentów „czy działa":

# gotowość
curl http://localhost:8080/readyz

# lista modeli
curl http://localhost:8080/v1/models

# wersja
local-ai --version

Dokumentuje również włączanie logów debugowania poprzez DEBUG=true lub --log-level=debug, a dla wdrożeń Docker sprawdzanie logów kontenera z docker logs local-ai.