La documentation open source fournie par Mistral AI : un trésor de ressources pour les développeurs

Mistral AI a mis en ligne à disposition du grand public une importante documentation accessible directement depuis leur site officiel.

Néanmoins, ces ressources ne sont accessibles qu’en anglais.

Sur cette page, nous vous proposons un guide en français de ces ressources documentaires afin d’offrir au public francophone une perspective privilégiée de cette technologie.

Introduction à la documentation de Mistral AI

Mistral AI est une plateforme de traitement de langage naturel basée sur l’Intelligence Artificielle qui permet aux développeurs de créer des applications de traitement de langage naturel puissantes et sophistiquées.

La plateforme de Mistral AI offre une gamme complète de modèles de langage pré-entraînés, d’outils de développement et de services de déploiement pour aider les développeurs à créer rapidement et facilement des applications de traitement de langage naturel.

La documentation de Mistral AI est conçue pour vous aider à tirer le meilleur parti de la plateforme.

Elle couvre tout ce dont vous avez besoin pour commencer à utiliser la plateforme, y compris des guides de démarrage rapide, des tutoriels, des références d’API et des exemples de code.

Dans cette documentation, vous apprendrez à :

  • Utiliser les modèles de langage pré-entraînés par Mistral AI pour créer des applications de traitement de langage naturel.
  • Entraîner vos propres modèles de langage personnalisés à l’aide de la plateforme d’entraînement.
  • Utiliser les outils de développement pour créer, tester et déboguer vos applications.
  • Déployer vos applications sur la plateforme de déploiement sécurisée et évolutive conçue par Mistral AI.
  • Intégrer les services de traitement de langage naturel dans vos propres applications à l’aide des API et bibliothèques clientes.



Par où commencer pour utiliser Mistral AI ?

Si vous êtes nouveau sur Mistral AI, nous vous recommandons de commencer par les étapes suivantes pour vous familiariser avec la plateforme et ses produits.


  • Créez un compte Mistral AI

Pour utiliser les produits Mistral AI, vous devez d’abord créer un compte.

Vous pouvez créer un compte en cliquant sur le bouton « S’inscrire » en haut à droite de la page d’accueil du site officiel de Mistral AI.


  • Explorez la console Mistral AI

Une fois que vous avez créé un compte, vous pouvez accéder à la console de Mistral AI.

La console est votre tableau de bord pour gérer vos modèles, vos projets et vos déploiements.

Vous pouvez explorer cette console en cliquant sur le bouton « Console » en haut à droite de la page d’accueil du site officiel de Mistral AI .


  • Découvrez les modèles

Mistral AI propose une gamme de modèles de langage pré-entraînés pour répondre à différents cas d’utilisation.

Vous pouvez découvrir ces modèles en cliquant sur le bouton « Modèles » dans la console.

Vous pouvez également en savoir plus sur nos modèles en lisant notre documentation sur les modèles.


  • Créez votre premier projet

Un projet est un espace de travail pour développer et déployer vos applications de traitement du langage naturel.

Vous pouvez créer votre premier projet en cliquant sur le bouton « Créer un projet » dans la console.


  • Déployez votre premier modèle

Une fois que vous avez créé un projet, vous pouvez déployer un modèle de langage pour commencer à l’utiliser dans votre application.

Vous pouvez déployer votre premier modèle en suivant les instructions du guide de déploiement.


  • Explorez l’API

Mistral AI propose une API REST pour intégrer ses modèles de langage dans vos applications.

Vous pouvez explorer cette API en lisant la documentation sur l’API.


  • Rejoignez la communauté

Mistral AI dispose d’une communauté active d’utilisateurs et de développeurs.

Vous pouvez rejoindre cette communauté en vous inscrivant au forum communautaire ou en suivant ses réseaux sociaux.

Comment accéder à l’API de Mistral AI ?

Accès à l’API

Authentification

Mistral AI fournit une API RESTful pour permettre aux développeurs d’accéder à ses modèles de langage.

