Partage via


Comment déployer JAIS avec Azure AI Studio

Important

Certaines des fonctionnalités décrites dans cet article peuvent uniquement être disponibles en préversion. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Dans cet article, vous allez apprendre à utiliser Azure AI Studio pour déployer le modèle JAIS en tant qu’API serverless avec facturation basée sur le paiement à l’utilisation.

Le modèle JAIS est disponible dans Azure AI Studio avec facturation basée sur le paiement à l’utilisation avec modèles en tant que service.

Vous trouverez le modèle JAIS dans le catalogue de modèles en filtrant sur la collection JAIS.

Prérequis

  • Un abonnement Azure avec un moyen de paiement valide. Les abonnements Azure gratuits ou d’essai ne fonctionnent pas. Si vous ne disposez pas d’un abonnement Azure, commencez par créer un compte Azure payant.

  • Un hub Azure AI Studio.

    Important

    Pour les modèles JAIS, l’offre de modèle de déploiement d’API serverless est disponible uniquement avec les hubs créés dans la région USA Est 2 ou Suède Centre.

  • Un Projet AI Studio dans Azure AI Studio.

  • Les contrôles d’accès en fonction du rôle (RBAC) Azure sont utilisés pour octroyer l’accès aux opérations dans Azure AI Studio. Pour effectuer les étapes décrites dans cet article, votre compte d’utilisateur doit avoir le Rôle de développeur Azure AI sur le groupe de ressources. Pour plus d’informations sur les autorisations, consultez Contrôle d’accès en fonction du rôle dans Azure AI Studio.

JAIS 30b Chat

JAIS 30b Chat est un LLM auto-régressif bilingue pour l’arabeet l’anglais. Les versions paramétrées utilisent le réglage précis supervisé (SFT). Le modèle est affiné à la fois avec des paires prompt-réponse en arabe et en anglais. Les jeux de données d’affinage comportaient un large éventail de données d’instruction dans différents domaines. Le modèle couvre un large éventail de tâches courantes, notamment la réponse aux questions, la génération de code et le raisonnement sur le contenu textuel. Pour améliorer les performances en arabe, l’équipe Core42 a développé un jeu de données arabe interne ainsi que la traduction de certaines instructions en anglais open source en arabe.

Longueur du contexte : JAIS prend en charge une longueur de contexte de 8 Ko.

Entrée : entrée de modèle est du texte uniquement.

Sortie : Modèle génère uniquement du texte.

Déployer en tant qu’API serverless

Certains modèles du catalogue de modèles peuvent être déployés en tant qu’API serverless avec facturation avec paiement à l’utilisation. Ce type de déploiement permet de consommer des modèles en tant qu’API sans les héberger sur votre abonnement, tout en conservant la sécurité et la conformité de l’entreprise dont les organisations ont besoin. Cette option de déploiement ne nécessite pas de quota à partir de votre abonnement.

Le modèle de conversation JAIS 30b mentionné précédemment peut être déployé en tant que service avec facturation avec paiement à l’utilisation et est proposé par Core42 via la Place de marché Microsoft Azure. Core42 peut modifier ou mettre à jour les conditions d’utilisation et la tarification de ce modèle.

Créer un déploiement

