models

Mistral: Mistral Nemo

Markdown · JSON

Mistral: Mistral Nemo

A Mistral Nemo Instruct 2407 egy 12 milliárd paraméteres, többnyelvű szöveges modell pontos utasításokhoz, többfordulós társalgáshoz és kódhoz. A gyártó szerint 128 ezer tokenes kontextussal, Tekken tokenizerrel, dokumentált függvényhívással és saját mintavételezési útmutatóval rendelkező, önálló, utasításkövetésre finomhangolt modellállapottal rendelkezik.

A modellről

Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.

A Mistral Nemo Instruct 2407 a 12B méretű Mistral Nemo nyelvi modell utasításokra hangolt kiadása. A külön elnevezett Nemo Base 2407 ellenőrzőpontból finomhangolták. A gyártó nagy arányú többnyelvű és kódanyagot tartalmazó képzést, valamint 128k tokenes kontextusablakot ír le, írott utasítások, beszélgetés és programozási feladatok támogatásával.

Fő jellemzők és architektúra

A kiadás külön előtanított és utasításokra hangolt változatokat kínál. Ez a bejegyzés az Instruct ellenőrzőpontról szól: szöveges kérés magyarázatot, átdolgozott dokumentumot, programkódot vagy javasolt függvényhívást kérhet. Utasításhangolását a korábbi Mistral 7B vonalhoz képest pontosabb utasításkövetést, következtetést, többfordulós párbeszédet és kódgenerálást eredményező fejlesztésként írják le.

A modell 40 Transformer-réteget tartalmaz 5,120 modellszélességgel. SwiGLU-t, csoportosított lekérdezéses figyelemben 32 figyelmi fejet és 8 kulcs/érték fejet használ, 128 fejdimenzióval és 14,336 rejtett dimenzióval. A forgó beágyazások theta beállítása egymillió. A kiadott szókészlet 2 a 17. hatványon számú, azaz 131,072 bejegyzést tartalmaz; ez a szókészletméret különbözik a 128k feladatkontextus-címkétől.

A gyártó bejelentése kvantálást figyelembe vevő képzést és FP8 következtetést is leír. Ezek kiadási és numerikus pontossági jellemzők, nem további tartalmi modalitások. Tartsa meg a pontos ellenőrzőpontot és hozzá tartozó tokenizert, ne tekintsen egy másik 12B vagy Mistral-családbeli modellt ugyanennek a kiadásnak.

Többnyelvű szöveg és Tekken

A kiadás az angol, francia, német, spanyol, olasz, portugál, kínai, japán, koreai, arab és hindi nyelvre helyez hangsúlyt, míg az orosz a modellkártya nyelvi metaadataiban szerepel. Az eredmény kérése előtt határozza meg a végső nyelvet, a közönséget és terminológiát. Többnyelvű dokumentumfeladatnál tartsa változatlanul a neveket, azonosítókat és mértékegységeket, miközben a környező prózát alakítja.

A Nemo a több mint 100 nyelven tanított Tekken tokenizert használja, amelyet természetes nyelv és forráskód hatékony ábrázolására terveztek. A tokenizer befolyásolja, mennyi kontextust foglal el a forrásanyag; a karakterszám ezért önmagában nem tokenszám. Használja a megfelelő tokenizert, és tartsa együtt a feladat releváns anyagát, ne csak a szövegrészlet látható hosszából becsülje a kontextust.

Utasítás- és kódelőkészítés

Dokumentummagyarázathoz adja meg a forrásrészletet, és nevezze meg a magyarázandó feltételt vagy kifejezést. A magyarázatot az olvasó nyelvén kérje, az eredeti nevek és a választ alátámasztó forrásállítás megtartásával. Szerkesztésnél mondja meg, mely jelentésnek és feltételeknek kell az átírásban megmaradniuk, illetve csak az átdolgozott részletet vagy azt és magyarázatot is kér-e.

