Dela via


Distribuera Mistral-modeller med Azure Machine Learning-studio

I den här artikeln får du lära dig hur du använder Azure Machine Learning-studio för att distribuera Mistral-serien med modeller som serverlösa API:er med tokenbaserad betalning per användning.

Mistral AI erbjuder två kategorier av modeller i Azure Machine Learning-studio. Dessa modeller är tillgängliga i modellkatalogen.

  • Premiummodeller: Mistral Large (2402), Mistral Large (2407), Mistral Small och Ministral-3B.
  • Öppna modeller: Mistral Nemo, Mixtral-8x7B-Instruct-v01, Mixtral-8x7B-v01, Mistral-7B-Instruct-v01 och Mistral-7B-v01.

Alla premiummodeller och Mistral Nemo (en öppen modell) kan distribueras som serverlösa API:er med betala per användning-tokenbaserad fakturering. De andra öppna modellerna kan distribueras till hanterade beräkningar i din egen Azure-prenumeration.

Du kan bläddra i Mistral-serien med modeller i modellkatalogen genom att filtrera på Mistral-samlingen.

Mistralfamilj av modeller

Mistral Large är Mistral AI:s mest avancerade storspråksmodell (LLM). Den kan användas på valfri språkbaserad uppgift tack vare dess toppmoderna resonemang och kunskapsfunktioner. Det finns två tillgängliga varianter för Mistral Large-modellversionen:

  • Mistral Large (2402)
  • Mistral Large (2407)

Dessutom omfattar vissa attribut för Mistral Large (2402):

  • Specialiserad på RAG. Viktig information går inte förlorad mitt i långa kontextfönster (upp till 32 K-token).
  • Stark i kodning. Kodgenerering, granskning och kommentarer. Stöder alla vanliga kodningsspråk.
  • Flerspråkiga efter design. Bästa prestanda i klassen på franska, tyska, spanska och italienska - förutom engelska. Dussintals andra språk stöds.
  • Ansvarsfull AI-kompatibel. Effektiva skyddsräcken bakade i modellen och extra säkerhetsskikt med safe_mode alternativet.

Och attribut för Mistral Large (2407) inkluderar:

  • Flerspråkiga efter design. Stöder dussintals språk, inklusive engelska, franska, tyska, spanska och italienska.
  • God kodning. Tränat på fler än 80 kodningsspråk, inklusive Python, Java, C, C++, JavaScript och Bash. Har även tränat på mer specifika språk som Swift och Fortran.
  • Agentcentrerad. Har agentiska funktioner med inbyggt funktionsanrop och JSON-utdata.
  • Avancerat i resonemang. Visar toppmoderna matematiska funktioner och resonemangsfunktioner.

Viktigt!

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.

Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Distribuera Mistral-serien med modeller som ett serverlöst API

Vissa modeller i modellkatalogen kan distribueras som ett serverlöst API med betala per användning-fakturering. Den här typen av distribution ger ett sätt att använda modeller som ett API utan att vara värd för dem i din prenumeration, samtidigt som den företagssäkerhet och efterlevnad som organisationer behöver bevaras. Det här distributionsalternativet kräver inte kvot från din prenumeration.

Mistral Large (2402), Mistral Large (2407), Mistral Small och Mistral Nemo kan distribueras som ett serverlöst API med betala per användning-fakturering och erbjuds av Mistral AI via Microsoft Azure Marketplace. Mistral AI kan ändra eller uppdatera användningsvillkoren och prissättningen för dessa modeller.

Förutsättningar

  • En Azure-prenumeration med en giltig betalningsmetod. Kostnadsfria azure-prenumerationer eller utvärderingsprenumerationer fungerar inte. Om du inte har en Azure-prenumeration skapar du ett betalt Azure-konto för att börja.

  • En Azure Machine Learning-arbetsyta. Om du inte har någon arbetsyta använder du stegen i artikeln Snabbstart: Skapa arbetsyteresurser för att skapa en. Det serverlösa API-modelldistributionserbjudandet för berättigade modeller i Mistral-serien är endast tillgängligt på arbetsytor som skapats i dessa regioner:

    • East US
    • USA, östra 2
    • USA, norra centrala
    • USA, södra centrala
    • USA, västra
    • USA, västra 3
    • Sverige, centrala

    En lista över regioner som är tillgängliga för var och en av modellerna som stöder serverlösa API-slutpunktsdistributioner finns i Regiontillgänglighet för modeller i serverlösa API-slutpunkter

  • Rollbaserade åtkomstkontroller i Azure (Azure RBAC) används för att bevilja åtkomst till åtgärder i Azure Machine Learning. Om du vill utföra stegen i den här artikeln måste ditt användarkonto tilldelas rollen Azure AI Developer i resursgruppen. Mer information om behörigheter finns i Hantera åtkomst till en Azure Machine Learning-arbetsyta.