L’API est conçue pour être facile à utiliser et à intégrer dans n’importe quelle application.

Dans cette section, nous allons vous montrer comment accéder à l’API et comment l’utiliser pour envoyer des requêtes aux modèles de langage de Mistral AI.

Pour accéder à l’API, vous devez d’abord obtenir une clé API.

Vous pouvez obtenir une clé API en vous inscrivant sur le site web et en créant un compte Mistral AI.

Une fois que vous avez créé un compte, vous pouvez accéder à la page de votre compte et générer une nouvelle clé API.

Une fois que vous avez une clé API, vous devez l’inclure dans l’en-tête de chaque requête que vous envoyez à l’API.

L’en-tête doit être nommé « Authorization » et la valeur doit être « Bearer <votre clé API> ».


Exemple de requête

Voici un exemple de requête à l’API de Mistral AI pour obtenir une prédiction à partir du modèle de langage :

exemple requête API Mistral AI

Dans cet exemple, nous envoyons une requête GET à l’URL de l’API pour obtenir une prédiction à partir du modèle de langage spécifié.

Nous incluons également notre clé API dans l’en-tête « Authorization » et nous spécifions le type de contenu comme étant du JSON.

Le corps de la requête contient les données d’entrée pour la prédiction.

Réponse

La réponse à la requête sera un objet JSON contenant les résultats de la prédiction.


Voici un exemple de réponse :

exemple réponse requête API Mistral AI

Dans cet exemple, la réponse contient un tableau d’objets « outputs » qui contient les résultats de la prédiction.

Chaque objet contient un jeton et un score correspondant à la probabilité que ce jeton soit la bonne prédiction.

Limites de l’API de Mistral AI

L’utilisation de l’API est soumise à certaines limites pour garantir une utilisation équitable pour tous les utilisateurs.


Les limites actuelles sont les suivantes :

  • 5 requêtes par seconde par utilisateur
  • 10 000 jetons par requête


Si vous dépassez ces limites, vous recevrez une réponse d’erreur avec un code d’état HTTP 429 (Too Many Requests).

Poids bruts des modèles de Mistral AI

Mistral AI fournit également la possibilité de télécharger les poids bruts des modèles pour une utilisation hors ligne ou pour une intégration dans des systèmes tiers.

Dans cette section, nous allons vous montrer comment accéder aux poids bruts des modèles et comment les utiliser.

Téléchargement des poids bruts des modèles de Mistral AI

Les poids bruts des modèles peuvent être téléchargés à partir de la page de téléchargement des modèles sur le site officiel de Mistral AI.

Les fichiers de poids sont fournis au format TensorFlow SavedModel.

Une fois que vous avez téléchargé les fichiers de poids, vous pouvez les charger dans votre propre code TensorFlow pour une intégration dans des systèmes tiers ou pour les utiliser en mode hors ligne.

Utilisation des poids bruts des modèles de Mistral AI

Pour utiliser les poids bruts des modèles, vous devez d’abord charger le fichier SavedModel dans votre code TensorFlow.

Voici un exemple de code pour charger un modèle Mistral AI à partir d’un fichier SavedModel :

exemple code charger modèle Mistral AI fichier SavedModel

Limites d’utilisation des poids bruts des modèles de Mistral AI

L’utilisation des poids bruts des modèles est soumise à certaines limites pour garantir une utilisation équitable pour tous les utilisateurs.

Les limites actuelles sont les suivantes :

  • Les poids bruts des modèles ne peuvent être utilisés que pour une utilisation hors ligne ou pour une intégration dans des systèmes tiers.
  • Les poids bruts des modèles ne peuvent pas être utilisés pour fournir des services commerciaux ou pour concurrencer les services fournis par Mistral AI.
  • Les poids bruts des modèles ne peuvent pas être distribués ou partagés avec des tiers sans l’autorisation écrite préalable de Mistral AI.

Vue d’ensemble de la plateforme de Mistral AI

Fonctionnalités de la plateforme de Mistral AI