Programozási feladatnál nevezze meg a nyelvet, bemeneti típusokat, várt kimenetet és meglévő felületet. Mellékelje a módosítást meghatározó függvényt vagy deklarációkat. Egy hasznos eredmény a megvalósítást, feltételezéseit és elvárt kimenettel ellátott példabemeneteket is tartalmazhatja. Külön kérdés kérheti a modelltől egy bemenet végigkövetését a megadott kódon, hogy a magyarázat konkrét útvonalhoz, ne egy meghatározatlan programhoz kapcsolódjon.

Többfordulós beszélgetésnél tartsa meg a releváns korábbi választ, és célzott folytatást kérjen, vagy a feladatot módosító új anyagot adjon. Határozza meg, hogy a következő válasz a korábbi anyagot dolgozza át, egy döntést magyarázzon meg, vagy ugyanazokat a forrástényeket másképp ábrázolja. Ettől a beszélgetés folytatása egyértelmű lesz.

Függvényhívás és mintavétel

A gyártó a megfelelő beszélgetési formátum használatával dokumentál függvényhívást. A modell a javasolt műveletet és argumentumokat generálja, az alkalmazás pedig végrehajtja a függvényt, és a következő generálás előtt hozzáadja eredményét a beszélgetéshez. A kártya kifejezetten megjegyzi, hogy egy rövidített kódpélda nem mutatja a teljes ciklust, ezért a hiányzó végrehajtási és eredménylépések továbbra is az eszközzel támogatott alkalmazás szükséges részei.

Ebben a közzétett eszközformátumban a hívásazonosítók és megfelelő eredményazonosítók pontosan kilenc alfanumerikus karakterből állnak. A natív formátumú beszélgetés előkészítésekor őrizze meg a művelet és eredmény kapcsolatát. Egy burkolófelület másképpen is ábrázolhatja a beszélgetést; a kiadás követelménye a gyártó modellformázását írja le, nem egy kitalált univerzális kliensazonosítót.

A gyártó 0.3 temperature értéket ajánl, megjegyezve, hogy a Nemo kisebb hőmérsékleteket használ a korábbi Mistral modelleknél. A példákban szereplő különböző 64, 128, 256 és 1,000 tokenes beállítások az adott bemutatók generálási választásai, nem külön közzétett maximális válaszkapacitások.

Lényeges korlátok

Az Instruct kártya ezt az ellenőrzőpontot az alapmodell finomhangolásának bemutatójaként írja le, és egyértelműen kijelenti, hogy nem tartalmaz moderációs mechanizmust. A moderált viselkedést igénylő alkalmazásoknak azt a környező rendszerben kell biztosítaniuk. Ez a kiadott ellenőrzőpont tulajdonsága, nem állítás minden Nemo modellt hosztoló szolgáltatásról.

A Nemo itt dokumentált feladata szöveggenerálás, saját 128k kontextussal és beszélgetési formátummal. Későbbi Mistral-családok képmegértését, beszédátírását és hibrid következtetési vezérlőit nem szabad ehhez a kiadáshoz rendelni. Adja meg a teljes írott feltételt, a releváns forrásanyagot és az elvárt végső anyagot, hogy az eredmény magyarázatként, átdolgozott szövegként vagy javasolt megvalósításként használható maradjon.

Gyakorlati feladat

Gyakorlati feladat

Technikai példa angolul

Trace and repair a loop boundary

Trace this Python function for n=3, then correct it to sum integers from 1 through n inclusively: def total(n): return sum(range(1, n)). Inputs are nonnegative integers. Preserve the total(n) interface. Return the corrected function and examples for n=0, n=1 and n=3, with expected outputs.

Várt eredmény

A concise trace, a corrected function and three input/output examples.

Az eredmény ellenőrzése

Check that n=0 remains zero and that the upper endpoint n is included for positive inputs.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions mistralai/mistral-nemo

mistralai/mistral-nemo

Mistral /mistralai/mistral-nemo

Kezdő lépések

A Mistral Nemo Instruct 2407 egy 12 milliárd paraméteres, többnyelvű szöveges modell pontos utasításokhoz, többfordulós társalgáshoz és kódhoz. A gyártó szerint 128 ezer tokenes kontextussal, Tekken tokenizerrel, dokumentált függvényhívással és saját mintavételezési útmutatóval rendelkező, önálló, utasításkövetésre finomhangolt modellállapottal rendelkezik.

Elfogadott bemenetek
Szöveg
Eredmények
Szöveg

Elérhető az Ailootban · bemenetek és metódusok

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Bemenet
text
Kimenet
text
Kimeneti formátum
json vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
mistralai/mistral-nemo
Alapértelmezett—
MezőmessagesTípusmessage[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Alapértelmezett—
Mezőmessages[].roleTípusstringKövetelményKötelezőÉrtékek és korlátok
Példák: system, user, assistant, tool, function
Feltételek: Ezeket a szerepeket a forráskód kompatibilitási típusai kifejezetten reprezentálják; a pontos szerepkészlet továbbra is modellspecifikus.
Modelltől függ
Alapértelmezett—
Mezőmessages[].contentTípusstring|content_part[]|nullKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].tool_callsTípustool_call[]KövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].tool_call_idTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: role=tool; használja a ténylegesen visszaadott ID-t
Alapértelmezett—
Mezőmessages[].nameTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].reasoning_contentTípusstringKövetelményOpcionálisÉrtékek és korlátok
Akkor alkalmazandó, ha: Küldje vissza a ténylegesen visszaadott gondolkodási tartalmat, ha ez a modell használja
Alapértelmezett—
Mezőmessages[].reasoning_detailsTípusobject|arrayKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőmax_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
Mezőmax_completion_tokensTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 1
Modelltől függ
Alapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
Mezőstream_options.include_usageTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtemperatureTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtop_pTípusnumberKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőstopTípusstring|string[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőtoolsTípusfunction_tool[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőtools[].typeTípusstringKövetelményOpcionálisÉrtékek és korlátok
function
Modelltől függ
Alapértelmezett—
Mezőtools[].function.nameTípusstringKövetelményKötelezőÉrtékek és korlátok
Akkor alkalmazandó, ha: Függvényeszköz megadva
Alapértelmezett—
Mezőtools[].function.descriptionTípusstringKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtools[].function.parametersTípusJSON_schemaKövetelményOpcionálisÉrtékek és korlátokAlapértelmezett—
Mezőtool_choiceTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőparallel_tool_callsTípusbooleanKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőresponse_formatTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőreasoning_effortTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőreasoningTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőservice_tierTípusstringKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőinstructionsTípusstringKövetelményOpcionálisÉrtékek és korlátok
Kompatibilitási mező
Alapértelmezett—
MezőfunctionsTípusfunction[]KövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőfunction_callTípusstring|objectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
Mezőprompt_cache_optionsTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Modelltől függ
Alapértelmezett—
MezőmodalitiesTípusstring[]KövetelményOpcionálisÉrtékek és korlátok
text
Alapértelmezett—
MezőproviderTípusobjectKövetelményOpcionálisÉrtékek és korlátok
Feltételek: A provider.options elutasításra kerül ezen az Ultra szöveges útvonalon
Alapértelmezett—
Mezőcache_control.ttlTípusstringKövetelményOpcionálisÉrtékek és korlátok
Feltételek: Az 1h elutasításra kerül a tényleges prompt-gyorsítótárazási helyeken
Alapértelmezett—
Bemeneti anyagok kombinációi

Szöveg · UTF8 szöveg

messages[].content

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétercontent_typeSzerződésapplication/json
ParaméterrequiredSzerződésmodel, messages
Paramétermaterial_typesSzerződéstext
ParamétermessagesSzerződésüzenettömb role/content szerkezettel
Paraméterfile_materialSzerződésa tényleges UTF-8 dokumentum szó szerinti szövegként beillesztve; nincs kikövetkeztetett fájlazonosító
Paraméteroptional_controlsSzerződésstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Paramétercontrol_scopeSzerződésmodellspecifikus; a felhasználói függvényeszközök eltérnek a hosztolt eszközöktől
Paraméteroutput_modalitiesSzerződéstext
Paraméterhosted_operationsSzerződésfalse
Paramétermultimodal_input_bindingSzerződésnull

Életciklus: synchronous_or_streamed

Küldje el a pontos modellazonosítót a messages mellett.

A kontextushossz nem kimeneti felső korlát.

Egy szövegfájl szó szerinti szöveget adhat meg; a kép-/hang-/fájlobjektum-bemenetek pontos hozzárendelést igényelnek.

Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód
Normál díjszabás Ha a gyors mód van kiválasztva
Flex mód
Normál díjszabás Ha a flex mód van kiválasztva
Maximális gondolkodási ráfordítás
Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Ailoot-díjak

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításTokenenkénti alapárakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.0003 / 1K token
Kimenet · Kimeneti tokenek $0.0003 / 1K token
Bemenet · Gyorsítótár olvasása $0.00003 / 1K token
Bemenet · Írás a gyorsítótárba — / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token
BeállításA kéréshossz szerinti 1. ársávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.0003 / 1K token
Kimenet · Kimeneti tokenek $0.0003 / 1K token
Bemenet · Gyorsítótár olvasása $0.00003 / 1K token
Bemenet · Írás a gyorsítótárba — / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-adatfolyam
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/mistral-nemo", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='mistralai/mistral-nemo',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='mistralai/mistral-nemo',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")

Eredmények fogadása és mentése

Ailoot Ultra · OpenAI Chat

json vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
Mezőchoices[].indexTípusinteger
Mezőchoices[].message.contentTípusstring|null
Mezőchoices[].message.tool_callsTípustool_call[]
Mezőchoices[].message.reasoning_contentTípusstring
Mezőchoices[].message.reasoning_detailsTípusobject|array
Mezőchoices[].finish_reasonTípusstring|null
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot Ultra mistralai/mistral-nemo

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

mistralai/mistral-nemo

Ailoot Ultra · Anthropic Messages POST /v1/messages mistralai/mistral-nemo

mistralai/mistral-nemo

Mistral /mistralai/mistral-nemo

Kezdő lépések

A Mistral Nemo Instruct 2407 egy 12 milliárd paraméteres, többnyelvű szöveges modell pontos utasításokhoz, többfordulós társalgáshoz és kódhoz. A gyártó szerint 128 ezer tokenes kontextussal, Tekken tokenizerrel, dokumentált függvényhívással és saját mintavételezési útmutatóval rendelkező, önálló, utasításkövetésre finomhangolt modellállapottal rendelkezik.

Elfogadott bemenetek
Szöveg
Eredmények
json · sse

Elérhető az Ailootban · bemenetek és metódusok

Ailoot Ultra · Anthropic Messages POST /v1/messages
Bemenet
text
Kimenet
json, sse
Kimeneti formátum
JSON vagy SSE
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
mistralai/mistral-nemo
Alapértelmezett—
MezőmessagesTípusmessage[]KövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
Mezőmessages[].roleTípusstringKövetelményKötelezőÉrtékek és korlátok
user, assistant
Alapértelmezett—
Mezőmessages[].contentTípusstringKövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
Mezőmax_tokensTípusintegerKövetelményKötelezőÉrtékek és korlátokAlapértelmezett—
MezőstreamTípusbooleanKövetelményOpcionálisÉrtékek és korlátokAlapértelmezettfalse
Bemeneti anyagok kombinációi

Szöveg · UTF-8 szöveg

messages[].content karakterlánc

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétercontent_typeSzerződésapplication/json
ParaméterrequiredSzerződésmodel, messages, max_tokens
Paraméteroptional_controlsSzerződésstream
Paramétermaterial_typesSzerződéstext
Paramétertext_file_materialSzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába.

Életciklus: synchronous_or_streamed

Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód
Normál díjszabás Ha a gyors mód van kiválasztva
Flex mód
Normál díjszabás Ha a flex mód van kiválasztva
Maximális gondolkodási ráfordítás
Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Ailoot-díjak

Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

BeállításDíjtáblázatKontextustokenek, több mintKontextustokenek, legfeljebbDíj
BeállításTokenenkénti alapárakDíjtáblázatAlapdíjKontextustokenek, több mint—Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.0003 / 1K token
Kimenet · Kimeneti tokenek $0.0003 / 1K token
Bemenet · Gyorsítótár olvasása $0.00003 / 1K token
Bemenet · Írás a gyorsítótárba — / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token
BeállításA kéréshossz szerinti 1. ársávDíjtáblázat—Kontextustokenek, több mint0Kontextustokenek, legfeljebbNincs felső korlátDíj
Bemenet · Bemeneti tokenek $0.0003 / 1K token
Kimenet · Kimeneti tokenek $0.0003 / 1K token
Bemenet · Gyorsítótár olvasása $0.00003 / 1K token
Bemenet · Írás a gyorsítótárba — / 1K token
Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot Ultra · Anthropic Messages

Teljes, minimális JSON-törzscurl · használd a saját UTF-8-dokumentumodatPython · mentsd el a teljes eredményt
{
  "model": "mistralai/mistral-nemo",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'mistralai/mistral-nemo', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'mistralai/mistral-nemo', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Eredmények fogadása és mentése

Ailoot Ultra · Anthropic Messages

JSON vagy SSE

Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.

Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőmodelTípusstring
Mezőcontent[]Típustext|thinking|tool_use|other content block
Mezőstop_reasonTípusstring|null
MezőusageTípusobject
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.

Álnevek

Modell álnevei

Ailoot Ultra mistralai/mistral-nemo

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

mistralai/mistral-nemo

FAQ · Mistral: Mistral Nemo
Milyen bemenetek és eredmények érhetők el?

POST /v1/chat/completions · mistralai/mistral-nemo: text → text

POST /v1/messages · mistralai/mistral-nemo: text → json, sse

Mely mezőket használja a kérés?

POST /v1/chat/completions · mistralai/mistral-nemo: model, messages, stream, modalities, provider

POST /v1/messages · mistralai/mistral-nemo: model, messages, max_tokens, stream

Milyen korlátok érvényesek?

POST /v1/chat/completions · mistralai/mistral-nemo: messages.min_items: 1

További részletek

Csatlakoztassa az Ailootot a Claude Code-hoz, OpenCode-hoz, Hermeshez vagy saját alkalmazásához.

A vállalat és projektportfóliója

A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.

Vásároljon tokeneket kedvezménnyel.

Előfizetési kedvezmény rendszeres munkához. Promókódok — akár 50% tokenvásárlási kedvezmény.

Előfizetés
Válasszon kedvezményes tarifát a rendszeres kéréseihez.
Promókód akár 50%-ig
Vásárláskor adja meg a kódot. Az ár az érvényes akció szerint újraszámolódik.
Költségek az előzményekben
Minden kéréshez megmarad a modell, a tokenek és az összeg.

Előfizetés kiválasztása · Modellárak megtekintése

Csatlakoztassa az API-t az értékesített termékéhez.

SaaS, alkalmazások és botok — az Ailoot ajánlati feltételei és licencszerződése alapján. Viszonteladáshoz kérjen viszonteladói licencet.

Kereskedelmi alkalmazás
Építsen szöveg-, kép-, videó- és hanggenerálást szolgáltatása fizetős funkcióiba.
Viszonteladói licenc
Küldje el a projekt leírását és a hozzáférés módját. Kérjen írásos használati és viszonteladási feltételeket.
Dokumentumok a weboldalon
Az ajánlati feltételek, licencszerződés és adatkezelési szabályzat már a csatlakoztatás előtt elérhető.

Viszonteladói licenc kérése · Ajánlati feltételek és licencszerződés