Initial vault setup
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
---
|
||||
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](https://localai.io/) |
|
||||
| **GitHub** | [mudler/LocalAI](https://github.com/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é)
|
||||
|
||||
```yaml
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
# 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 :
|
||||
|
||||
```yaml
|
||||
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 :
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
- [Site officiel](https://localai.io/)
|
||||
- [Documentation](https://localai.io/basics/getting_started/)
|
||||
- [GitHub](https://github.com/mudler/LocalAI)
|
||||
- [Discord LocalAI](https://discord.gg/localai)
|
||||
- [Galerie de modèles](https://localai.io/models/)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-artificial-intelligence]] — Catégorie parente
|
||||
- [[recettes-docker-compose]] — Templates Docker Compose
|
||||
- **Ollama** — Concurrent principal (le plus simple) _(fiche à créer)_
|
||||
- [[app-open-webui]] — Frontend web pour consommer LocalAI
|
||||
- [[app-librechat]] — Frontend alternatif
|
||||
- [[app-unsloth-studio]] — Pour fine-tuner les modèles servis par LocalAI
|
||||
Reference in New Issue
Block a user