Mis on Mistral API ja millal seda kasutada?
Mistral API on majutatud arendajaliides, mille kaudu saab Mistrali mudelitele päringuid saata ja genereeritud tulemusi vastu võtta. Mistral Studio pakub selle ümber tööruumi API-võtmete, mudelite katsetamise, Playble'i, kasutuse jälgimise, organisatsiooni halduse ja muude arendajateenuste jaoks. Peamine üleilmne API lõpp-punkt on https://api.mistral.ai/v1.
Kõige lihtsam lähtekoht on Chat Completions API. See võtab vastu mudeli nime ja sõnumite jada ning tagastab mudeli vastuse. See lähenemine sobib vestlusrakenduste, teksti genereerimise, toetatud mudelite multimodaalsete päringute, voogedastuse, struktureeritud väljundi ja rakenduse hallatava tavapärase tööriistakutsumise jaoks.
Kasuta Agents and Conversations API-sid, kui vajad korduvkasutatavaid juhiseid, püsivat arendaja hallatavat olekut, salvestatud suhtlusajalugu, sisseehitatud tööriistu või mitmeastmelisi töövooge. Agendid määratlevad korduvkasutatavad konfiguratsioonid, mis sisaldavad mudelit, juhiseid, tööriistu, lõpetamise parameetreid ja valikulisi turvapiiranguid. Vestlused võivad kasutada agenti või baasmudelit ning neid saab konfigureerida väärtusega store=false, kui uue vestlusajaloo automaatset salvestamist ei soovita.
Kellele API on mõeldud?
API on mõeldud arendajatele, kes loovad vestlusrakendusi, otsinguga täiendatud genereerimise süsteeme, dokumenditöötluse töövooge, kodeerimistööriistu, siseabilisi, autonoomseid või poolautonoomseid agente ning muud tarkvara, mis vajab mudeli inferentsi. See on oluline ka organisatsioonidele, kes vajavad juurdepääsu mudelitele, piirkondlikke töötlemisvõimalusi, kasutuse juhtimist või privaatse ja ettevõtetele mõeldud juurutamise valikuid.
See sobib halvemini juhul, kui projekt vajab piiranguteta suure mahuga kasutust ilma kvootideta, järjepidevalt deterministlikke vastuseid, loomulikku tarbijatele mõeldud videote genereerimist või küpset pluginate turuplatsi. Mudelite vastused on endiselt tõenäosuslikud, seega tuleb olulised väljundid ja tööriistade argumendid valideerida.
Juurdepääsu saamine ja API-võtme loomine
Loo Mistral Studio konto või logi olemasolevale kontole sisse ning loo Studios või halduslikus API-võtmete jaotises API-võti. Rakendused saadavad võtme tavaliselt Beareri tunnusena HTTP Authorization päises. Hoia võtit keskkonnamuutujas või hallatavas saladuste hoidlas, mitte lähtekoodis.
Allolevates näidetes kasutatakse keskkonnamuutujat MISTRAL_API_KEY. API-päringute tegemiseks on võti vajalik ning API kasutab kasutuspõhist arveldamist, mitte üht universaalset tellimushinda.
API ja mudeli valimine
Esimese integratsiooni jaoks vali praegu saadaval olev vestlusmudel ja kasuta Chat Completions API-t. Mudelite identifikaatorid, saadavus, hinnad ja elutsükli olek võivad muutuda, seega kontrolli enne juurutamist Mistrali ajakohast dokumentatsiooni ja hinnakirju. Mudeli alias on mugav, kui automaatsed mudelivärskendused on vastuvõetavad. Kasuta kuupäevaga mudeliidentifikaatorit, kui korratavus on automaatsetest uuendustest olulisem.
| Nõue | Soovituslik lähtekoht |
|---|---|
| Üks päring ja üks vastus | Chat Completions |
| Genereeritava väljundi kuvamine selle loomise ajal | Chat Completions koos voogedastusega |
| Usaldusväärsed masinloetavad väljad | Struktureeritud väljund või JSON Schema ühilduva mudeli ja lõpp-punkti korral |
| Rakendus peab käivitama välise toimingu | Kasutaja määratud funktsiooni kutsumine |
| Korduvkasutatavad juhised ja salvestatud töövoo olek | Agents and Conversations |
| Dokumentide eraldamine või küsimustele vastamine | Document AI ja OCR |
| Semantiline otsing või otsingupõhine hankimine | Embeddings, Files ja Libraries |
Nägemisvõimekusega mudelid saavad Chat Completionsi kaudu vastu võtta piltide URL-e või base64-kodeeritud pilte. Enne nägemisvõimekusele või muudele erifunktsioonidele tuginemist kontrolli mudeli ühilduvust.
Esimese API-päringu tegemine
Standardpäring on POST aadressile /v1/chat/completions. See sisaldab mudelit ja sõnumite massiivi. Vastus paigutab genereeritud teksti tavaliselt väljale choices[0].message.content.
Esimene päring cURL-iga
curl --fail-with-body --silent --show-error https://api.mistral.ai/v1/chat/completions
-H "Authorization: Bearer ${MISTRAL_API_KEY}"
-H "Content-Type: application/json"
-d '{
"model": "mistral-large-latest",
"messages": [
{"role": "system", "content": "You are a concise technical assistant."},
{"role": "user", "content": "Explain API rate limits in one paragraph."}
],
"temperature": 0.2,
"max_tokens": 200
}' | jq -r '.choices[0].message.content'Süsteemisõnum määrab üldise käitumise, kasutajasõnum aga sisaldab ülesannet. Parameetrid, nagu temperature ja max_tokens, mõjutavad genereerimise käitumist ja väljundi pikkust. Kasuta ainult valitud mudeli ja API ajakohase dokumentatsiooni toetatud parameetreid.
Esimene päring Pythoni SDK-ga
# Install: pip install -U mistralai
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
response = client.chat.complete(
model="mistral-large-latest",
messages=[
{"role": "system", "content": "You are a concise technical assistant."},
{"role": "user", "content": "Return two practical uses of an API gateway."},
],
temperature=0.2,
)
print(response.choices[0].message.content)Vastuse mõistmine
Tavaline vestlusvastus sisaldab valikute loendit. Lihtsa päringu korral on esimese valiku sõnumi sisu genereeritud vastus. Tööriistu või struktureeritud väljundit kasutavad rakendused peaksid uurima vastavaid vastusevälju, mitte eeldama, et iga vastus on lihttekst.
Kui mudel tagastab funktsioonikutse, peab rakendus lugema funktsiooni nime ja argumendid, need valideerima, heakskiidetud kohaliku või välise toimingu käivitama ning saatma tulemuse järelpäringuga tagasi. Mudel ei anna automaatselt luba toimingu tegemiseks. Käsitle genereeritud argumente ebausaldusväärse sisendina.
Kuidas Mistral API hinnastamine toimib?
Mistral API hinnastamine põhineb peamiselt kasutusel. Tekstimudelite puhul arveldatakse sisend- ja väljundtokenite eest üldjuhul eraldi ning hinnad esitatakse miljoni tokeni kohta. Täpne summa sõltub valitud mudelist ja võib muutuda API-liidesest sõltumatult.
Muud teenused kasutavad teistsuguseid arvestusühikuid. OCR-i hinnastatakse tuhande lehekülje kaupa, kõneteenuste hind võib põhineda heliminutil ning mõne sisseehitatud tööriista puhul kõnel või tuhande kõne kohta. Partiitöötlus on sobilike asünkroonsete töökoormuste puhul tavahinnast ligikaudu poole odavam. Vahemällu salvestatud sisend võib saada märkimisväärseid allahindlusi ning uuringus tuvastati sobilike korduvate viipade puhul kuni 90% allahindlusi. Prioriteetne inferents on mõeldud töökoormustele, mis vajavad prognoositavamat või kiiremat mahtu.
Toetatud töökoormuste piirkondlik inferents kasutab EL-i või USA lõpp-punkte ja lisab hinnakirjahinnale 10% lisatasu. Enne tootmiskulude hindamist kontrolli Mistral API ajakohaselt hinnalehelt täpset mudelit, teenust, piirkonda ja arvestusühikut, mida kavatsed kasutada.
Mida saavad arendajad API-ga luua?
Vastuste voogedastus
Chat Completions toetab serveri saadetud sündmuste voogedastust väärtusega stream=true. Täieliku vastuse ootamise asemel saab rakendus järkjärgulisi sündmusi vastu võtta ja teksti selle saabumise ajal kuvada. Voogedastus parandab tavaliselt esimese nähtava väljundi saamise aega, kuid ei pruugi vähendada kogu genereerimisaega.
curl --fail-with-body --silent --show-error https://api.mistral.ai/v1/chat/completions
-H "Authorization: Bearer ${MISTRAL_API_KEY}"
-H "Content-Type: application/json"
-d '{
"model": "mistral-large-latest",
"messages": [{"role": "user", "content": "Give three uses for structured outputs."}],
"stream": true
}'Funktsioonikutsed ja sisseehitatud tööriistad
Funktsioonikutsed võimaldavad mudelil taotleda rakenduse kirjeldatud toimingut. Näiteks võid pakkuda get_weather funktsiooni, mille argument on linn. Rakendus vastutab endiselt argumentide kontrollimise, ilmateenuse kutsumise, vigade käsitlemise ja tulemuse mudelile tagastamise eest.
Agendid toetavad ka sisseehitatud tööriistu, sealhulgas veebiotsingut, tasulist veebiotsingut, koodi käivitamist, piltide genereerimist ja dokumenditeegi otsingut. Veebiotsingu eest arveldatakse mudeli tokenikasutusest eraldi. Piirkondlikul inferentsil on praegu olulised piirangud: olekuga agendid, Batch ja Files API funktsioonid ei ole piirkondlikes lõpp-punktides saadaval ning funktsioonikutsed on ainus kaasasolevas dokumentatsioonis tuvastatud piirkondlik tööriist.
Struktureeritud väljundid
Ühilduvates päringutes saab vastuse vormingu konfiguratsiooni kaudu kasutada JSON-režiimi või JSON Schema režiimi. Struktureeritud väljund on kasulik, kui järgnev programm vajab prognoositavaid välju, näiteks klassifitseerimistulemust, eraldatud arveobjekti või toimingute loendit. JSON Schema on eelistatav siis, kui rakendus vajab määratletud struktuuri, kuid valitud mudel ja lõpp-punkt peavad taotletud režiimi toetama.
Nägemisvõimekus, dokumendid, failid ja teegid
Valitud nägemisvõimekusega mudelid võtavad pilte vastu URL-ide või base64-kodeeritud andmete kaudu. Document AI ja OCR toetavad eraldamist, märkuseid, struktureeritud väljundit ning dokumentide kohta küsimustele vastamist. Faile saab üles laadida ja püsivatesse Libraries-teekidesse indekseerida, et agendid saaksid neid otsingupõhistes täiendatud töövoogudes kasutada.
Files ja Libraries on olekuga teenused: nende toimimiseks võib olla vaja salvestusruumi. Ära eelda, et nullandmete säilitamise seadistus hõlmab automaatselt üleslaaditud dokumente, teeke, agente või kõiki muid API funktsioone.
Embeddingud ja seotud teenused
Embeddingumudelid teisendavad teksti arvulisteks esitusteks, mida kasutatakse semantilises otsingus ja info hankimisel. Laiem platvorm hõlmab ka modereerimist, heliteenuseid, piltide genereerimist, partiitöötlust, piirkondlikku inferentsi ja halduslikke kasutus-API-sid. Saadavus ja hinnad sõltuvad teenusest ja mudelist.
Agentide ja vestluste kasutamine püsivate töövoogude jaoks
Chat Completions on üldjuhul selgeim valik siis, kui rakendus haldab ise vestlusajalugu ja tööriistade orkestreerimist. Agents and Conversations sobivad paremini siis, kui soovid, et Mistrali platvorm haldaks korduvkasutatavat agendikonfiguratsiooni, püsivat suhtlusolekut, sisseehitatud tööriistu või agentidevahelisi üleandmisi.
Vestluse saab luua agendi või baasmudeliga. Kui sa ei soovi uue vestlusajaloo automaatset pilvesalvestust, toetab API vestluse loomisel väärtust store=false. See seadistus ei muuda kõiki seotud teenuseid olekuta teenusteks ning seda tuleks hinnata organisatsiooni tasandi säilitusjuhtelementidest eraldi.
SDK-d, Playground ja arendajatööriistad
Mistral toetab ametlikult Pythoni ja TypeScripti SDK-sid. Pythoni pakett on mistralai; TypeScripti või JavaScripti pakett on @mistralai/mistralai. Muud keeled saavad REST API-t otse kutsuda ning saadaval võivad olla ka kolmandate osapoolte teegid, kuid need ei ole samaväärsed esimese osapoole SDK-de toega.
Mistral Studio sisaldab Playgroundi, kus saab enne rakenduse koodi kirjutamist mudeleid ja viipasid katsetada. Samuti pakub see API-võtmete haldust, organisatsiooni juhtimist, kasutuse jälgimist, limiitide teavet ja muid haldustööriistu. Kodeerimistöövoogude jaoks kuuluvad laiemasse Mistrali ökosüsteemi Vibe Code'i kaudu CLI, VS Code ja kaugveebiseansi võimalused, kuid need tarbija- ja kodeerimistooted on siin kirjeldatud põh-API integratsioonist eraldi.
Piirangud, privaatsus ja tootmiskasutuse kaalutlused
Kasutuspiirangud ja latentsus
Piirangud sõltuvad organisatsioonist, paketist, mudelist, API-st ja piirkonnast. Need võivad hõlmata päringuid sekundis, tokeneid minutis, helisekundeid minutis, OCR-i lehekülgi minutis, dokumentide üleslaadimise piiranguid ja igakuist kasutust. Kontrolli Studios oma kontole kehtivaid piiranguid. Suuremaid piiranguid saab taotleda, kirjeldades eeldatavat päringumäära, tokenite läbilaset, kuumahtu ja kasutusjuhtu.
Latentsus sõltub mudeli suurusest, viiba ja väljundi pikkusest, järjekorra olukorrast, piirkonnast ja teenusetasemest. Voogedastus lühendab aega esimese nähtava väljundini. Prioriteetne inferents on mõeldud prognoositavama mahu ja kiirema teenuse jaoks, samas kui piirkondlik inferents võib täita geograafilise töötlemise nõudeid, kui valitud mudel ja funktsioon on toetatud.
Privaatsus, treenimine ja säilitamine
Andmete käsitlemine sõltub kohaldatavast paketist, lepingust, tootest, API funktsioonist ja organisatsiooni seadistustest. Sobivad tasulised organisatsioonid võivad taotleda või lubada nullandmete säilitamise juhtimise toetatud olekuta API-kõnede jaoks. Kui see on lubatud, ei salvestata hõlmatud sisendeid ja väljundeid vastuse genereerimiseks vajalikust ajast kauem ega logita neid pikemalt.
Nullandmete säilitamine ei hõlma automaatselt olekuga agente, vestlusi, teeke, üleslaaditud dokumente, operatiivseid metaandmeid, konto seadistusi, arveldusandmeid ega kasutusanalüütikat. Enne tundlike andmete saatmist vaata üle Mistrali ajakohased ärilised tingimused, privaatsusdokumentatsioon ja organisatsiooni konfiguratsioon.
Usaldusväärsuse ja ohutuse tavad
- Hoia API-võtmed versioonihaldusest eemal ning kasuta tootmises hallatavat saladuste hoidlat.
- Rakenda ajakatkestusi, korduskatseid ja eksponentsiaalset tagasipöördumist ajutiste tõrgete ning kiiruspiirangu vastuste korral.
- Määra selged väljundipiirangud ja jälgi tokenikasutust.
- Valideeri iga mudeli loodud tööriistaargument enne selle käivitamist.
- Kasuta struktureeritud väljundeid, kui järgnevad süsteemid vajavad prognoositavaid välju, kuid valideeri tagastatud andmed sellest hoolimata.
- Kinnista kuupäevaga mudeliidentifikaator, kui korratavus on oluline, ning jälgi mudeli elutsükli teateid.
- Kontrolli piirkondliku lõpp-punkti tuge enne agentidele, Batchile, Filesile või muudele olekuga funktsioonidele tuginemist.
- Vaata iga teenuse säilitus- ja treenimisseaded eraldi üle, mitte ära rakenda kogu platvormile üht eeldatavat poliitikat.
Millal on Mistral API hea või halb valik?
Mistral API on hea valik, kui soovid tuttavat chat-completions-liidest, ametlikke Pythoni ja TypeScripti SDK-sid, kiiret juurdepääsu Mistrali mudelitele, mitmekeelseid võimalusi, multimodaalset sisendit, dokumenditöötlust, struktureeritud väljundit, funktsioonikutsed, embeddinguid või võimalust liikuda lihtsatelt päringutelt püsivate agentide ja sisseehitatud tööriistadeni. Piirkondlik inferents ja ettevõtetele suunatud juhtimisvõimalused võivad samuti olla olulised, kui töötlemise asukoht ja haldusnõuded on tähtsad.
See võib olla halb valik, kui rakendus sõltub kasutusest sõltumatust fikseeritud hinnast, piiranguteta läbilaskevõimest, garanteeritult deterministlikest vastustest, kõigi funktsioonide universaalsest piirkondlikust toest või küpsest tarbijatele mõeldud pluginate turuplatsist. Ka peenhäälestus nõuab erilist tähelepanu: pärand-peenhäälestuse dokumentatsioon on märgitud aegunuks, samas kui praeguses hinnakirjas on loetletud valitud klassifikaatorite peenhäälestuse tooted. Enne peenhäälestusele ülesehitamist kontrolli, kas soovitud mudel ja töövoog on praegu toetatud.