La plateforme Mistral AI offre les fonctionnalités suivantes :

  • Développement de modèles : la plateforme fournit des outils pour le développement et l’entraînement de modèles de langage personnalisés à l’aide de données propriétaires ou publiques. Les modèles peuvent être entraînés à l’aide de TensorFlow ou de PyTorch.
  • Déploiement de modèles : la plateforme permet le déploiement de modèles entraînés en tant que services RESTful pour une utilisation en production. Les modèles peuvent être déployés sur des instances cloud ou sur site.
  • Gestion de modèles : la plateforme fournit des outils pour la gestion des modèles déployés, y compris la surveillance des performances, la mise à l’échelle et la mise à jour des modèles.
  • Accès aux modèles : la plateforme permet aux utilisateurs d’accéder aux modèles déployés via une interface utilisateur graphique conviviale ou via une API RESTful.
  • Sécurité et conformité : la plateforme offre des fonctionnalités de sécurité et de conformité pour protéger les données et les modèles, y compris l’authentification et l’autorisation des utilisateurs, le chiffrement des données en transit et au repos, et la conformité avec les réglementations telles que le RGPD.

Architecture de la plateforme de Mistral AI

La plateforme Mistral AI est construite sur une architecture microservices à haute disponibilité et évolutive.

Elle utilise Kubernetes pour la gestion des conteneurs et des déploiements, et Prometheus et Grafana pour la surveillance et la visualisation des performances.

La plateforme est conçue pour être modulaire et extensible, permettant aux utilisateurs de personnaliser et d’étendre ses fonctionnalités en fonction de leurs besoins spécifiques. Les composants clés de la plateforme comprennent :

  • Le service de gestion des modèles : un service RESTful pour la gestion des modèles, y compris l’entraînement, le déploiement et la surveillance des performances.
  • Le service de déploiement des modèles : un service RESTful pour le déploiement et la mise à l’échelle des modèles en tant que services RESTful.
  • Le service de gestion des données : un service RESTful pour la gestion des données d’entraînement et de test des modèles.
  • Le service d’authentification et d’autorisation : un service RESTful pour l’authentification et l’autorisation des utilisateurs et des applications.
  • L’interface utilisateur graphique : une interface utilisateur graphique conviviale pour les développeurs et les utilisateurs finaux.

Qu’est ce que le « code client Mistral AI » ?

Le code client Mistral AI est une bibliothèque Python qui permet aux utilisateurs d’interagir avec la plateforme Mistral AI de manière programmatique.


Alternativement, Mistral AI fournit un code client Javascript pour accéder à ses modèles de langage depuis des applications web.

Le code client Javascript est un package npm qui peut être installé et utilisé dans n’importe quelle application Node.js ou navigateur.


Enfin, il est possible d’avoir accès à l’API Mistral AI avec curl.

Mistral AI fournit une API RESTful pour accéder à ses modèles de langage.

Les utilisateurs peuvent interagir avec l’API en utilisant des requêtes HTTP à l’aide de curl.


Le code client fournit une interface simple et cohérente pour accéder à toutes les fonctionnalités de la plateforme, y compris l’entraînement, le déploiement et la gestion des modèles de langage.


Installation de la bibliothèque code client Mistral AI en Python

Le code client Mistral AI peut être installé à l’aide de pip, le gestionnaire de paquets Python.

Pour installer le code client, exécutez la commande suivante dans votre terminal : pip install mistralai

Authentification code client Mistral AI en Python

Pour utiliser le code client Mistral AI, vous devez d’abord vous authentifier auprès de la plateforme.

Le code client utilise l’authentification OAuth 2.0 pour autoriser l’accès aux ressources de la plateforme.

Pour obtenir un jeton d’accès, vous devez créer un compte sur la plateforme Mistral AI et générer un jeton d’accès à partir de la page de votre compte.

