Nasazení modelů Mistral pomocí studio Azure Machine Learning
V tomto článku se dozvíte, jak pomocí studio Azure Machine Learning nasadit řadu modelů Mistral jako bezserverová rozhraní API s průběžnými platbami.
Mistral AI nabízí dvě kategorie modelů v studio Azure Machine Learning. Tyto modely jsou k dispozici v katalogu modelů.
- Prémiové modely: Mistral Large (2402), Mistral Large (2407), Mistral Small a Ministral-3B.
- Otevřené modely: Mistral Nemo, Mixtral-8x7B-Instruct-v01, Mixtral-8x7B-v01, Mistral-7B-Instruct-v01 a Mistral-7B-v01.
Všechny prémiové modely a Mistral Nemo (otevřený model) je možné nasadit jako bezserverová rozhraní API s fakturací na základě tokenů s průběžnými platbami. Ostatní otevřené modely je možné nasadit do spravovaných výpočetních prostředků ve vašem vlastním předplatném Azure.
V katalogu modelů Mistral si můžete projít filtrováním v kolekci Mistral.
Mistral rodina modelů
Mistral Large je nejpokročilejší velký jazykový model (LLM) mistral AI. Dá se použít na libovolném úkolu založeném na jazyce, a to díky svým špičkovým možnostem a schopnostem znalostí. Pro verzi modelu Mistral Large jsou k dispozici dvě varianty:
- Mistral Large (2402)
- Mistral Large (2407)
Některé atributy Mistral Large (2402) navíc zahrnují:
- Specializované na RAG. Důležité informace se neztratí uprostřed dlouhých kontextových oken (až 32 K tokenů).
- Silná v kódování. Generování, revize a komentáře kódu Podporuje všechny hlavní programovací jazyky.
- Vícejazyčné podle návrhu. Nejlepší výkon ve francouzštině, němčině, španělštině a italštině - kromě angličtiny. Podporují se desítky dalších jazyků.
- Zodpovědné dodržování předpisů umělé inteligence. Efektivní mantinely pečené v modelu a dodatečná bezpečnostní vrstva s
safe_mode
možností.
A atributy Mistral Large (2407) zahrnují:
- Vícejazyčné podle návrhu. Podporuje desítky jazyků, včetně angličtiny, francouzštiny, němčiny, španělštiny a italštiny.
- Znalost psaní kódu. Trénováno na více než 80 programovacích jazycích, včetně Pythonu, Javy, C, C++, JavaScriptu a bashe. Vytrénovali jsme také konkrétnější jazyky, jako je Swift a Fortran.
- Agent-orientovaný na agenta. Má funkce agentů s nativním voláním funkce a výstupem JSON.
- Upřesňující argumenty. Demonstruje nejmodernější matematické a logické funkce.
Důležité
Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.
Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Nasazení řady modelů Mistral jako bezserverového rozhraní API
Některé modely v katalogu modelů je možné nasadit jako bezserverové rozhraní API s průběžnými platbami. Tento druh nasazení poskytuje způsob, jak využívat modely jako rozhraní API bez jejich hostování ve vašem předplatném a současně udržovat podnikové zabezpečení a dodržování předpisů, které organizace potřebují. Tato možnost nasazení nevyžaduje kvótu z vašeho předplatného.
Mistral Large (2402), Mistral Large (2407), Mistral Small a Mistral Nemo je možné nasadit jako bezserverové rozhraní API s průběžnými platbami a nabízí Mistral AI prostřednictvím Microsoft Azure Marketplace. Mistral AI může změnit nebo aktualizovat podmínky použití a ceny těchto modelů.
Požadavky
Předplatné Azure s platným způsobem platby. Bezplatná nebo zkušební předplatná Azure nebudou fungovat. Pokud nemáte předplatné Azure, vytvořte si placený účet Azure, abyste mohli začít.
Pracovní prostor služby Azure Machine Learning. Pokud pracovní prostor nemáte, vytvořte ho pomocí kroků v rychlém startu : Vytvoření článku o prostředcích pracovního prostoru. Nabídka nasazení bezserverového modelu rozhraní API pro způsobilé modely v rodině Mistral je k dispozici pouze v pracovních prostorech vytvořených v těchto oblastech:
- East US
- USA – východ 2
- USA – středosever
- Středojižní USA
- USA – západ
- USA – západ 3
- Švédsko – střed
Seznam oblastí dostupných pro každý z modelů podporujících nasazení koncových bodů bez serveru najdete v tématu Dostupnost oblastí pro modely v koncových bodech bezserverového rozhraní API.
Řízení přístupu na základě role v Azure (Azure RBAC) slouží k udělení přístupu k operacím ve službě Azure Machine Learning. Pokud chcete provést kroky v tomto článku, musí být vašemu uživatelskému účtu přiřazena role Vývojář Azure AI ve skupině prostředků. Další informace o oprávněních najdete v tématu Správa přístupu k pracovnímu prostoru Azure Machine Learning.
Vytvoření nového nasazení
Následující kroky ukazují nasazení mistral Large (2402), ale stejný postup můžete použít k nasazení Mistral Nemo nebo některého z prémiových modelů Mistral nahrazením názvu modelu.
Vytvoření nasazení:
Přejděte na studio Azure Machine Learning.
Vyberte pracovní prostor, ve kterém chcete model nasadit. Pokud chcete použít nabídku nasazení bezserverového modelu rozhraní API, musí váš pracovní prostor patřit do jedné z oblastí uvedených v požadavcích.
Vyberte model, který chcete nasadit, například model Mistral Large (2402) z katalogu modelů.
Případně můžete zahájit nasazení tak, že přejdete do pracovního prostoru a vyberete Koncové body bezserverové>koncové body>Vytvořit.
Na stránce přehledu modelu v katalogu modelů vyberte Nasadit a otevřete okno nasazení bezserverového rozhraní API pro model.
Zaškrtnutím políčka potvrďte zásady nákupu Microsoftu.
V průvodci nasazením vyberte odkaz na podmínky Azure Marketplace, kde najdete další informace o podmínkách použití.
Můžete také vybrat kartu Ceny a podmínky , kde se dozvíte o cenách vybraného modelu.
Pokud model nasadíte do pracovního prostoru poprvé, musíte se přihlásit k odběru svého pracovního prostoru pro konkrétní nabídku (například Mistral Large (2402)). Tento krok vyžaduje, aby váš účet má oprávnění role Azure AI Developer ve skupině prostředků, jak je uvedeno v požadavcích. Každý pracovní prostor má vlastní předplatné konkrétní nabídky Azure Marketplace, která umožňuje řídit a monitorovat útratu. Vyberte Přihlášení k odběru a nasazení. V současné době můžete mít v rámci pracovního prostoru pouze jedno nasazení pro každý model.
Po přihlášení k odběru pracovního prostoru pro konkrétní nabídku Azure Marketplace nevyžadují následná nasazení stejné nabídky ve stejném pracovním prostoru opětovné přihlášení k odběru. Pokud se tento scénář týká vás, zobrazí se možnost Pokračovat k nasazení , kterou můžete vybrat.
Pojmenujte nasazení. Tento název se stane součástí adresy URL rozhraní API nasazení. Tato adresa URL musí být v každé oblasti Azure jedinečná.
Vyberte Nasadit. Počkejte, až se nasazení dokončí, a budete přesměrováni na stránku bezserverových koncových bodů.
Výběrem koncového bodu otevřete stránku s podrobnostmi.
Vyberte kartu Test a začněte s modelem pracovat.
Podrobnosti koncového bodu, adresu URL a přístupové klíče můžete kdykoli najít tak, že přejdete na koncové body bezserverové>koncové body pracovního prostoru.>
Informace o fakturaci modelů Mistral nasazených jako bezserverové rozhraní API s fakturací na základě tokenů založených na průběžných platbách najdete v tématu Informace o nákladech a kvótách pro řadu modelů Mistral nasazených jako služba.
Využívání rodiny Mistral modelů jako služby
Modely Mistral můžete využívat pomocí rozhraní API chatu.
- V pracovním prostoru vyberte koncové body bez serveru koncové body>.
- Vyhledejte a vyberte nasazení, které jste vytvořili.
- Zkopírujte cílovou adresu URL a hodnoty tokenu klíče.
- Vytvořte požadavek rozhraní API pomocí rozhraní API pro odvozování modelů Azure AI na trase
/chat/completions
a nativního rozhraní API Pro chat Mistral./v1/chat/completions
Další informace o používání rozhraní API najdete v referenční části.
Referenční informace pro řadu modelů Mistral nasazených jako služba
Modely Mistral přijímají rozhraní API pro odvozování modelů Azure AI na trase /chat/completions
i nativní rozhraní MISTRAL CHAT API./v1/chat/completions
Rozhraní API pro odvozování modelů Azure AI
Schéma rozhraní API pro odvozování modelů Azure AI najdete v referenčních informacích k článku o dokončování chatu a specifikaci OpenAPI lze získat ze samotného koncového bodu.
Mistral Chat API
Pomocí metody POST
odešlete požadavek na trasu /v1/chat/completions
:
Požádat
POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json
Schéma požadavku
Datová část je formátovaný řetězec JSON obsahující následující parametry:
Klíč | Typ | Výchozí | Popis |
---|---|---|---|
messages |
string |
Nemá žádnou výchozí hodnotu. Tato hodnota musí být zadána. | Zpráva nebo historie zpráv, které se mají použít k zobrazení výzvy k zobrazení výzvy modelu. |
stream |
boolean |
False |
Streamování umožňuje generovat tokeny, které se odesílají jako události odesílané jen pro data, kdykoli budou k dispozici. |
max_tokens |
integer |
8192 |
Maximální počet tokenů, které se mají vygenerovat v dokončení. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. |
top_p |
float |
1 |
Alternativou k odběru vzorků s teplotou, označovanou jako vzorkování jádra, kde model bere v úvahu výsledky tokenů s top_p hmotností pravděpodobnosti. Hodnota 0,1 tedy znamená, že se považují pouze tokeny, které tvoří 10% hmotnost pravděpodobnosti. Obecně doporučujeme měnit top_p nebo temperature , ale ne obojí. |
temperature |
float |
1 |
Teplota vzorkování, která se má použít, mezi 0 a 2. Vyšší hodnoty znamenají, že vzorky modelu obecněji distribuují tokeny. Nula znamená vzorkování greedy. Doporučujeme tento parametr změnit, top_p ale ne obojí. |
ignore_eos |
boolean |
False |
Zda se má ignorovat token EOS a pokračovat v generování tokenů po vygenerování tokenu EOS. |
safe_prompt |
boolean |
False |
Zda chcete před všemi konverzacemi vložit bezpečnostní výzvu. |
Objekt messages
má následující pole:
Klíč | Typ | Hodnota |
---|---|---|
content |
string |
Obsah zprávy. Obsah se vyžaduje pro všechny zprávy. |
role |
string |
Role autora zprávy Jeden z system , user nebo assistant . |
Příklad požadavku
Text
{
"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,
}
Schéma odpovědi
Datová část odpovědi je slovník s následujícími poli.
Klíč | Typ | Popis |
---|---|---|
id |
string |
Jedinečný identifikátor dokončení. |
choices |
array |
Seznam voleb dokončení, které model vygeneroval pro vstupní zprávy. |
created |
integer |
Časové razítko unixu (v sekundách) doby vytvoření dokončení. |
model |
string |
Model_id použité k dokončení. |
object |
string |
Typ objektu, který je vždy chat.completion . |
usage |
object |
Statistiky využití žádosti o dokončení |
Tip
V režimu streamování je pro každý blok odpovědí vždy null
, s výjimkou posledního, finish_reason
který je ukončen datovou částí [DONE]
. V každém choices
objektu se klíč pro messages
změní pomocí delta
.
Objekt choices
je slovník s následujícími poli.
Klíč | Typ | Popis |
---|---|---|
index |
integer |
Index voleb. Když best_of 1, index v tomto poli nemusí být v pořadí a nemusí být 0 n-1 .> |
messages nebo delta |
string |
Výsledkem dokončení chatu je messages objekt. Při použití delta režimu streamování se použije klíč. |
finish_reason |
string |
Důvod, proč model přestal generovat tokeny: - stop : Model narazil na přirozený bod zastavení nebo zadanou sekvenci zastavení. - length : Pokud byl dosažen maximální počet tokenů. - content_filter : Při moderování RAI a CMP vynutí moderování - content_filter_error : Při moderování došlo k chybě a nemohla se rozhodnout o odpovědi. - null : Odezva rozhraní API stále probíhá nebo je neúplná. |
logprobs |
object |
Pravděpodobnosti protokolu vygenerovaných tokenů ve výstupním textu. |
Objekt usage
je slovník s následujícími poli.
Klíč | Typ | Hodnota |
---|---|---|
prompt_tokens |
integer |
Počet tokenů v příkazovém řádku |
completion_tokens |
integer |
Počet tokenů vygenerovaných v dokončení |
total_tokens |
integer |
Celkový počet tokenů |
Objekt logprobs
je slovník s následujícími poli:
Klíč | Typ | Hodnota |
---|---|---|
text_offsets |
array z integers |
Pozice nebo index každého tokenu ve výstupu dokončení. |
token_logprobs |
array z float |
Vybráno logprobs ze slovníku v top_logprobs poli. |
tokens |
array z string |
Vybrané tokeny. |
top_logprobs |
array z dictionary |
Pole slovníku. V každém slovníku je klíčem token a hodnota je prob. |
Příklad odpovědi
Následující JSON je ukázková odpověď:
{
"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
}
}
Další příklady odvození
Ukázkový typ | Ukázkový poznámkový blok |
---|---|
Rozhraní příkazového řádku s využitím webových požadavků CURL a Pythonu | webrequests.ipynb |
OpenAI SDK (experimentální) | openaisdk.ipynb |
LangChain | langchain.ipynb |
Mistral AI | mistralai.ipynb |
LiteLLM | litellm.ipynb |
Náklady a kvóty
Důležité informace o nákladech a kvótách pro řadu modelů Mistral nasazených jako služba
Mistral modely nasazené jako služba nabízí Mistral AI prostřednictvím Azure Marketplace a integrované s studio Azure Machine Learning pro použití. Ceny na Azure Marketplace najdete při nasazení modelů.
Pokaždé, když si pracovní prostor předplatí danou nabídku modelu z Azure Marketplace, vytvoří se nový zdroj pro sledování nákladů spojených s jeho spotřebou. Stejný zdroj se používá ke sledování nákladů spojených s odvozováním; Pro nezávislé sledování jednotlivých scénářů je však k dispozici více měřičů.
Další informace o sledování nákladů naleznete v části Sledování nákladů na modely nabízené prostřednictvím služby Azure Marketplace.
Kvóta se spravuje podle nasazení. Každé nasazení má limit rychlosti 200 000 tokenů za minutu a 1 000 požadavků rozhraní API za minutu. V současné době ale omezujeme jedno nasazení na model na jeden pracovní prostor. Pokud aktuální limity sazeb pro vaše scénáře nestačí, obraťte se na podporu Microsoft Azure.
Filtrování obsahu
Modely nasazené jako služba s průběžnými platbami jsou chráněné zabezpečením obsahu Azure AI. S povolenou bezpečností obsahu Azure AI prochází výzva i dokončení souborem klasifikačních modelů určených k detekci a zabránění výstupu škodlivého obsahu. Systém filtrování obsahu (Preview) detekuje a provádí akce s konkrétními kategoriemi potenciálně škodlivého obsahu ve vstupních výzev i dokončení výstupu. Přečtěte si další informace o bezpečnosti obsahu Azure AI.