Delen via


Mistral-modellen implementeren met Azure Machine Learning-studio

In dit artikel leert u hoe u Azure Machine Learning-studio kunt gebruiken om de Mistral-serie van modellen te implementeren als serverloze API's met facturering op basis van betalen per gebruik- token.

Mistral AI biedt twee categorieën modellen in Azure Machine Learning-studio. Deze modellen zijn beschikbaar in de modelcatalogus.

  • Premium modellen: Mistral Large (2402), Mistral Large (2407), Mistral Large (2411), Mistral Small en Ministral-3B.
  • Open modellen: Mistral Nemo, Mixtral-8x7B-Instruct-v01, Mixtral-8x7B-v01, Mistral-7B-Instruct-v01 en Mistral-7B-v01.

Alle premium-modellen en Mistral Nemo (een open model) kunnen worden geïmplementeerd als serverloze API's met betalen per gebruik-token gebaseerde facturering. De andere geopende modellen kunnen worden geïmplementeerd voor beheerde berekeningen in uw eigen Azure-abonnement.

U kunt door de Mistral-familie van modellen in de modelcatalogus bladeren door te filteren op de Mistral-verzameling.

Mistrale familie van modellen

Mistral Large-modellen zijn Mistral AI's meest geavanceerde Large Language Models (LLM). Ze kunnen worden gebruikt voor elke taaltaak, dankzij hun geavanceerde redenering, kennis en coderingsmogelijkheden. Er zijn verschillende Mistral Large-modelvarianten beschikbaar:

  • Mistral Large (2402), ook afgekort als Mistral Large
  • Mistral large (2407)
  • Mistral large (2411)

Kenmerken van Mistral Large (2402), ook afgekort als Mistral Large, zijn:

  • Gespecialiseerd in RAG. Cruciale informatie gaat niet verloren in het midden van lange contextvensters (maximaal 32 K-tokens).
  • Sterk in coderen. Code genereren, beoordelen en opmerkingen. Ondersteunt alle reguliere coderingstalen.
  • Multi-lingual per ontwerp. Beste prestaties in het Frans, Duits, Spaans, Italiaans en Engels. Tientallen andere talen worden ondersteund.
  • Verantwoordelijke AI-compatibel. Efficiënte kaders gebakken in het model en extra veiligheidslaag met de optie safe_mode.

Kenmerken van Mistral Large (2407) zijn:

  • Multi-lingual per ontwerp. Ondersteunt tientallen talen, waaronder Engels, Frans, Duits, Spaans en Italiaans.
  • Bekwaam in coderen. Getraind op meer dan 80 programmeertalen, waaronder Python, Java, C, C++, JavaScript en Bash. Ook getraind in specifiekere talen, zoals Swift en Fortran.
  • Agentgericht. Beschikt over agentische mogelijkheden met systeemeigen functie-aanroepen en JSON-uitvoer.
  • Geavanceerd in redenering. Demonstreert geavanceerde wiskundige en redeneringsmogelijkheden.

Kenmerken van Mistral Large (2411) zijn hetzelfde als Mistral Large (2407) met de volgende extra kenmerken:

  • Systeemprompts worden vóór elk gesprek geïnjecteerd.
  • Betere prestaties voor lange inhoud.
  • Verbeterde mogelijkheden voor het aanroepen van functies.

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview-versie wordt geleverd zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.

Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Mistral-serie van modellen implementeren als een serverloze API

Bepaalde modellen in de modelcatalogus kunnen worden geïmplementeerd als een serverloze API met betalen per gebruik-facturering. Dit soort implementatie biedt een manier om modellen als API te gebruiken zonder deze te hosten in uw abonnement, terwijl de bedrijfsbeveiliging en -naleving die organisaties nodig hebben, behouden blijven. Voor deze implementatieoptie is geen quotum van uw abonnement vereist.

Mistral Large, Mistral Large (2407), Mistral Large (2411), Mistral Small en Mistral Nemo kunnen worden geïmplementeerd als een serverloze API met betalen per gebruik-facturering en worden aangeboden door Mistral AI via de Microsoft Azure Marketplace. Mistral AI kan de gebruiksvoorwaarden en prijzen van deze modellen wijzigen of bijwerken.

