modely

Riva Translate 4B Instruct v1.1

Markdown · JSON

Riva Translate 4B Instruct v1.1

Riva-Translate-4B-Instruct-v1.1 od NVIDIA překládá věty a dokumenty mezi angličtinou a 11 dalšími jazyky a regionálními variantami, včetně ruštiny. Podporuje příklady překladu v požadavku a kontext až 8K tokenů.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Riva-Translate-4B-Instruct-v1.1 je specializovaný model NVIDIA pro písemný překlad. Pracuje s jednotlivými větami i dokumenty: přijímá text a vrací text ve vybraném jazyce. Tento formát se hodí pro překladatele, marketéry a vývojáře připravující vícejazyčné materiály.

Jazyky a regionální varianty

Model nabízí 12 jazyků a variant: angličtinu, němčinu, evropskou a latinskoamerickou španělštinu, francouzštinu, brazilskou portugalštinu, ruštinu, čínštinu se zjednodušeným i tradičním písmem, japonštinu, korejštinu a arabštinu. Pro španělštinu a čínštinu lze samostatně zadat požadovanou variantu, zatímco portugalština je v této verzi zastoupena brazilskou variantou.

Směry překladu jsou uspořádány kolem angličtiny: z angličtiny do uvedených jazyků a zpět. Pro ruský text je k dispozici překlad do angličtiny a pro anglický do ruštiny. Regionální varianta patří do volby směru, proto je vhodné ji uvést společně s jazykem.

Jak se překlad zadává

V požadavku se oddělují směr překladu a samotný materiál. Systémová zpráva označuje jazykovou dvojici a uživatelská obsahuje výchozí text. Například en-ru určuje překlad z angličtiny do ruštiny a ru-en z ruštiny do angličtiny. Pro evropskou španělštinu je k dispozici en-es-es, pro latinskoamerickou en-es-us a pro brazilskou portugalštinu en-pt-br.

V rámci požadavku lze předat několik příkladů překladu. Šablona dialogu podporuje střídání uživatelského textu a odpovědi s překladem. Před dalším materiálem tak lze ukázat dvojici výchozího a přeloženého textu. NVIDIA doporučuje používat překladovou šablonu, na níž byl model dotrénován: výslovně určuje výchozí a cílový jazyk.

Kontext a uspořádání

Model obsahuje přibližně čtyři miliardy parametrů a je postaven jako Transformer s dekodérem. Základní model vznikl kompresí a destilací a následně prošel dalším trénováním na textu, učením z příkladů a optimalizací podle preferencí. Kontext má až 8K tokenů.

Co ovlivňuje překlad

Kvalita závisí na tématu, podmínkách úlohy, šumu ve výchozím textu a dostupném kontextu. V odpovědi se mohou objevit gramatické chyby a významové nepřesnosti. Upřesnění požadavku může pomoci získat vhodnější překlad.

Praktická úloha

Praktická úloha

Technický příklad v angličtině

Translate a collection notice into Russian

Translation direction: English to Russian, en-ru. Translate this notice: 'Your repaired kettle is ready for collection at the service desk. Please bring receipt R-204. We will keep it until Friday at 18:00.' Preserve the receipt identifier and the collection deadline. Return only the translated notice.

Očekávaný výsledek

A Russian translation preserving the service-desk location, R-204 and Friday 18:00 deadline.

Ověření výsledku

The translation must not turn the collection deadline into the repair completion time.
Ailoot · OpenAI Chat POST /v1/chat/completions nvidia/riva-translate-4b-instruct-v1.1

nvidia/riva-translate-4b-instruct-v1.1

NVIDIA /nvidia/riva-translate-4b-instruct-v1.1

Úvod

Riva-Translate-4B-Instruct-v1.1 od NVIDIA překládá věty a dokumenty mezi angličtinou a 11 dalšími jazyky a regionálními variantami, včetně ruštiny. Podporuje příklady překladu v požadavku a kontext až 8K tokenů.

Přijímané vstupy
Text
Výsledky
Text

Dostupné v Ailoot · vstupy a metody