Pour créer un déploiement :

  1. Connectez-vous à Azure AI Studio.

  2. Sélectionnez catalogue de modèles dans la barre latérale gauche.

  3. Recherchez JAIS et sélectionnez le modèle Jais-30b-chat.

    Capture d’écran montrant un modèle dans le catalogue de modèles.

  4. Sélectionnez Déployer pour ouvrir une fenêtre de déploiement d’API serverless pour le modèle.

    Capture d’écran montrant comment déployer un modèle avec l’option paiement à l’utilisation.

  5. Sélectionnez le projet dans lequel vous souhaitez déployer votre modèle. Pour déployer le modèle, votre projet doit se trouver dans la région USA Est 2 ou Suède Centre.

  6. Dans l’Assistant Déploiement, sélectionnez le lien vers les Conditions d’utilisation de la Place de marché Azure pour en savoir plus sur les conditions d’utilisation.

  7. Sélectionnez l’onglet Tarification et conditions pour en savoir plus sur la tarification du modèle sélectionné.

  8. Sélectionnez le bouton S’abonner et déployer. Si c’est la première fois que vous déployez le modèle dans le projet, vous devez vous abonner à votre projet pour l’offre particulière. Cette étape nécessite que votre compte dispose des autorisations du rôle Développeur Azure AI sur le groupe de ressources, comme indiqué dans les conditions préalables. Chaque projet a son propre abonnement à l’offre du modèle spécifique de la Place de marché Azure, ce qui vous permet de contrôler et de suivre les dépenses. Actuellement, vous ne pouvez avoir qu’un seul déploiement pour chaque modèle au sein d’un projet.

    Capture d’écran montrant les conditions générales d’un modèle donné.

  9. Une fois que vous avez abonné le projet à l’offre spécifique de la Place de marché Azure, les déploiements suivants de la même offre dans le même projet ne nécessitent pas un nouvel abonnement. Si ce scénario s’applique à vous, vous devez sélectionner l’option Continuer à déployer.

    Capture d’écran montrant un projet déjà abonné à l’offre.

  10. Donnez un nom au déploiement. Ce nom va faire partie de l’URL de l’API de déploiement. Cette URL doit être unique dans chaque région Azure.

    Capture d’écran montrant comment indiquer le nom du déploiement à créer.

  11. Sélectionnez Déployer. Une fois que le déploiement est prêt, vous êtes redirigé vers la page Déploiements.

  12. Sélectionnez Ouvrir dans le terrain de jeu pour commencer à interagir avec le modèle.

  13. Vous pouvez revenir à la page Déploiements, sélectionner le déploiement et noter l’URL cible du point de terminaison et la clé secrète. Pour plus d’informations sur l’utilisation des API, consultez la section Référence.

  14. Vous pouvez toujours trouver les détails, l’URL et les clés d’accès du point de terminaison en accédant à la page de vue d’ensemble du projet. Ensuite, dans la barre latérale gauche de votre projet, sélectionnez Components>Deployments.

Pour en savoir plus sur la facturation des modèles JAIS déployés en tant qu’API serverless avec facturation basée sur les jetons de paiement à l’utilisation, consultez Considérations relatives au coût et au quota pour les modèles JAIS déployés en tant que service

Utiliser le modèle de conversation JAIS 30b en tant que service

Ces modèles peuvent être consommés à l’aide de l’API de conversation.

  1. Depuis la page de vue d’ensemble du projet, accédez à la barre latérale gauche, puis sélectionnez Composants>Déploiements.

  2. Recherchez et sélectionnez le déploiement que vous avez créé.

  3. Copiez l’URL cible et la valeur clé .

Pour plus d’informations sur l’utilisation des API, consultez la section Référence.

Référence de l'API Chat pour JAIS déployé en tant que service

v1/chat/completions

Requête

    POST /v1/chat/completions HTTP/1.1
    Host: <DEPLOYMENT_URI>
    Authorization: Bearer <TOKEN>
    Content-type: application/json

Schéma de requête v1/chat/completions

JAIS 30b Chat accepte les paramètres suivants pour un appel d’inférence de réponse v1/chat/completions :

Propriété Type Default Description
messages array None Entrée de texte à laquelle le modèle doit répondre.
max_tokens integer None Nombre maximal de jetons générés par le modèle dans le cadre de la réponse. Remarque : La définition d’une valeur faible peut entraîner des générations incomplètes. En l’absence de spécification, des jetons sont générés jusqu’à la fin de la séquence.
temperature float 0.3 Contrôle l’aléatoire dans le modèle. Les valeurs inférieures rendent le modèle plus déterministe et plus élevé rendent le modèle plus aléatoire.
top_p float None La probabilité cumulative des jetons de vocabulaire de probabilité les plus élevés du paramètre à conserver pour l’échantillonnage du noyau, a la valeur null par défaut.
top_k integer None Nombre de jetons de vocabulaire les plus probables à conserver pour le filtrage top-k ; la valeur par défaut est Null.

Un message système ou utilisateur prend en charge les propriétés suivantes :

Propriété Type Default Description
role enum Obligatoire role=system ou role=user.
content string Requis Entrée de texte à laquelle le modèle doit répondre.

Un message d’Assistant prend en charge les propriétés suivantes :

Propriété Type Default Description
role enum Obligatoire role=assistant
content string Requis Contenu du message de l’Assistant.

Schéma de réponse v1/chat/completions

La charge utile de réponse est un dictionnaire avec les champs suivants :

Clé Type Description
id string Identificateur unique de la saisie semi-automatique.
choices array Liste des choix d’achèvement générés pour les messages d’entrée.
created integer Horodatage Unix (en secondes) de la création de l’achèvement.
model string La model_id utilisée pour l’achèvement.
object string chat.completion.
usage object Statistiques d’utilisation pour la demande d’achèvement.

L’objet choices est un dictionnaire avec les champs suivants :

