Fix spelling

This commit is contained in:
nemunaire 2024-08-31 12:24:00 +02:00
parent 66e9ea1578
commit 8301e35252

View File

@ -8,7 +8,7 @@ tags:
- privacy
---
Utiliser les IA génératives sans partager ses données avec des entreprises ou des états qui rafolent de nos données, c'est possible et accessible.
Utiliser les IA génératives sans partager ses données avec des entreprises ou des États qui raffolent de nos données, c'est possible et accessible.
Le monde des logiciels libres regorge d'applications pour évaluer et utiliser les IA génératives. Après de nombreux tests, je vous présente ici le fichier cloud-init pour déployer votre propre instance de LocalAI en moins de 5 minutes.
@ -18,21 +18,21 @@ Le monde des logiciels libres regorge d'applications pour évaluer et utiliser l
LocalAI est un logiciel libre qui a pour vocation d'offrir une alternative locale, auto-hébergée, aux prestataires de services d'IA.
Cette application expose une API compatible avec celle d'OpenAI.
L'idée est de pouvoir remplacer en un clin d'œil les appels à OpenAI de n'importe quelle application existente : il suffit de changer le domaine où pointe l'API.
L'idée est de pouvoir remplacer en un clin d'œil les appels à OpenAI de n'importe quelle application existante : il suffit de changer le domaine où pointe l'API.
Toutes les fonctionnalités d'OpenAI sont répliquées : complétion de texte, génération d'image (Dall-E), transcription d'audio (Whisper), chat avec un assistant AI, y compris avec les appels de fonction, les embeddings, ...
Cependant, ce n'est pas les modèles d'OpenAI, Anthropic ou Google qui sont utilisés pour faire ces tâches : cela passe par des modèles ouverts, tels que Mistral ou Llama de Meta, mais le catalogue de modèles est immense.
Cependant, ce ne sont pas les modèles d'OpenAI, Anthropic ou Google qui sont utilisés pour faire ces tâches : cela passe par des modèles ouverts, tels que Mistral ou Llama de Meta, mais le catalogue de modèles est immense.
Notons que LocalAI fourni aussi une interface web pour gérer les modèles et tester chaque fonctionnalité.
Notons que LocalAI fournit aussi une interface web pour gérer les modèles et tester chaque fonctionnalité.
Il ne faut pas s'attendre à avoir une interface à la ChatGPT, ce n'est pas le but ici.
## Choisir sa machine
LocalAI fonctionne sur n'importe quelle machine : du Raspberry Pi au serveur avec une carte graphique à 20000 €.
LocalAI fonctionne sur n'importe quelle machine, du Raspberry Pi au serveur avec une carte graphique à 20000 €.
Néanmoins, il ne faudra pas s'attendre à des performances acceptables sur les petites machines, et garder en tête que les gros modèles, similaire à ceux auxquels on accède au travers de ChatGPT, Claude, ... nécessitent beaucoup de mémoire. Pour avoir une idée des spécifications nécessaires, [voyez cet article](https://www.theregister.com/2024/08/25/ai_pc_buying_guide/).
Néanmoins, il ne faudra pas s'attendre à des performances acceptables sur les petites machines, et il faudra garder en tête que les gros modèles, similaires à ceux auxquels on accède au travers de ChatGPT, Claude, ... nécessitent beaucoup de mémoire. Pour avoir une idée des spécifications nécessaires, [voyez cet article](https://www.theregister.com/2024/08/25/ai_pc_buying_guide/).
Lorsque l'on a pas de matériel à dédier à l'IA, le cloud peut être un bon moyen d'évaluer les performances et les cas d'usages.
@ -43,7 +43,7 @@ J'ai pu tester les différentes machines GPU d'OVH, disponibles entre 0,70 €/h
- NVIDIA A100
Selon la carte graphique, la version de CUDA utilisée sera différente.
Les cartes ci-dessus sont toutes compatibles avec CUDA 12, mais pour d'autres cartes, il pourra être nécessaire d'adapter la version dans le script cloud-init.
Les cartes ci-dessus sont toutes compatibles avec CUDA 12, mais pour d'autres cartes, il pourra être nécessaire d'adapter la version dans le script `cloud-init`.
Je recommande d'avoir au moins 100 GB d'espace disque sur la machine, afin de pouvoir évaluer de nombreux modèles sans devoir faire le tri régulièrement.
@ -51,7 +51,7 @@ Je recommande d'avoir au moins 100 GB d'espace disque sur la machine, afin de po
## Le script cloud-init
`cloud-init` est une méthode standard pour configurer automatiquement une nouvelle machine.
La quasi-totalité des fournisseurs de cloud sont compatibles.
La quasi-totalité des fournisseurs de cloud est compatible.
Il s'agit généralement d'une métadonnée transmise à la machine lors de son démarrage.
@ -110,7 +110,7 @@ runcmd:
### Machine avec carte graphique
Avec une carte graphique, l'exercice est complexifié par le fait qu'il faut commencer par installer les modules du noyau pour piloter la carte graphique, ainsi que le nécessaire pour que Docker puisse attribuer la carte au conteneur.
Avec une carte graphique, l'exercice est rendu plus complexe par le fait qu'il faut commencer par installer les modules du noyau pour piloter la carte graphique, ainsi que le nécessaire pour que Docker puisse attribuer la carte au conteneur.
```yaml
#cloud-config
@ -171,16 +171,18 @@ Pour aller au plus simple et rendre le service utilisable directement, j'ai util
#### Certificat TLS
Les environnements cloud étant prompt à la création et à la destruction des machines rapidement, comme il n'y a pas de persistance ici, il convient d'être vigilient car si la machine est recréée, de nouveaux certificats vont être demandés, ce qui peut rapidement conduire [au dépassement du nombre de certificats émis pour le domaine](https://letsencrypt.org/docs/duplicate-certificate-limit/).
Les environnements cloud étant prompts à la création et à la destruction des machines rapidement, comme il n'y a pas de persistance ici, il convient d'être vigilant car si la machine est recréée, de nouveaux certificats vont être demandés, ce qui peut rapidement conduire [au dépassement du nombre de certificats émis pour le domaine](https://letsencrypt.org/docs/duplicate-certificate-limit/).
Afin d'avoir un comportement sain, le script que je vous propose se contente de demander des certificats à l'instance de test de Let's Encrypt.
Lorsque vous aurez terminés vos tests, vous pourrez simplement effacer ou commenter la ligne `acme_ca` dans la configuration de Caddy.
Lorsque vous aurez terminé vos tests, vous pourrez simplement effacer ou commenter la ligne `acme_ca` dans la configuration de Caddy.
#### Restriction d'accès
Les services en ligne tel que ChatGPT, Claude, ... requiert de s'authentifier au moyen d'une clef d'API. Il n'y a pas de tel concept dans LocalAI : n'importe quelle clef d'API sera considérée valide.
Les services en ligne tels que ChatGPT, Claude, ... requièrent de s'authentifier au moyen d'une clef d'API.
Il n'y a pas de tel concept dans LocalAI : n'importe quelle clef d'API sera considérée valide.
Il faut donc protéger l'accès autrement.
Si votre machine est exposée directement sur Internet, il convient de protéger l'accès à LocalAI afin que l'API ne soit pas utilisé par n'importe qui.
Si votre machine est exposée directement sur Internet, il convient de protéger l'accès à LocalAI afin que l'API ne soit pas utilisée par n'importe qui.
Il faut adapter la configuration de Caddy pour autoriser vos IP, dans la liste `@my-ips`, ou à défaut d'IP fixes, [créer des utilisateurs pour l'authentification Basic](https://caddyserver.com/docs/caddyfile/directives/basic_auth).