Une fois que vous avez obtenu un jeton d’accès, vous pouvez l’utiliser pour authentifier le code client en définissant la variable d’environnement MISTRAL_API_TOKEN ou en la passant en tant qu’argument à la méthode login() du client.


Voici un exemple d’utilisation de la méthode login() pour authentifier le client :

exemple méthode login() authentifier client Mistral AI

Utilisation du code client Mistral AI

Une fois que vous avez authentifié le code client, vous pouvez utiliser ses méthodes pour interagir avec la plateforme Mistral AI.


Voici quelques exemples d’utilisation du code client pour :

  • Entraîner un modèle de langage
  • Déployer un modèle de langage
  • Effectuer une prédiction à l’aide d’un modèle de langage
  • Gérer les déploiements de modèles


Entraîner un modèle de langage grâce au code client Mistral AI:

Entraîner modèle de langage Client Mistral AI

Déployer un modèle de langage grâce au code client Mistral AI:

Déployer modèle de langage Client Mistral AI

Effectuer une prédiction à l’aide d’un modèle de langage grâce au code client Mistral AI:

Prédiction modèle de langage Client Mistral AI

Gérer les déploiements de modèles de langage grâce au code client Mistral AI:

Utilisation du code client Mistral AI avec streaming

Le client Mistral AI prend en charge le streaming pour les méthodes predict() et generate().

Le streaming permet de transmettre les données d’entrée et de sortie entre le client et la plateforme en temps réel, ce qui peut être utile pour les applications nécessitant une réponse immédiate.

Pour utiliser le streaming, vous devez définir l’argument stream sur True lors de l’appel des méthodes predict() et generate() du client.


Voici un exemple d’utilisation de la méthode predict() avec streaming :

exemple Mistral AI utilisation méthode predict() avec streaming

Lorsque vous utilisez le streaming, le client renvoie un générateur qui peut être utilisé pour itérer sur les prédictions au fur et à mesure qu’elles sont reçues de la plateforme.

Cela permet de traiter les données en temps réel et de réduire la latence.

Le streaming peut être particulièrement utile pour les applications de génération de texte, où le modèle génère du texte en continu en fonction des entrées de l’utilisateur.


Voici un exemple d’utilisation de la méthode generate() avec streaming :

Dans cet exemple, le client utilise la méthode generate() pour générer du texte à partir du modèle déployé, en utilisant une longueur maximale de 100 caractères.

Le générateur renvoyé par la méthode generate() peut être utilisé pour itérer sur les générations au fur et à mesure qu’elles sont reçues de la plateforme.

Utilisation du code client Mistral AI sans streaming

Par défaut, le client Mistral AI utilise le streaming pour transmettre les données d’entrée et de sortie entre le client et la plateforme. Cependant, dans certains cas, vous pouvez souhaiter désactiver le streaming et envoyer les données en une seule fois.

Pour désactiver le streaming, vous pouvez définir l’argument stream sur False lors de l’appel des méthodes predict() et generate() du client.


Voici un exemple d’utilisation de la méthode predict() sans streaming :

exemple Mistral AI utilisation méthode predict() sans streaming

Lorsque vous désactivez le streaming, le client attend que la plateforme traite l’ensemble des données avant de renvoyer une réponse.

Cela peut prendre plus de temps que le streaming, en particulier pour les données volumineuses.

Cependant, cela peut être utile dans les cas où vous avez besoin d’une réponse complète en une seule fois, ou si vous souhaitez envoyer des données à la plateforme en une seule requête.

Utilisation du code client Mistral AI avec async

Le client Mistral AI prend également en charge l’utilisation de requêtes asynchrones pour les méthodes predict() et generate().

Cela permet d’envoyer plusieurs requêtes en même temps sans avoir à attendre la réponse de la plateforme pour chaque requête.

Pour utiliser des requêtes asynchrones, vous devez utiliser la bibliothèque asyncio de Python.


Voici un exemple d’utilisation de la méthode predict() avec async :

exemple Mistra AI requêtes asynchrones

Dans cet exemple, une liste de requêtes est créée en utilisant la méthode predict_async() du client.

