đź“– Ollama Cookbook

Bienvenue dans ce "cookbook" non officiel d'Ollama. Ce guide est conçu pour vous fournir une série de recettes claires et pratiques, allant de l'installation de base aux applications avancées, en utilisant JavaScript pour les exemples de code.

Table des matières


1. Installation et Premiers Pas

Recette 1.1 : Installer Ollama

Ollama est disponible pour macOS, Windows et Linux. L'installation est simple et rapide.

Recette 1.2 : Télécharger et exécuter un modèle

Une fois Ollama installé, vous pouvez télécharger et exécuter des modèles depuis la ligne de commande.

Pour télécharger un modèle (par exemple, Mistral) :

ollama pull mistral

Pour exécuter le modèle et commencer à converser :

ollama run mistral

2. Personnalisation des Modèles

Recette 2.1 : Créer un Modelfile

Un Modelfile vous permet de définir le comportement d'un modèle.

Recette 2.2 : Personnaliser le comportement d'un modèle

Modifiez la personnalité du modèle en ajoutant des instructions dans votre Modelfile.

Pour que le modèle se comporte comme un chat :

FROM llama3
SYSTEM """
Vous êtes une IA avec la personnalité d'un chat. Vous répondez toujours par des "miaous", "prrrr" ou d'autres sons de chat.
"""

Pour modifier la température (qui contrôle la créativité) :

FROM llama3
PARAMETER temperature 0.8

3. Utilisation Avancée

Recette 3.1 : Générer des embeddings (représentations de texte)

Les embeddings sont cruciaux pour les applications de RAG. Vous pouvez les générer avec un modèle comme nomic-embed-text.

ollama run nomic-embed-text "Je suis une phrase d'exemple."

Recette 3.2 : Utiliser l'API Ollama (compatible OpenAI) avec JavaScript

Ollama expose une API REST compatible avec l'API OpenAI. Voici comment l'utiliser avec JavaScript.

// Nécessite d'installer la bibliothèque ollama-js: npm install ollama
import ollama from 'ollama'

async function chatWithOllama() {
  const response = await ollama.chat({
    model: 'llama3',
    messages: [{ role: 'user', content: 'Quelle est la capitale de la France ?' }],
  });

  console.log(response.message.content);
}

chatWithOllama();

Recette 3.3 : Créer une application multimodale avec LLaVA

Les modèles multimodaux, comme LLaVA, peuvent analyser des images.


4. Intégration avec des Frameworks

Recette 4.1 : Pipeline RAG avec LlamaIndex et JavaScript

Le RAG (Retrieval-Augmented Generation) permet à votre modèle de consulter une base de connaissances externe. Voici comment le faire avec LlamaIndex en JavaScript.

// Nécessite d'installer les dépendances : npm install llama-index ollama
import {
  VectorStoreIndex,
  SimpleDirectoryReader,
  Ollama
} from "llama-index";

async function runRagPipeline() {
  // 1. Charger des documents
  const documents = await new SimpleDirectoryReader().loadData({directoryPath: "data"});

  // 2. Créer un index vectoriel
  const index = await VectorStoreIndex.fromDocuments(documents, { llm: new Ollama({ model: "mistral" }) });

  // 3. Créer un moteur de requête et poser une question
  const queryEngine = index.asQueryEngine();
  const response = await queryEngine.query("Qu'est-ce qui est mentionné à propos des recettes dans les documents ?");

  console.log(response.response);
}

runRagPipeline();

5. Bonus : Outils Complémentaires

Recette 5.1 : Installer Open WebUI

Pour une interface graphique, Open WebUI est une excellente alternative Ă  la ligne de commande.