Ailoot · OpenAI Chat POST /v1/chat/completions
Vstup
text
Výstup
text
Kontext
4 096 tokens
Maximální výstup
1 024 tokens
Výstupní formát
json nebo SSE
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
nvidia/riva-translate-4b-instruct-v1.1
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limity
Minimální počet položek: 1
Výchozí—
Polemessages[].roleTypstringPožadavekPovinnéHodnoty a limity
Příklady: system, user, assistant, tool, function
Podmínky: Tyto role jsou výslovně zastoupeny typy kompatibility zdrojového kódu; přesná sada rolí zůstává specifická pro daný model.
Závisí na modelu
Výchozí—
Polemessages[].contentTypstring|content_part[]|nullPožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].tool_callsTyptool_call[]PožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].tool_call_idTypstringPožadavekVolitelnéHodnoty a limity
Platí, když: role=tool; použijte skutečně vrácené ID
Výchozí—
Polemessages[].nameTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].reasoning_contentTypstringPožadavekVolitelnéHodnoty a limity
Platí, když: Předávejte zpět skutečně vrácené uvažování tam, kde je tento model používá
Výchozí—
Polemessages[].reasoning_detailsTypobject|arrayPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polemax_tokensTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: 1
Závisí na modelu
Výchozí—
Polemax_completion_tokensTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: 1
Závisí na modelu
Výchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Polestream_options.include_usageTypbooleanPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoletemperatureTypnumberPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletop_pTypnumberPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolestopTypstring|string[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoletoolsTypfunction_tool[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletools[].typeTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletools[].function.nameTypstringPožadavekPovinnéHodnoty a limity
Platí, když: nástroj typu funkce je dodán
Výchozí—
Poletools[].function.descriptionTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Poletools[].function.parametersTypJSON_schemaPožadavekVolitelnéHodnoty a limityVýchozí—
Poletool_choiceTypstring|objectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleparallel_tool_callsTypbooleanPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleresponse_formatTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polereasoning_effortTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolereasoningTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleservice_tierTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoleinstructionsTypstringPožadavekVolitelnéHodnoty a limity
Pole kompatibility
Výchozí—
PolefunctionsTypfunction[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polefunction_callTypstring|objectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleprompt_cache_optionsTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Kombinace vstupních materiálů

Text · text UTF8

messages[].content

Parametry a životní cyklus metody
ParametrKontrakt
Parametrmaterial_typesKontrakttext
ParametrrequiredKontraktmodel, messages
Parametroptional_controlsKontraktnull
Parametrcontent_typeKontraktapplication/json
Parametrtext_file_materialKontraktskutečný obsah UTF-8 vložený jako text; ID/URLs souborů vyžadují samostatnou přesně vymezenou podporu

Životní cyklus: exact retained published method

Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku.

Tarify

Sazby metod Ailoot

Ailoot OpenAI ChatPOST /v1/chat/completions
Vstup
0,0001 US$ / 1K
Výstup
0,0002 US$ / 1K
Čtení z mezipaměti
0,0001 US$ / 1K
Zápis do mezipaměti
0,0001 US$ / 1K
Zápis do mezipaměti, 5 min
0,0001 US$ / 1K tokens

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Příklady požadavků

Ailoot · OpenAI Chat

Textový příkladPython SDKNode.js SDKStreamování v Pythonu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "nvidia/riva-translate-4b-instruct-v1.1", "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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)
resp = client.chat.completions.create(
    model="nvidia/riva-translate-4b-instruct-v1.1",
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis 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(resp.to_dict(mode="json"))
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.chat.completions.create({
  model: "nvidia/riva-translate-4b-instruct-v1.1",
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
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='nvidia/riva-translate-4b-instruct-v1.1',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")

Přijímání a ukládání výsledků

Ailoot · OpenAI Chat

json nebo SSE

Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.

Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi
PoleTyp
Polechoices[].indexTypinteger
Polechoices[].message.contentTypstring|null
Polechoices[].message.tool_callsTyptool_call[]
Polechoices[].message.reasoning_contentTypstring
Polechoices[].message.reasoning_detailsTypobject|array
Polechoices[].finish_reasonTypstring|null
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.

Aliasy

Aliasy modelu

Ailoot nvidia/riva-translate-4b-instruct-v1.1

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

nvidia/riva-translate-4b-instruct-v1.1

FAQ · nvidia/riva-translate-4b-instruct-v1.1
Jaké vstupy a výsledky jsou dostupné?

POST /v1/chat/completions · nvidia/riva-translate-4b-instruct-v1.1: text → text

Jaká pole požadavek používá?

POST /v1/chat/completions · nvidia/riva-translate-4b-instruct-v1.1: model, messages, stream

Jaké limity platí?

POST /v1/chat/completions · nvidia/riva-translate-4b-instruct-v1.1: ctx: 4096; max_out: 1024; messages.min_items: 1

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva