Qu'est-ce que Ollama?
by Stephen M. Walker II, Co-Fondateur / PDG
Ollama se distingue comme un outil convivial, rapide et léger, conçu pour exécuter des modèles de langage de grande taille (LLM) localement sur votre ordinateur. Sa polyvalence se manifeste à travers sa prise en charge d'une gamme étendue de LLM, offrant ainsi une flexibilité remarquable aux utilisateurs.
Parmi les modèles compatibles, on trouve notamment LLaMA-2, sa version non censurée, ainsi que des variantes spécialisées telles que CodeLLaMA. Ollama intègre également des modèles comme Falcon, Mistral, Vicuna, WizardCoder, et la version non censurée de Wizard, élargissant ainsi considérablement les possibilités d'application et d'expérimentation pour les utilisateurs.
Modèles Ollama
Ollama est un outil puissant permettant d'exécuter localement des modèles de langage de grande taille (LLM) open-source. Compatible avec divers modèles tels que Llama 2 et Code Llama, Ollama simplifie l'utilisation des LLM en regroupant les poids du modèle, la configuration et les données dans un paquet unique, défini par un Modelfile. Cette approche intégrée facilite le déploiement et l'utilisation de LLM sophistiqués sur des machines personnelles.
Les 5 modèles les plus populaires sur Ollama sont :
Modèle | Description | Téléchargements | Mis à jour |
---|---|---|---|
llama2 | Le modèle le plus populaire pour un usage général. | 200K | il y a 7 jours |
mistral | Le modèle 7B publié par Mistral AI, mis à jour en version 0.2. | 110K | il y a 5 jours |
codellama | Un grand modèle de langage qui peut utiliser des invites textuelles pour générer et discuter de code. | 91K | il y a 2 mois |
dolphin-mixtral | Un modèle non censuré et affiné basé sur le Mixtral MoE qui excelle dans les tâches de codage. | 76K | il y a 3 jours |
llama2-uncensored | Modèle Llama 2 non censuré par George Sung et Jarrad Hope. | 44K | il y a 2 mois |
Ollama offre la possibilité de créer et d'utiliser des modèles personnalisés. Le processus implique l'utilisation d'un Modelfile, qui guide la création du modèle en spécifiant le fichier source, en définissant les couches, en écrivant les poids, et se termine par un message confirmant le succès de l'opération. Certains des autres modèles disponibles sur Ollama incluent :
- Llama2 : Un modèle fondamental.
- Mistral/Mixtral : Un modèle de 7 milliards de paramètres affiné sur le modèle Mistral 7B en utilisant le jeu de données OpenOrca.
- Llava : Un modèle multimodal appelé LLaVA (Large Language and Vision Assistant) qui peut interpréter des entrées visuelles.
- CodeLlama : Un modèle formé à la fois sur le code et le langage naturel en anglais.
- DeepSeek Coder : Formé à partir de zéro sur 87 % de code et 13 % de langage naturel en anglais.
- Meditron : Un modèle de langage de grande taille médical open-source adapté de Llama 2 au domaine médical.
Installation et configuration d'Ollama
- Téléchargez Ollama depuis le site officiel.
- Après le téléchargement, le processus d'installation est simple et similaire à celui d'autres installations logicielles. Pour les utilisateurs de MacOS et Linux, vous pouvez installer Ollama avec une seule commande :
curl https://ollama.ai/install.sh | sh
. - Une fois installé, Ollama crée une API où il sert le modèle, permettant aux utilisateurs d'interagir directement avec le modèle depuis leur machine locale.
Ollama offre une compatibilité étendue avec macOS et Linux, tandis que le support Windows est en développement. Son installation simplifiée permet aux utilisateurs d'exécuter localement une variété de modèles open-source. La bibliothèque Ollama propose un large choix de modèles, permettant aux utilisateurs de sélectionner et d'exécuter celui qui correspond le mieux à leurs besoins spécifiques.
Exécution de modèles à l'aide d'Ollama
Exécuter des modèles à l'aide d'Ollama est un processus simple. Les utilisateurs peuvent télécharger et exécuter des modèles en utilisant la commande run
dans le terminal. Si le modèle n'est pas installé, Ollama le téléchargera automatiquement en premier. Par exemple, pour exécuter le modèle Code Llama, vous utiliseriez la commande ollama run codellama
.
Utilisation d'Ollama avec Python
Vous pouvez également utiliser Ollama avec Python. LiteLLM est une bibliothèque Python qui fournit une interface unifiée pour interagir avec divers LLM, y compris ceux exécutés par Ollama.
Pour utiliser Ollama avec LiteLLM, vous devez d'abord vous assurer que votre serveur Ollama est en fonctionnement. Ensuite, vous pouvez utiliser la fonction litellm.completion
pour faire des requêtes au serveur. Voici un exemple de comment faire :
from litellm import completion
réponse = completion(
modèle="ollama/llama2",
messages=[{ "content": "répondez en 20 mots. qui êtes-vous ?", "role": "user"}],
api_base="http://localhost:11434"
)
print(réponse)
Dans cet exemple, ollama/llama2
est le modèle utilisé, et le paramètre messages
contient l'entrée pour le modèle. Le paramètre api_base
est l'adresse du serveur Ollama.
Le cas d'utilisation que cela débloque est la capacité d'exécuter des LLM localement, ce qui peut être bénéfique pour plusieurs raisons :
- Développement — Itérer rapidement localement sans avoir besoin de déployer des changements de modèle.
- Vie privée et sécurité — Exécuter des modèles localement signifie que vos données ne quittent pas votre machine, ce qui peut être crucial si vous travaillez avec des informations sensibles.
- Coût — Selon le volume de votre utilisation, exécuter des modèles localement pourrait être plus rentable que de faire des appels API à un service cloud.
- Contrôle — Vous avez plus de contrôle sur le modèle et pouvez l'ajuster selon les besoins.
De plus, l'interface unifiée de LiteLLM vous permet de passer facilement entre différents fournisseurs de LLM, ce qui peut être utile si vous souhaitez comparer les performances de différents modèles ou si vous avez des modèles spécifiques que vous préférez pour certaines tâches.
Dans cet exemple, base_url
est l'URL où Ollama sert le modèle (par défaut, c'est http://localhost:11434
), et modèle
est le nom du modèle que vous souhaitez utiliser (dans ce cas, llama2
).
Fonctionnalités supplémentaires
L'une des caractéristiques uniques d'Ollama est son soutien à l'importation des formats de fichiers GGUF et GGML dans le Modelfile. Cela signifie que si vous avez un modèle qui n'est pas dans la bibliothèque Ollama, vous pouvez le créer, l'itérer dessus, et le télécharger dans la bibliothèque Ollama pour le partager avec d'autres lorsque vous êtes prêt.
Modèles disponibles
Ollama prend en charge une variété de modèles, et vous pouvez trouver une liste des modèles disponibles sur la page de la bibliothèque de modèles Ollama.
Ollama prend en charge une variété de modèles de langage de grande taille. Voici certains des modèles disponibles sur Ollama :
- Mistral — Le modèle Mistral 7B publié par Mistral AI.
- Llama2 — Le modèle le plus populaire pour un usage général.
- CodeLlama — Un grand modèle de langage qui peut utiliser des invites textuelles pour générer et discuter de code.
- Llama2-Uncensored — Modèle Llama 2 non censuré par George Sung et Jarrad Hope.
- Orca-Mini — Un modèle polyvalent allant de 3 milliards de paramètres à 70 milliards, adapté pour le matériel de niveau d'entrée.
- Vicuna — Modèle de chat d'usage général basé sur Llama et Llama 2 avec des tailles de contexte de 2K à 16K.
- Wizard-Vicuna-Uncensored — Wizard Vicuna Uncensored est un modèle de 7B, 13B et 30B paramètres basé sur Llama 2 non censuré par Eric Hartford.
- Phind-CodeLlama — Modèle de génération de code basé sur CodeLlama.
- Nous-Hermes — Modèles d'usage général basés sur Llama et Llama 2 de Nous Research.
- Mistral-OpenOrca — Mistral OpenOrca est un modèle de 7 milliards de paramètres, affiné sur le modèle Mistral 7B en utilisant le jeu de données OpenOrca.
- WizardCoder — Modèle de génération de code basé sur Llama axé sur Python.
- Wizard-Math — Modèle axé sur les problèmes de mathématiques et de logique.
- Modèle Llama 2 affiné — Pour répondre aux questions médicales basées sur un jeu de données médicales open source.
- Wizard-Vicuna — Wizard Vicuna est un modèle de 13B paramètres basé sur Llama 2 formé par MelodysDreamj.
- Open-Orca-Platypus2 — Fusion du modèle Open Orca OpenChat et du modèle Garage-bAInd Platypus 2. Conçu pour la génération de chat et de code.
Vous pouvez trouver une liste complète des modèles disponibles sur la page de la bibliothèque de modèles Ollama.
N'oubliez pas de vous assurer que vous disposez de suffisamment de RAM pour le modèle que vous exécutez. Par exemple, le modèle Code Llama recommande 8 Go de mémoire pour un modèle de 7 milliards de paramètres, 16 Go pour un modèle de 13 milliards de paramètres et 32 Go pour un modèle de 34 milliards de paramètres.
Conclusion
Ollama est un outil puissant pour exécuter des modèles de langage de grande taille localement, facilitant ainsi pour les utilisateurs l'exploitation de la puissance des LLM. Que vous soyez un développeur cherchant à intégrer l'IA dans vos applications ou un chercheur explorant les capacités des LLM, Ollama offre une plateforme conviviale et flexible pour exécuter ces modèles sur votre machine locale.