Qu'est-ce que l'API Ollama ?

Ollama est un outil open-source permettant d'exécuter des grands modèles de langage (LLM) localement sur votre machine. Il fournit une API REST qui accepte des requêtes HTTP, vous permettant d'interagir avec des modèles tels que Llama 3, Mistral, Gemma et bien d'autres directement depuis votre terminal ou votre code d'application. L'API suit un schéma simple de requête/réponse basé sur JSON et prend en charge la génération de texte, les conversations multi-tours et les embeddings de texte.

cURL est la méthode la plus courante pour tester et interagir avec l'API Ollama. Cependant, construire la bonne commande cURL avec tous les paramètres, en-têtes et la mise en forme du corps JSON appropriés peut être fastidieux et source d'erreurs, notamment lors du réglage des options du modèle comme la température et l'échantillonnage top-k.

Description de l'outil

Cet outil génère des commandes cURL prêtes à l'emploi pour les endpoints de l'API Ollama. Sélectionnez un endpoint, configurez votre modèle et vos paramètres, et obtenez instantanément une commande cURL correctement formatée. La commande générée inclut tous les en-têtes nécessaires, la structure du corps JSON et les options du modèle — prête à être collée dans votre terminal.

Exemples

Génération de texte simple :

curl -X POST "http://localhost:11434/api/generate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "Explain quantum computing in simple terms",
  "stream": true
}'

Chat avec prompt système et température personnalisée :

curl -X POST "http://localhost:11434/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "messages": [
    { "role": "system", "content": "You are a helpful coding assistant." },
    { "role": "user", "content": "Write a Python function to reverse a string" }
  ],
  "stream": false,
  "options": {
    "temperature": 0.3
  }
}'

Générer des embeddings :

curl -X POST "http://localhost:11434/api/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "The quick brown fox jumps over the lazy dog",
  "stream": false
}'

Fonctionnalités

  • Prend en charge les trois principaux endpoints Ollama : /api/generate, /api/chat et /api/embeddings
  • Options du modèle configurables : température, top-p, top-k, nombre maximum de tokens, pénalité de répétition et seed
  • Prise en charge du prompt système pour les endpoints de génération et de chat
  • Option de format de réponse JSON pour une sortie structurée
  • Téléchargement de la commande générée sous forme de fichier .sh

Explication des options

Option Description Défaut Plage
Température Contrôle l'aléatoire de la sortie. Des valeurs plus basses produisent un texte plus ciblé, des valeurs plus élevées augmentent la créativité. 0.7 0–2
Top P Seuil d'échantillonnage nucléaire. Le modèle prend en compte les tokens dont la probabilité cumulée atteint cette valeur. 0.9 0–1
Top K Limite la sélection des tokens aux K candidats les plus probables à chaque étape. 40 1–100
Nombre maximum de tokens Nombre maximum de tokens à générer dans la réponse. Définir à -1 pour illimité. 128 -1–4096
Pénalité de répétition Pénalise les tokens répétés. Des valeurs supérieures à 1.0 découragent la répétition. 1.1 0–2
Seed Seed fixe pour une sortie reproductible. Laisser vide pour des résultats aléatoires. Tout entier
Format de réponse Définir sur JSON pour forcer le modèle à retourner une sortie JSON valide. Aucun Aucun / JSON
Stream Lorsqu'il est activé, la réponse est diffusée token par token. Désactiver pour recevoir la réponse complète en une seule fois. Activé Activé / Désactivé

Cas d'utilisation

  • Prototyper et tester rapidement des appels à l'API Ollama depuis le terminal sans écrire manuellement du JSON
  • Générer des commandes cURL à partager avec des coéquipiers ou à inclure dans la documentation
  • Expérimenter différents paramètres de modèle pour trouver les réglages optimaux pour votre cas d'usage