Vereisten

  • Een Azure-abonnement met een geldige betalingswijze. Gratis of proefversie van Azure-abonnementen werkt niet. Als u geen Azure-abonnement hebt, maakt u eerst een betaald Azure-account .

  • Een Azure Machine Learning-werkruimte. Als u geen werkruimte hebt, gebruikt u de stappen in de quickstart: artikel Werkruimtebronnen maken om er een te maken. Het serverloze API-modelimplementatieaanbod voor in aanmerking komende modellen in de Mistral-serie is alleen beschikbaar in werkruimten die in deze regio's zijn gemaakt:

    • VS - oost
    • VS - oost 2
    • VS - noord-centraal
    • VS - zuid-centraal
    • VS - west
    • US - west 3
    • Zweden - centraal

    Voor een lijst met regio's die beschikbaar zijn voor elk van de modellen die serverloze API-eindpuntimplementaties ondersteunen, raadpleegt u De beschikbaarheid van regio's voor modellen in serverloze API-eindpunten

  • Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) wordt gebruikt om toegang te verlenen tot bewerkingen in Azure Machine Learning. Als u de stappen in dit artikel wilt uitvoeren, moet aan uw gebruikersaccount de Azure AI Developer-rol voor de resourcegroep zijn toegewezen. Zie Beheer toegang tot een Azure Machine Learning-werkruimte voor meer informatie over machtigingen.

Een nieuwe implementatie maken

In de volgende stappen wordt de implementatie van Mistral Large gedemonstreerd, maar u kunt dezelfde stappen gebruiken om Mistral Nemo of een van de premium Mistral-modellen te implementeren door de modelnaam te vervangen.

Een implementatie maken:

  1. Ga naar Azure Machine Learning-studio.

  2. Selecteer de werkruimte waarin u uw model wilt implementeren. Als u de aanbieding voor serverloze API-modelimplementatie wilt gebruiken, moet uw werkruimte behoren tot een van de regio's die worden vermeld in de vereisten.

  3. Kies het model dat u wilt implementeren, bijvoorbeeld het Mistral Large-model, in de modelcatalogus.

    U kunt ook de implementatie initiëren door naar uw werkruimte te gaan en serverloze eindpunten voor eindpunten>>te selecteren.

  4. Selecteer Implementeren op de overzichtspagina van het model in de modelcatalogus om een serverloos API-implementatievenster voor het model te openen.

  5. Schakel het selectievakje in om het Aankoopbeleid van Microsoft te bevestigen.

    Een schermopname die laat zien hoe u een model implementeert als een serverloze API.

  6. Selecteer in de implementatiewizard de koppeling naar azure Marketplace-voorwaarden voor meer informatie over de gebruiksvoorwaarden.

  7. U kunt ook het tabblad Prijzen en voorwaarden selecteren voor meer informatie over prijzen voor het geselecteerde model.

  8. Als dit de eerste keer is dat u het model in de werkruimte implementeert, moet u zich abonneren op uw werkruimte voor het specifieke aanbod (bijvoorbeeld Mistral Large). Voor deze stap is vereist dat uw account beschikt over de rolmachtigingen voor Azure AI Developer voor de resourcegroep, zoals vermeld in de vereisten. Elke werkruimte heeft een eigen abonnement op de specifieke Azure Marketplace-aanbieding, waarmee u uitgaven kunt beheren en bewaken. Selecteer Abonneren en implementeren. Op dit moment kunt u slechts één implementatie voor elk model in een werkruimte hebben.

  9. Nadat u zich hebt geabonneerd op de werkruimte voor het specifieke Azure Marketplace-aanbod, hoeven volgende implementaties van dezelfde aanbieding in dezelfde werkruimte zich niet opnieuw te abonneren. Als dit scenario op u van toepassing is, ziet u de optie Doorgaan om deze te selecteren.

    Een schermopname van een werkruimte die al is geabonneerd op het aanbod.

  10. Geef de implementatie een naam. Deze naam maakt deel uit van de URL van de implementatie-API. Deze URL moet uniek zijn in elke Azure-regio.

    Een schermopname die laat zien hoe u de naam aangeeft van de implementatie die u wilt maken.

  11. Selecteer Implementeren. Wacht totdat de implementatie is voltooid en u wordt omgeleid naar de pagina met serverloze eindpunten.

  12. Selecteer het eindpunt om de pagina Details te openen.

  13. Selecteer het tabblad Testen om te beginnen met interactie met het model.

  14. U kunt altijd de details, URL en toegangssleutels van het eindpunt vinden door naar serverloze eindpunten van werkruimte-eindpunten>> te navigeren.

