Interroger un modèle Mistral

Cette page explique comment interroger un modèle Mistral via API une fois que vous avez déployé votre service LLM (large language model) depuis OUTSCALE Marketplace. Pour en savoir plus sur le déploiement d’un service LLM Mistral, voir Souscrire à un service LLM Mistral et le déployer.

Les modèles déployés exposent une API REST que vous pouvez interroger à l’aide d’appels HTTP simples. Pour exécuter vos requêtes, vous devez définir les variables d’environnement suivantes :

  • OUTSCALE_SERVER_URL, qui correspond à l’URL de la machine virtuelle (VM) qui héberge votre modèle Mistral.

    L’URL de votre serveur suit le modèle suivant : http://${serveur}:5000.

  • OUTSCALE_MODEL_NAME, qui correspond au nom du modèle à interroger.

    • Pour le modèle Small, le nom du modèle à indiquer est small-2409.

    • Pour le modèle Codestral, le nom du modèle à indiquer est codestral-2405.

Les exemples donnés ci-dessous utilisent des commandes cURL ou Python pour interroger un modèle. Pour en savoir plus sur les différents types de requêtes pour interroger un modèle Mistral, voir la documentation officielle Mistral.

Interroger un modèle en mode complétion de conversation

Vous pouvez utiliser les commandes suivantes pour interroger votre modèle dans le cadre de tâches de génération de texte :

cURL (complétion)

$ echo $OUTSCALE_SERVER_URL/v1/chat/completions
$ echo $OUTSCALE_MODEL_NAME
$ curl --location $OUTSCALE_SRV_URL/v1/chat/completions \
  --header "Content-Type: application/json" \
  --header "Accept: application/json" \
  --data '{
      "model": "$OUTSCALE_MODEL_NAME",
      "temperature": 0,
      "messages": [
        {"role": "user", "content": "Who is the best French painter? Answer in one short sentence."}
      ],
      "stream": false
    }'

Python (complétion)

import os
from mistralai import Mistral

client = Mistral(server_url="OUTSCALE_SERVER_URL")

resp = client.chat.complete(
    model="OUTSCALE_MODEL_NAME",
    messages=[
        {
            "role": "user",
            "content": "Who is the best French painter? Answer in one short sentence.",
        }
    ],
    temperature=0
)

print(resp.choices[0].message.content)

Interroger un modèle Codestral en mode complétion FIM

Vous pouvez utiliser les commandes suivantes pour interroger votre modèle Codestral en mode FIM ("fill-in-the-middle" en anglais) dans le cadre de tâches de génération de code :

cURL (FIM)

$  curl --location $OUTSCALE_SERVER_URL/v1/fim/completions \
   --header "Content-Type: application/json" \
   --header "Accept: application/json" \
   --data '{
       "model": "$OUTSCALE_MODEL_NAME",
       "prompt": "def count_words_in_file(file_path: str) -> int:",
       "suffix": "return n_words",
       "stream": false
     }'

Python (FIM)

 import os
 from mistralai import Mistral

 client = Mistral(server_url="OUTSCALE_SERVER_URL")

 resp = client.fim.complete(
     model = "OUTSCALE_MODEL_NAME",
     prompt="def count_words_in_file(file_path: str) -> int:",
     suffix="return n_words"
 )

 print(resp.choices[0].message.content)

Page connexe