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.

Klu Ollama

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èleDescriptionTéléchargementsMis à jour
llama2Le modèle le plus populaire pour un usage général.200Kil y a 7 jours
mistralLe modèle 7B publié par Mistral AI, mis à jour en version 0.2.110Kil y a 5 jours
codellamaUn grand modèle de langage qui peut utiliser des invites textuelles pour générer et discuter de code.91Kil y a 2 mois
dolphin-mixtralUn modèle non censuré et affiné basé sur le Mixtral MoE qui excelle dans les tâches de codage.76Kil y a 3 jours
llama2-uncensoredModèle Llama 2 non censuré par George Sung et Jarrad Hope.44Kil 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

  1. Téléchargez Ollama depuis le site officiel.
  2. 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.
  3. 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.

Klu Ollama Run Model

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 :

  1. Développement — Itérer rapidement localement sans avoir besoin de déployer des changements de modèle.
  2. 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.
  3. 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.
  4. 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 :

  1. Mistral — Le modèle Mistral 7B publié par Mistral AI.
  2. Llama2 — Le modèle le plus populaire pour un usage général.
  3. CodeLlama — Un grand modèle de langage qui peut utiliser des invites textuelles pour générer et discuter de code.
  4. Llama2-Uncensored — Modèle Llama 2 non censuré par George Sung et Jarrad Hope.
  5. 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.
  6. Vicuna — Modèle de chat d'usage général basé sur Llama et Llama 2 avec des tailles de contexte de 2K à 16K.
  7. 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.
  8. Phind-CodeLlama — Modèle de génération de code basé sur CodeLlama.
  9. Nous-Hermes — Modèles d'usage général basés sur Llama et Llama 2 de Nous Research.
  10. 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.
  11. WizardCoder — Modèle de génération de code basé sur Llama axé sur Python.
  12. Wizard-Math — Modèle axé sur les problèmes de mathématiques et de logique.
  13. Modèle Llama 2 affiné — Pour répondre aux questions médicales basées sur un jeu de données médicales open source.
  14. Wizard-Vicuna — Wizard Vicuna est un modèle de 13B paramètres basé sur Llama 2 formé par MelodysDreamj.
  15. 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.

More terms

What is Isolation Forest (AI)?

Isolation Forest (iForest) is an unsupervised anomaly detection algorithm that works by isolating anomalies from normal instances in a dataset based on their unique statistical properties. It builds a collection of randomized decision trees, where each tree recursively partitions the input space along randomly selected feature dimensions and split points until reaching a leaf node. Anomalous instances are expected to be isolated more quickly than normal instances due to their distinct characteristics or rarity in the dataset.

Read more

What is theoretical computer science (TCS)?

Theoretical Computer Science (TCS) is a subset of general computer science and mathematics that focuses on the mathematical and abstract aspects of computing. It is concerned with the theory of computation, formal language theory, the lambda calculus, and type theory. TCS covers a wide variety of topics including algorithms, data structures, computational complexity, parallel and distributed computation, probabilistic computation, and quantum computation. It also dives into program semantics and quantification theory.

Read more

It's time to build

Collaborate with your team on reliable Generative AI features.
Want expert guidance? Book a 1:1 onboarding session from your dashboard.

Start for free