Utilisez ensuite la fonction asyncio.gather() pour envoyer toutes les requêtes en même temps et attendre les réponses de la plateforme.


Notez que les méthodes predict_async() et generate_async() renvoient des objets AsyncGenerator, qui peuvent être utilisés pour itérer sur les résultats au fur et à mesure qu’ils sont reçus de la plateforme.


Voici un exemple d’utilisation de la méthode generate_async() avec async :

Dans cet exemple, nous utilisons la méthode generate_async() pour générer un texte à partir d’une invite donnée.

Nous utilisons ensuite une boucle async for pour itérer sur les résultats au fur et à mesure qu’ils sont reçus de la plateforme.

Installation du code client Mistral AI en Javascript

Pour installer le client Javascript, utilisez la commande suivante : npm install @mistralai/client

Authentification du code client Mistral AI en Javascript

Avant d’utiliser le code client Javascript, vous devez obtenir une clé API depuis le site web de Mistral AI.

Une fois que vous avez obtenu votre clé API, vous pouvez l’utiliser pour authentifier le client Javascript.

Utilisation du code client Mistral AI en Javascript

Le code client Javascript fournit des méthodes pour accéder aux modèles de langage de Mistral AI et effectuer des requêtes.


Voici un exemple d’utilisation du code client pour générer du texte à partir d’un modèle de langage :

Dans cet exemple, nous utilisons la méthode generateText du client Javascript pour générer du texte à partir du modèle mistral/small. Nous fournissons également un texte d’invite (prompt) et une longueur maximale de texte généré (maxLength).

Le client Javascript fournit également des méthodes pour entraîner des modèles personnalisés et gérer les déploiements de modèles.

Authentification du code client Mistral AI avec curl

Pour accéder à l’API Mistral AI, les utilisateurs doivent s’authentifier en fournissant une clé API dans l’en-tête de la requête HTTP.

La clé API peut être obtenue en créant un compte sur le site web de Mistral AI.

Exemple de requête Mistral AI avec curl

Voici un exemple de requête curl pour générer du texte à partir d’un modèle de langage :

exemple requête curl Mistral AI générer texte modèle langage

Dans cet exemple, nous utilisons la méthode POST pour envoyer une requête à l’API Mistral AI.

Nous fournissons également les en-têtes Authorization et Content-Type, ainsi que les données JSON contenant les paramètres de la requête.


La réponse de l’API Mistral AI sera au format JSON et contiendra le texte généré par le modèle de langage.

Voici un exemple de réponse :

Intallation du code client Mistral AI en Go

Le client Mistral AI fournit également une bibliothèque cliente pour le langage de programmation Go.

Cette bibliothèque permet d’interagir avec la plateforme Mistral AI à partir d’applications écrites en Go.

Pour utiliser le client Go, vous devez d’abord installer le package en utilisant : go get github.com/mistral-ai/mistral-client-go


Une fois le package installé, vous pouvez importer la bibliothèque cliente dans votre code Go :

Mistral AI importer bibliothèque cliente code Go

Utilisation du client en Go

Voici un exemple d’utilisation du client Go pour effectuer une prédiction :

exemple utilisation client Go prédiction

Dans cet exemple, nous créons un client Mistral AI en utilisant notre clé API.

Nous créons ensuite une requête de prédiction pour le déploiement my-deployment-id et l’entrée What’s the weather like today?.

Nous utilisons ensuite la méthode Predict du client pour effectuer la prédiction et afficher le résultat.

Utilisation du client en Ruby

Le client Mistral AI fournit aussi une bibliothèque cliente pour le langage de programmation Ruby qui permet d’interagir avec la plateforme Mistral AI à partir d’applications écrites en Ruby.


Pour utiliser le client Ruby, vous devez d’abord installer la gem mistral-ai en utilisant gem install.


Une fois la gem installée, vous pouvez importer la bibliothèque cliente dans votre code Ruby :

