Ollama ! Ou comment, héberger votre Intelligence Artificielle ?

Ollama est un outil open source sous license MIT, qui vous permet d’héberger facilement votre propre modèle de langage avancé sur votre ordinateur ou votre serveur. Il fournit une interface simple pour interagir avec ces modèles et les intégrer dans vos applications.

Avec Ollama, vous pouvez :

  • Héberger des modèles de langage populaires tels que Llama 2,Falcon 40B et OPT-IML-2.7B sur votre propre matériel.
  • Interagir avec ces modèles via une interface en ligne de commande ou l’API HTTP fournie par Ollama.
  • Utiliser Ollama comme une passerelle pour accéder à des modèles hébergés sur d’autres serveurs, tels que les modèles proposés par NVIDIA.

Pour utiliser Ollama, vous devez disposer d’un ordinateur doté d’une carte graphique compatible avec le modèle de langage que vous souhaitez exécuter. Ollama prend en charge les cartes graphiques NVIDIA CUDA et AMD ROCm, ce qui permet l’exécution de modèles volumineux sur des machines puissantes.

Gentoo Linux était dépourvue d’installation classique pour Ollama. Les ebuilds prenant en charge l’application, sont directement installables, et fonctionnels. Ils sont disponible dans cet overlay dédié : https://ftp.pingwho.org/pub/gentoo/ftp/overlay/pingwho-overlay/app-misc/ollama-bin/

Par sécurité, ce paquet nécessite également, acct-user/ollama et acct-group/ollama, pour que le service fonctionne avec son utilisateur dédié, et ainsi restreindre l’accès au Shell.

Les logs de compilation, sont disponible içi :

https://gist.github.com/jaypeche/55d6c1fb1f6799a6ee027deb3e9bd3a9

ClamAV Realtime : Protection antivirale temps réel. Portage sous Gentoo GNU/Linux

Il s’agit ici d’une implémentation en C d’un script bash utilisant les librairies libnotify et libclamav pour réaliser une protection antivirale temps réel de base. ( Script original disponible ici  )

Le portage a été réalisé sous Gentoo Linux, mais il est bien sur possible  de le compiler à partir des sources sur n’importe quelle autre distribution.

La version initiale clamav-realtime-0.1.0 protège votre répertoire personnel des menaces en contrôlant les accès disques, et en soumettant les fichiers au moteur d’analyse ClamAV. Si une infection est détectée, celle-ci est déplacée en quarantaine.

Cette version constitue une version initiale du moteur d’analyse et de notifications systèmes.

Les APIs notify et clamav ont permis d’élaborer ce process. Un minimum de 600Mo de RAM est requis, principalement pour charger la base de donnée antivirale.

L’avantage de cette solution  est qu’elle ne nécessite pas que clamd soit lancé en tant que service.

  • Les sources sont disponibles en téléchargement. Référez-vous au fichier INSTALL pour les instructions de compilation.

https://ftp.pingwho.org/pub/gentoo/ftp/distfiles/clamav-realtime-0.1.0.tar.xz

  • L’ebuild pour le dépot Github dans ma branche overlay :

https://ftp.pingwho.org/pub/gentoo/ftp/overlay/pingwho-overlay/app-misc/clamav-realtime

Les logs de compilation : emerge.log

  • L’intégration graphique dans un environnement Gnome fonctionne parfaitement, un exemple avec une notification :

https://ftp.pingwho.org/pub/gentoo/ftp/distfiles/clamav-realtime-0.1.0-r1-screenshot.png

Pour cette première version, l’analyse ne se fait que dans /home/votre_user mais n’est pas capable de protéger récursivement votre répertoire personnel.

Je prévois d’utiliser l’API fanotify en lieu et place de inotify car cette librairie permet de surveiller les évenements sur votre système de fichiers de manière récursive. Votre noyau doit être compilé en conséquence, à savoir :

  • CONFIG_FANOTIFY=y
  • CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y

Pour info, cette fonctionnalité a été intégrée à la dernière version de ClamAV. Vous pouvez obtenir plus d’info içi :  http://blog.clamav.net/2016/03/configuring-on-access-scanning-in-clamav.html