Voor meer informatie over facturering voor Mistral-modellen die zijn geïmplementeerd als een serverloze API met facturering op basis van betalen per gebruik-token, raadpleegt u Kosten- en quotumoverwegingen voor mistrale modellen die als een service zijn geïmplementeerd.

De Mistral-serie van modellen als een service gebruiken

U kunt Mistral-modellen gebruiken met behulp van de chat-API.

  1. Selecteer serverloze eindpunten> in de werkruimte.
  2. Zoek en selecteer de implementatie die u hebt gemaakt.
  3. Kopieer de doel-URL en de sleuteltokenwaarden.
  4. Maak een API-aanvraag met behulp van de Azure AI-modeldeductie-API op de route /chat/completions en de systeemeigen Mistral Chat-API op /v1/chat/completions.

Zie de naslagsectie voor meer informatie over het gebruik van de API's.

Naslaginformatie voor de Mistral-serie van modellen die zijn geïmplementeerd als een service

Mistral-modellen accepteren zowel de Azure AI-modeldeductie-API op de route /chat/completions als de systeemeigen Mistral Chat-API op /v1/chat/completions.

Azure AI-modelinferentie-API

Het API-schema voor Azure AI-modeldeductie vindt u in de naslagwerken voor chatvoltooiingen en er kan een OpenAPI-specificatie worden verkregen van het eindpunt zelf.

Mistral Chat-API

Gebruik de methode POST om de aanvraag naar de /v1/chat/completions route te verzenden:

Aanvragen

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

Aanvraagschema

Payload is een tekenreeks met JSON-indeling die de volgende parameters bevat:

Sleutel Type Default Beschrijving
messages string Geen standaardwaarde. Deze waarde moet worden opgegeven. Het bericht of de geschiedenis van berichten die moeten worden gebruikt om het model te vragen.
stream boolean False Met streaming kunnen de gegenereerde tokens worden verzonden als gebeurtenissen die alleen door de server worden verzonden wanneer ze beschikbaar zijn.
max_tokens integer 8192 Het maximum aantal tokens dat moet worden gegenereerd tijdens de voltooiing. Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden.
top_p float 1 Een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, waarbij het model rekening houdt met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. 0,1 betekent dus dat alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. Over het algemeen raden we aan om te top_p wijzigen of temperature, maar niet beide.
temperature float 1 De te gebruiken steekproeftemperatuur tussen 0 en 2. Hogere waarden betekenen de modelvoorbeelden breder de distributie van tokens. Nul betekent hebzuchtige steekproeven. We raden u aan deze parameter of top_p, maar niet beide te wijzigen.
ignore_eos boolean False Of u het EOS-token moet negeren en tokens wilt blijven genereren nadat het EOS-token is gegenereerd.
safe_prompt boolean False Of er een veiligheidsprompt moet worden geïnjecteerd voor alle gesprekken.

Het messages object heeft de volgende velden:

Sleutel Type Weergegeven als
content string De inhoud van het bericht. Inhoud is vereist voor alle berichten.
role string De rol van de auteur van het bericht. Een van system, userof assistant.

Aanvraagvoorbeeld

Tekst

{
    "messages":
    [
        { 
        "role": "system", 
        "content": "You are a helpful assistant that translates English to Italian."
        },
        {
        "role": "user", 
        "content": "Translate the following sentence from English to Italian: I love programming."
        }
    ],
    "temperature": 0.8,
    "max_tokens": 512,
}

Antwoordschema

De nettolading van het antwoord is een woordenlijst met de volgende velden.

Sleutel Type Description
id string Een unieke id voor de voltooiing.
choices array De lijst met voltooiingskeuzen die het model heeft gegenereerd voor de invoerberichten.
created integer De Unix-tijdstempel (in seconden) van het moment waarop de voltooiing is gemaakt.
model string De model_id gebruikt voor voltooiing.
object string Het objecttype, dat altijd chat.completionis.
usage object Gebruiksstatistieken voor de voltooiingsaanvraag.

Tip

In de streamingmodus is voor elk deel van het antwoord finish_reason altijd null, behalve van de laatste die wordt beëindigd door een nettolading [DONE]. In elk choices object wordt de sleutel voor messages gewijzigd door delta.

Het choices object is een woordenlijst met de volgende velden.