Clé Type Description
index integer Index de choix.
messages ou delta string Résultat de la complétion de conversation dans l’objet relatif aux messages. Quand le mode streaming est choisi, la clé delta est utilisée.
finish_reason string Raison pour laquelle le modèle a cessé de générer des jetons.

L’objet usage est un dictionnaire avec les champs suivants :

Clé Type Description
prompt_tokens integer Nombre de jetons dans l’invite.
completion_tokens integer Nombre de jetons générés lors de la saisie semi-automatique.
total_tokens integer Nombre total de jetons.

Exemples

Arabe

Demande :

    "messages": [
        {
        "role": "user",
        "content": "ما هي الأماكن الشهيرة التي يجب زيارتها في الإمارات؟"
        }
    ]

Réponse :

    {
        "id": "df23b9f7-e6bd-493f-9437-443c65d428a1",
        "choices": [
            {
                "index": 0,
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": "هناك العديد من الأماكن المذهلة للزيارة في الإمارات! ومن أشهرها برج خليفة في دبي وهو أطول مبنى في العالم ، ومسجد الشيخ زايد الكبير في أبوظبي والذي يعد أحد أجمل المساجد في العالم ، وصحراء ليوا في الظفرة والتي تعد أكبر صحراء رملية في العالم وتجذب الكثير من السياح لتجربة ركوب الجمال والتخييم في الصحراء. كما يمكن للزوار الاستمتاع بالشواطئ الجميلة في دبي وأبوظبي والشارقة ورأس الخيمة، وزيارة متحف اللوفر أبوظبي للتعرف على تاريخ الفن والثقافة العالمية"
                }
            }
        ],
        "created": 1711734274,
        "model": "jais-30b-chat",
        "object": "chat.completion",
        "usage": {
            "prompt_tokens": 23,
            "completion_tokens": 744,
            "total_tokens": 767
        }
    }
Anglais

Demande :

    "messages": [
        {
        "role": "user",
        "content": "List the emirates of the UAE."
        }
    ]

Réponse :

    {
        "id": "df23b9f7-e6bd-493f-9437-443c65d428a1",
        "choices": [
            {
                "index": 0,
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": "The seven emirates of the United Arab Emirates are: Abu Dhabi, Dubai, Sharjah, Ajman, Umm Al-Quwain, Fujairah, and Ras Al Khaimah."
                }
            }
        ],
        "created": 1711734274,
        "model": "jais-30b-chat",
        "object": "chat.completion",
        "usage": {
            "prompt_tokens": 23,
            "completion_tokens": 60,
            "total_tokens": 83
        }
    }
Autres exemples d’inférence
Type d’échantillon Exemple de Notebook
CLI utilisant les requêtes web CURL et Python webrequests.ipynb
Kit de développement logiciel (SDK) OpenAI (expérimental) openaisdk.ipynb
LiteLLM litellm.ipynb

Coûts et quotas

Considérations relatives aux coûts et aux quotas pour les modèles déployés en tant que service

JAIS 30b Chat est déployé en tant que service et est proposé par Core42 via la Place de marché Azure et intégré à Azure AI Studio pour son utilisation. Vous trouverez la tarification de la Place de marché Azure lors du déploiement du modèle.

Chaque fois qu’un projet s’abonne à une offre donnée à partir de la Place de marché Azure, une nouvelle ressource est créée pour suivre les coûts associés à sa consommation. La même ressource est utilisée pour suivre les coûts associés à l’inférence; plusieurs compteurs sont cependant disponibles pour suivre chaque scénario indépendamment.

Pour plus d’informations sur le suivi des coûts, consultez Surveiller les coûts des modèles proposés dans la Place de marché Azure.

Le quota est géré par déploiement. Chaque déploiement a une limite de débit de 200 000 jetons par minute et 1 000 requêtes d’API par minute. Toutefois, nous limitons actuellement un déploiement par modèle par projet. Contactez le Support Microsoft Azure si les limites de débit actuelles ne suffisent pas pour vos scénarios.

Filtrage du contenu

Les modèles déployés en tant que service avec facturation avec paiement à l’utilisation sont protégés par Azure AI Sécurité du Contenu. Avec la sécurité du contenu Azure AI, l’invite et la complétion sont soumises à un ensemble de modèles de classification visant à détecter et à empêcher la production d’un contenu nuisible. Le système de filtrage du contenu détecte les catégories spécifiques de contenu potentiellement nuisible dans les invites d’entrée et les achèvements de sortie et prend des mesures correspondantes. En savoir plus sur le filtrage de contenu ici.

Étapes suivantes