Files
wiki/Catalogue-Self-Hosted/apps/app-localai.md
T
2026-06-09 18:40:21 +02:00

7.0 KiB


title: LocalAI created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, artificial-intelligence, llm, inference, openai-compatible, go, gpu, cpu, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Artificial+Intelligence, https://github.com/mudler/LocalAI]

LocalAI

Drop-in replacement OpenAI, self-hosted, en Go — faites tourner n'importe quel modèle (LLM, vision, voix, image, vidéo) sur n'importe quel hardware (CPU, GPU, Apple Silicon, AMD) en exposant une API 100% compatible OpenAI (et Anthropic). Pas de GPU requis.

Métadonnée Valeur
Site web localai.io
GitHub mudler/LocalAI
License MIT
Langage Go
Étoiles 4 138
Dernière MAJ 2026-06-04
Catégorie cat-artificial-intelligence

Description

LocalAI est l'un des projets les plus ambitieux de l'écosystème IA self-hosted. Sa promesse : remplacer l'API OpenAI dans n'importe quelle application existante, sans changer une ligne de code, en faisant tourner les modèles localement ou sur votre propre infrastructure.

Le projet supporte un écosystème massif de modèles via des backends pluggables (basés sur llama.cpp, BERT, whisper.cpp, stable-diffusion.cpp, etc.) : LLMs (Llama, Mistral, Qwen, Phi, Gemma, DeepSeek, et des centaines d'autres au format GGUF), vision (LLaVA, Moondream, Florence-2), TTS (Piper, Coqui), STT (whisper), embeddings (BERT, nomic-embed, BGE), génération d'images (Stable Diffusion), et même vidéo. Le tout avec une architecture modulaire : on n'installe que ce qu'on utilise.

L'API exposée est strictement compatible OpenAI : /v1/chat/completions, /v1/embeddings, /v1/images/generations, /v1/audio/speech, /v1/audio/transcriptions, etc. Cela signifie que n'importe quel client OpenAI (app-open-webui, app-librechat, langchain, autogen, Continue.dev) fonctionne out-of-the-box en pointant simplement sur http://localhost:8080/v1 au lieu de https://api.openai.com/v1. Une compatibilité Anthropic est aussi disponible pour les clients Claude.

Le positionnement vs Ollama est complémentaire : Ollama est plus simple et orienté "une commande pour télécharger et lancer un modèle", LocalAI est plus modulaire, plus léger (un seul binaire Go, ~50 Mo), et plus proche d'une API server classique (parfait pour microservices et production).

Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'

services:
  localai:
    image: localai/localai:latest
    container_name: localai
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - localai_models:/build/models
      - localai_config:/build/configurations
    environment:
      - DEBUG=false
      - MODELS_PATH=/build/models
      - THREADS=4
      - CONTEXT_SIZE=4096
    # Décommenter pour GPU NVIDIA :
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - capabilities: [gpu]

  # Frontend recommandé pour tester
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    ports:
      - "3000:8080"
    environment:
      - OPENAI_API_BASE_URL=http://localai:8080/v1
      - OPENAI_API_KEY=localai-not-required
    depends_on:
      - localai

volumes:
  localai_models:
  localai_config:

Option 2 : Installation manuelle (binaire Go)

# Linux/macOS
curl -L https://github.com/mudler/LocalAI/releases/latest/download/local-ai-Linux-x86_64 -o local-ai
chmod +x local-ai
./local-ai

# macOS Apple Silicon
curl -L https://github.com/mudler/LocalAI/releases/latest/download/local-ai-Darwin-arm64 -o local-ai

Configuration

Configuration via fichier YAML ou flags CLI. Le fichier configurations/llama-cpp.yaml est créé par défaut :

name: "llama-cpp"
parameters:
  model: "llama-3.2-3b-instruct-q4_k_m.gguf"
  context_size: 4096
  threads: 4
  # backend: "llama-cpp"  # ou "bert", "whisper", "stablediffusion", etc.

Pour télécharger un modèle :

# Via CLI
local-ai models install llama-3.2-3b-instruct

# Ou manuellement : déposer un .gguf dans /build/models/

Variables d'environnement clés :

  • MODELS_PATH : répertoire des modèles (défaut /build/models)
  • THREADS : nombre de threads CPU
  • CONTEXT_SIZE : taille du contexte (4096 par défaut)
  • DEBUG=true : logs verbeux
  • API_KEY=*** : active l'authentification par Bearer token

Alternatives

Open Source

  • app-ollama — concurrent principal, plus simple d'usage, plus orienté "télécharger-lancer"
  • llama.cpp (projet parent) — moteur C++ sous-jacent, sans l'API server
  • vLLM — plus rapide sur gros GPU, support OpenAI API, mais GPU NVIDIA uniquement
  • llamafile — binaire unique portable, sans Docker
  • koboldcpp — UI Windows-friendly, plus hobbyiste
  • LM Studio — GUI desktop, gratuit pour usage perso mais pas self-hostable

Propriétaires (ce que cette app remplace)

  • OpenAI API — Cloud, facturé au token, données envoyées aux USA
  • Anthropic API — Idem pour Claude
  • Google Gemini API — Cloud, vendor lock-in
  • Together AI / Fireworks / Groq — Cloud "low-cost", données hors de chez vous
  • Azure OpenAI — Enterprise mais vendor lock-in Microsoft

Sécurité

  • Pas d'auth par défaut : LocalAI n'exige pas de token API par défaut — toujours activer API_KEY si exposé via reverse proxy
  • Exposition réseau : ne JAMAIS exposer le port 8080 directement sur Internet — passer par app-caddy ou app-traefik avec HTTPS et rate limiting
  • Téléchargement de modèles : les modèles viennent de Hugging Face — vérifier le sha256 et la source, des modèles backdoorisés circulent
  • Code interpreter / tools : LocalAI peut exécuter des fonctions arbitraires (Function Calling) — auditer les prompts et les outputs
  • Logs : désactiver DEBUG en production, les logs peuvent contenir des extraits de prompts utilisateur
  • Modèles : un modèle fine-tuné malveillant peut exfiltrer des données d'entraînement — ne fine-tunez jamais sur des secrets en clair
  • Docker socket : ne pas monter /var/run/docker.sock sauf besoin avéré

Ressources

Pages Liées