Skapa en ny distribution

Följande steg visar distributionen av Mistral Large (2402), men du kan använda samma steg för att distribuera Mistral Nemo eller någon av Premium Mistral-modellerna genom att ersätta modellnamnet.

Så här skapar du en distribution:

  1. Gå till Azure Machine Learning-studio.

  2. Välj den arbetsyta där du vill distribuera din modell. Om du vill använda det serverlösa API-modelldistributionserbjudandet måste din arbetsyta tillhöra någon av de regioner som anges i förhandskraven.

  3. Välj den modell som du vill distribuera, till exempel Modellen Mistral Large (2402) från modellkatalogen.

    Du kan också initiera distributionen genom att gå till din arbetsyta och välja Slutpunkter>Serverlösa slutpunkter>Skapa.

  4. På modellens översiktssida i modellkatalogen väljer du Distribuera för att öppna ett serverlöst API-distributionsfönster för modellen.

  5. Markera kryssrutan för att bekräfta Microsofts inköpsprincip.

    En skärmbild som visar hur du distribuerar en modell som ett serverlöst API.

  6. I distributionsguiden väljer du länken till Azure Marketplace-villkor för att lära dig mer om användningsvillkoren.

  7. Du kan också välja fliken Priser och villkor för att lära dig mer om priser för den valda modellen.

  8. Om det här är första gången du distribuerar modellen på arbetsytan måste du prenumerera på din arbetsyta för det specifika erbjudandet (till exempel Mistral Large (2402)). Det här steget kräver att ditt konto har behörigheter för Azure AI Developer-rollen för resursgruppen enligt kraven. Varje arbetsyta har en egen prenumeration på det specifika Azure Marketplace-erbjudandet, vilket gör att du kan styra och övervaka utgifter. Välj Prenumerera och Distribuera. För närvarande kan du bara ha en distribution för varje modell på en arbetsyta.

  9. När du prenumererar på arbetsytan för det specifika Azure Marketplace-erbjudandet behöver efterföljande distributioner av samma erbjudande på samma arbetsyta inte prenumerera igen. Om det här scenariot gäller för dig visas alternativet Fortsätt att distribuera för att välja.

    En skärmbild som visar en arbetsyta som redan prenumererar på erbjudandet.

  10. Ge distributionen ett namn. Det här namnet blir en del av URL:en för distributions-API:et. Den här URL:en måste vara unik i varje Azure-region.

    En skärmbild som visar hur du anger namnet på den distribution som du vill skapa.

  11. Välj distribuera. Vänta tills distributionen är klar och du omdirigeras till sidan serverlösa slutpunkter.

  12. Välj slutpunkten för att öppna sidan Information.

  13. Välj fliken Test för att börja interagera med modellen.

  14. Du kan alltid hitta slutpunktens information, URL och åtkomstnycklar genom att navigera till Serverlösa slutpunkter för arbetsyteslutpunkter>>.

Mer information om fakturering för Mistral-modeller som distribuerats som ett serverlöst API med tokenbaserad betalning per användning finns i Kostnads- och kvotöverväganden för Mistral-serien med modeller som distribueras som en tjänst.

Använda mistralfamiljen av modeller som en tjänst

Du kan använda Mistral-modeller med hjälp av chatt-API:et.

  1. På arbetsytan väljer du Slutpunkter>Serverlösa slutpunkter.
  2. Leta upp och välj den distribution som du skapade.
  3. Kopiera mål-URL:en och nyckeltokensvärden.
  4. Gör en API-begäran med hjälp av antingen Azure AI Model Inference-API :et på vägen /chat/completions och det interna Mistral Chat-API: et på /v1/chat/completions.

Mer information om hur du använder API:erna finns i referensavsnittet.

Referens för Mistral-serien med modeller som distribuerats som en tjänst

Mistral-modeller accepterar både Azure AI Model Inference-API :et på vägen /chat/completions och det ursprungliga Mistral Chat-API:et/v1/chat/completions.

API:et för Azure AI-modellslutsatsdragning

Schemat API för Azure AI Model Inference finns i artikeln referens för Chattslutföranden och en OpenAPI-specifikation kan hämtas från själva slutpunkten.

Mistral Chat API

Använd metoden POST för att skicka begäran till /v1/chat/completions vägen:

Begär

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

Schema för begäran

Payload är en JSON-formaterad sträng som innehåller följande parametrar:

Nyckel Typ Standardvärde beskrivning
messages string Ingen standard. Det här värdet måste anges. Meddelandet eller historiken för meddelanden som ska användas för att fråga modellen.
stream boolean False Direktuppspelning gör att de genererade token kan skickas som databaserade serverutskickade händelser när de blir tillgängliga.
max_tokens integer 8192 Det maximala antalet token som ska genereras i slutförandet. Tokenantalet för din fråga plus max_tokens får inte överskrida modellens kontextlängd.
top_p float 1 Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av tokens med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du top_p ändrar eller temperature, men inte båda.
temperature float 1 Provtagningstemperaturen som ska användas, mellan 0 och 2. Högre värden innebär att modellexemplen i större utsträckning distribuerar token. Noll betyder girig sampling. Vi rekommenderar att du ändrar den här parametern eller top_p, men inte båda.
ignore_eos boolean False Om du vill ignorera EOS-token och fortsätta generera token när EOS-token har genererats.
safe_prompt boolean False Om du vill mata in en säkerhetsfråga före alla konversationer.

Objektet messages har följande fält:

Nyckel Type Värde
content string Innehållet i meddelandet. Innehåll krävs för alla meddelanden.
role string Rollen som meddelandets författare. En av system, usereller assistant.

Exempel på begäran

Brödtext

{
    "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,
}

Svarsschema

Svarsnyttolasten är en ordlista med följande fält.

Nyckel Typ Beskrivning
id string En unik identifierare för slutförandet.
choices array Listan över slutförandeval som modellen genererade för indatameddelandena.
created integer Unix-tidsstämpeln (i sekunder) för när slutförandet skapades.
model string Den model_id som används för slutförande.
object string Objekttypen, som alltid chat.completionär .
usage object Användningsstatistik för slutförandebegäran.

Dricks

I strömningsläget är för varje segment av svar finish_reason alltid null, förutom från den sista som avslutas med en nyttolast [DONE]. I varje choices objekt ändras nyckeln för messages av delta.

Objektet choices är en ordlista med följande fält.

Nyckel Typ Beskrivning
index integer Valindex. När best_of> 1 kanske indexet i den här matrisen inte är i ordning och kanske inte är 0 till n-1.
messages eller delta string Chattens slutförande resulterar i messages objekt. När strömningsläget används delta används nyckeln.
finish_reason string Anledningen till att modellen slutade generera token:
- stop: modellen träffade en naturlig stopppunkt eller en angivet stoppsekvens.
- length: om maximalt antal token har nåtts.
- content_filter: När RAI modereras och CMP tvingar moderering
- content_filter_error: ett fel under modereringen och kunde inte fatta beslut om svaret
- null: API-svaret pågår fortfarande eller är ofullständigt.
logprobs object Loggannolikorna för de genererade token i utdatatexten.

Objektet usage är en ordlista med följande fält.

Nyckel Type Värde
prompt_tokens integer Antal token i prompten.
completion_tokens integer Antal token som genererats i slutförandet.
total_tokens integer Totalt antal token.

Objektet logprobs är en ordlista med följande fält:

Nyckel Type Värde
text_offsets array av integers Positionen eller indexet för varje token i slutförandeutdata.
token_logprobs array av float Markerad logprobs från ordlistan i top_logprobs matrisen.
tokens array av string Valda token.
top_logprobs array av dictionary Matris med ordlista. I varje ordlista är nyckeln token och värdet är prob.

Svarsexempel

Följande JSON är ett exempelsvar:

{
    "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
    }
}

Fler slutsatsdragningsexempel

Exempeltyp Exempelnotebook
CLI med curl- och Python-webbbegäranden webrequests.ipynb
OpenAI SDK (experimentell) openaisdk.ipynb
LangChain langchain.ipynb
Mistral AI mistralai.ipynb
LiteLLM litellm.ipynb

Kostnad och kvoter

Kostnads- och kvotöverväganden för Mistral-serien med modeller som distribueras som en tjänst

Mistral-modeller som distribueras som en tjänst erbjuds av Mistral AI via Azure Marketplace och integreras med Azure Machine Learning-studio för användning. Du hittar priser för Azure Marketplace när du distribuerar modellerna.

Varje gång en arbetsyta prenumererar på ett visst modellerbjudande från Azure Marketplace skapas en ny resurs för att spåra de kostnader som är kopplade till förbrukningen. Samma resurs används för att spåra kostnader som är associerade med slutsatsdragning. Flera mätare är dock tillgängliga för att spåra varje scenario oberoende av varandra.

Mer information om hur du spårar kostnader finns i Övervaka kostnader för modeller som erbjuds via Azure Marketplace.

Kvot hanteras per distribution. Varje distribution har en hastighetsgräns på 200 000 token per minut och 1 000 API-begäranden per minut. För närvarande begränsar vi dock en distribution per modell per arbetsyta. Kontakta Microsoft Azure Support om de aktuella hastighetsgränserna inte räcker för dina scenarier.

Innehållsfiltrering

Modeller som distribueras som en tjänst med betala per användning skyddas av Azure AI-innehållssäkerhet. Med Azure AI-innehållssäkerhet aktiverat passerar både prompten och slutförandet genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering (förhandsversion) identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata. Läs mer om Azure AI Content Safety.