Problème utilisation Mistral Api sur Azure

Saleha Bht 20 Points de réputation
2025-03-19T09:15:06.3733333+00:00

Bonjour,

Les appels à l'API de Mistral fonctionnent correctement via Azure mais lorsque j'essaye d'envoyer un historique de la conversation, j'ai une erreur.

Je fais appel à l'API de la façon suivante :

from mistralai_azure import MistralAzure


mistral = MistralAzure(
            azure_endpoint=os.getenv('MISTRAL_ENDPOINT'),
            azure_api_key=os.getenv('MISTRAL_API_KEY')
            )

Le test :

{    "messages": [        
{"role": "user", "content": "salut, quelle est la capitale de la France ?"},        
{"role": "assistant", "content": "Bonjour, la capitale de la France est Paris"},        {"role": "user", "content": "et celle de l'Afghanistan ?"}        
],    
"model": "Mistral",    
"temperature": 0.5
}

L'erreur que je rencontre :

Error: {"detail":[{"loc":["body","messages",1,"assistant","prefix"],"msg":"Extra inputs are not permitted","type":"extra_forbidden"}]}

Le rôle "assistant" n'a pas l'air d'être pris en compte. Pouvez vous m'aider à régler ce problème ?

Azure
Azure
Plateforme et infrastructure de cloud computing pour la génération, le déploiement et la gestion d’applications et de services à travers un réseau mondial de centres de données gérés par Microsoft.
609 questions
{count} votes

Réponse acceptée
  1. Sampath 3,750 Points de réputation Personnel externe Microsoft Modérateur
    2025-03-20T15:49:06.5666667+00:00

    Bonjour @@Saleha Bht,

    Je suis ravi que vous ayez pu résoudre votre problème et merci d'avoir partagé votre solution afin que d'autres personnes rencontrant le même souci puissent s’y référer facilement ! Comme la communauté Microsoft Q&A applique la règle suivante : "L’auteur de la question ne peut pas accepter sa propre réponse. Il ne peut accepter que les réponses d’autres personnes", je republie votre solution au cas où vous souhaiteriez accepter la réponse.

    Solution :

    Tout d'abord, un grand merci à tous pour votre aide et votre patience ! J’apprécie énormément la collaboration avec cette communauté.

    Le problème que j’ai rencontré était dû à l’utilisation d’un ancien modèle obsolète sur Azure, ce qui entraînait une erreur lors de l'envoi de l'historique de conversation.

    J’ai résolu ce problème en mettant à jour le modèle dans ma requête API et en m’assurant d’avoir le bon format pour les messages. Voici la solution fonctionnelle :

    
    from mistralai.client import MistralClient
    
    from mistralai.models.chat_completion import ChatMessage
    
    import os
    
    # Initialisation du client Mistral
    
    mistral = MistralClient(
    
        endpoint=os.getenv('MISTRAL_ENDPOINT'),
    
        api_key=os.getenv('MISTRAL_API_KEY')
    
    )
    
    # Définition de l'historique de conversation
    
    messages = [
    
        ChatMessage(role="user", content="Salut, quelle est la capitale de la France ?"),
    
        ChatMessage(role="assistant", content="Bonjour, la capitale de la France est Paris."),
    
        ChatMessage(role="user", content="Et celle de l'Afghanistan ?")
    
    ]
    
    # Envoi de la requête
    
    chat_response = mistral.complete(
    
        model="Mistral-Large-2411",  # Nom du modèle mis à jour
    
        messages=messages,
    
        temperature=0.5
    
    )
    
    # Affichage de la réponse
    
    print(chat_response.choices[0].message.content)
    
    

    Référez-vous à la documentation pour Mistral-Small et Mistral-Large sur Azure.

    Référez-vous à la documentation pour utiliser Mistral dans Azure AI et Azure ML.
    Résumé de la correction :

    1. Mise à jour du nom du modèle utilisé dans la requête API vers une version prise en charge (Mistral-Large-2411).
    2. Correction du format des messages en utilisant la classe ChatMessage.
    3. Validation de la structure de l'API pour assurer la conformité avec les exigences d’Azure Mistral.

    Si cette réponse vous a été utile, merci de cliquer sur "Accepter la réponse" et de voter positivement afin d’aider d’autres personnes confrontées à un problème similaire.

    1 personne a trouvé cette réponse utile.
    0 commentaires Aucun commentaire

0 réponses supplémentaires

Trier par : Le plus utile

Votre réponse

Les réponses peuvent être marquées comme Réponses acceptées par l’auteur de la question, ce qui permet aux utilisateurs de connaître la réponse qui a résolu le problème de l’auteur.