⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Utiliser Docker Model Runner

Requires: Docker Compose 2.35.0 and later, and Docker Desktop 4.41 and later

Docker Model Runner peut être intégré avec Docker Compose pour exécuter des modèles d'IA dans le cadre de vos applications multi-conteneurs.
Cela vous permet de définir et d'exécuter des applications alimentées par l'IA aux côtés de vos autres services.

Prérequis

Services de fournisseur

Compose introduit un nouveau type de service appelé provider qui vous permet de déclarer les capacités de plateforme requises par votre application. Pour les modèles d'IA, vous pouvez utiliser le type model pour déclarer les dépendances de modèle.

Voici un exemple de comment définir un fournisseur de modèle :

services:
  chat:
    image: my-chat-app
    depends_on:
      - ai_runner

  ai_runner:
    provider:
      type: model
      options:
        model: ai/smollm2

Remarquez l'attribut provider dédié dans le service ai_runner.
Cet attribut spécifie que le service est un fournisseur de modèle et vous permet de définir des options telles que le nom du modèle à utiliser.

Il y a aussi un attribut depends_on dans le service chat.
Cet attribut spécifie que le service chat dépend du service ai_runner.
Cela signifie que le service ai_runner sera démarré avant le service chat pour permettre l'injection d'informations de modèle dans le service chat.

Comment ça fonctionne

Pendant le processus docker compose up, Docker Model Runner tire et exécute automatiquement le modèle spécifié.
Il envoie également à Compose le nom de tag du modèle et l'URL pour accéder au model runner.

Cette information est ensuite transmise aux services qui déclarent une dépendance sur le fournisseur de modèle.
Dans l'exemple ci-dessus, le service chat reçoit 2 variables d'environnement préfixées par le nom du service :

  • AI_RUNNER_URL avec l'URL pour accéder au model runner
  • AI_RUNNER_MODEL avec le nom du modèle qui pourrait être passé avec l'URL pour demander le modèle.

Cela permet au service chat d'interagir avec le modèle et de l'utiliser pour ses propres besoins.

Référence