Mistral AI importer bibliothèque cliente code Ruby

Voici un exemple d’utilisation du client Ruby pour effectuer une prédiction :

exemple Mistral AI utilisation client Ruby prédiction

Dans cet exemple, nous créons un client Mistral AI en utilisant notre clé API.

Nous créons ensuite une requête de prédiction pour le déploiement my-deployment-id et l’entrée What’s the weather like today?.

Nous utilisons ensuite la méthode predict du client pour effectuer la prédiction et afficher le résultat.

Utilisation du client en mode JSON

Le client Mistral AI prend en charge l’utilisation du mode JSON pour les méthodes predict() et generate().

Cela permet d’envoyer et de recevoir des données au format JSON, ce qui peut être utile pour les applications qui nécessitent une intégration avec d’autres systèmes.


Pour utiliser le mode JSON, vous devez définir l’argument json_mode sur True lors de l’appel des méthodes predict() et generate() du client.

Voici un exemple d’utilisation de la méthode predict() en mode JSON :

exemple méthode predict() mode JSON

Dans cet exemple, un dictionnaire input_data contennt les données d’entrée au format JSON est créer.

Ensuite, l’utilisation de la méthode predict() du client en définissant l’argument json_mode sur True permet d’envoyer les données au format JSON à la plateforme.

Enfin, la réponse s’affiche au format JSON.


Notez que lorsque vous utilisez le mode JSON, les données d’entrée et de sortie doivent être sérialisées et désérialisées manuellement.

Vous devez également vous assurer que les données d’entrée sont conformes au format attendu par le modèle déployé.

Utilisation des embeddings

Le client Mistral AI prend en charge l’utilisation des embeddings pour les méthodes predict() et generate().

Les embeddings sont des représentations numériques denses de mots ou de phrases qui peuvent être utilisées pour capturer leur signification sémantique.

Pour utiliser les embeddings, vous devez d’abord obtenir un modèle d’embedding à partir de la plateforme Mistral AI.

Vous pouvez ensuite utiliser ce modèle pour convertir les données d’entrée en embeddings et les envoyer à la plateforme pour effectuer des prédictions ou des générations.


Voici un exemple d’utilisation de la méthode predict() avec des embeddings :

exemple méthode predict() embeddings

Dans cet exemple, nous obtenons un modèle d’embedding à partir de la plateforme en utilisant la méthode get_embedding_model() du client.

Nous utilisons ensuite ce modèle pour convertir les données d’entrée en embeddings en utilisant la méthode encode() du modèle.

Enfin, nous utilisons la méthode predict() du client pour effectuer une prédiction à l’aide des embeddings.


Notez que les embeddings doivent être conformes au format attendu par le modèle déployé.

Vous pouvez obtenir des informations sur le format d’entrée attendu en utilisant la méthode get_deployment_info() du client.

Utilisation de l’interface en ligne de commande (CLI)

Le client Mistral AI fournit également une interface en ligne de commande (CLI) pour interagir avec la plateforme.

La CLI permet d’effectuer des tâches courantes telles que la création de déploiements, la gestion des modèles et l’exécution de prédictions ou de générations à partir de la ligne de commande.


Pour utiliser la CLI, vous devez d’abord installer le client Mistral AI en utilisant pip : pip install mistral-ai


Une fois le client installé, vous pouvez accéder à la CLI en utilisant la commande mistral :

Mistral AI CLI commande

Cela affichera une liste des commandes disponibles et de leurs options.

Voici un exemple d’utilisation de la CLI pour créer un déploiement, dans cet exemple, nous utilisons la commande deployments create pour créer un nouveau déploiement avec le nom my-deployment et le modèle my-model-id :

exemple utilisation CLI déploiement

Voici un exemple d’utilisation de la CLI pour effectuer une prédiction, dans cet exemple, nous utilisons la commande predict pour effectuer une prédiction à l’aide du déploiement my-deployment-id et de l’entrée What’s the weather like today? :

exemple utilisation CLI prédiction