Sleutel Type Description
index integer Keuzeindex. Wanneer best_of> 1, is de index in deze matrix mogelijk niet in orde en is dit 0 mogelijk niet.n-1
messages of delta string Voltooiing van chat resulteert in messages object. Wanneer de streamingmodus wordt gebruikt, delta wordt de sleutel gebruikt.
finish_reason string De reden waarom het model geen tokens meer genereert:
- stop: het model raakt een natuurlijk stoppunt of een meegeleverde stopreeks.
- length: als het maximum aantal tokens is bereikt.
- content_filter: Wanneer RAI moderatie en CMP dwingt
- content_filter_error: een fout tijdens het toezicht en kon geen beslissing nemen over het antwoord
- null: API-antwoord wordt nog steeds uitgevoerd of onvolledig.
logprobs object De logboekkans van de gegenereerde tokens in de uitvoertekst.

Het usage object is een woordenlijst met de volgende velden.

Sleutel Type Weergegeven als
prompt_tokens integer Aantal tokens in de prompt.
completion_tokens integer Het aantal tokens dat is gegenereerd tijdens de voltooiing.
total_tokens integer Totaal aantal tokens.

Het logprobs object is een woordenlijst met de volgende velden:

Sleutel Type Weergegeven als
text_offsets array van integers De positie of index van elk token in de voltooiingsuitvoer.
token_logprobs array van float Geselecteerd logprobs uit woordenlijst in top_logprobs matrix.
tokens array van string Geselecteerde tokens.
top_logprobs array van dictionary Matrix van woordenlijst. In elke woordenlijst is de sleutel het token en de waarde is de prob.

Responsvoorbeeld

De volgende JSON is een voorbeeldantwoord:

{
    "id": "12345678-1234-1234-1234-abcdefghijkl",
    "object": "chat.completion",
    "created": 2012359,
    "model": "",
    "choices": [
        {
            "index": 0,
            "finish_reason": "stop",
            "message": {
                "role": "assistant",
                "content": "Sure, I\'d be happy to help! The translation of ""I love programming"" from English to Italian is:\n\n""Amo la programmazione.""\n\nHere\'s a breakdown of the translation:\n\n* ""I love"" in English becomes ""Amo"" in Italian.\n* ""programming"" in English becomes ""la programmazione"" in Italian.\n\nI hope that helps! Let me know if you have any other sentences you\'d like me to translate."
            }
        }
    ],
    "usage": {
        "prompt_tokens": 10,
        "total_tokens": 40,
        "completion_tokens": 30
    }
}

Meer deductievoorbeelden

Voorbeeldtype Sample notebook
CLI met behulp van CURL- en Python-webaanvragen webrequests.ipynb
OpenAI SDK (experimenteel) openaisdk.ipynb
LangChain langchain.ipynb
Mistral AI mistralai.ipynb
LiteLLM litellm.ipynb

Kosten en quota

Kosten- en quotumoverwegingen voor de Mistral-serie van modellen die als een service zijn geïmplementeerd

Mistral-modellen die als een service worden geïmplementeerd, worden aangeboden door Mistral AI via Azure Marketplace en geïntegreerd met Azure Machine Learning-studio voor gebruik. U krijgt de prijzen voor Azure Marketplace wanneer u het model implementeert.

Telkens wanneer een werkruimte zich abonneert op een bepaald modelaanbod vanuit Azure Marketplace, wordt er een nieuwe resource gemaakt om de kosten te traceren die zijn gekoppeld aan het verbruik. Dezelfde resource wordt gebruikt om de kosten te traceren die zijn gekoppeld aan deductie; er zijn echter meerdere meters beschikbaar om elk scenario onafhankelijk te traceren.

Zie Monitoring van kosten voor modellen die worden aangeboden via Azure Marketplace voor meer informatie over het traceren van kosten.

Het quotum wordt beheerd per implementatie. Elke implementatie heeft een frequentielimiet van 200.000 tokens per minuut en 1000 API-aanvragen per minuut. Momenteel beperken we echter tot één implementatie per model per werkruimte. Neem contact op met de ondersteuning voor Microsoft Azure als de huidige frequentielimieten niet voldoende zijn voor uw scenario's.

Inhoud filteren

Modellen die zijn geïmplementeerd als een service met betalen per gebruik, worden beveiligd door azure AI-inhoudsveiligheid. Als de veiligheid van Azure AI-inhoud is ingeschakeld, passeren zowel de prompt als de voltooiing een ensemble van classificatiemodellen die zijn gericht op het detecteren en voorkomen van de uitvoer van schadelijke inhoud. Het systeem voor inhoudsfiltering (preview) detecteert en onderneemt actie op specifieke categorieën van mogelijk schadelijke inhoud in invoerprompts en uitvoervoltooiingen. Meer informatie over Azure AI Content Safety.