ERNIE 4.5 300B A47B
ERNIE 4.5 300B-A47B je textový model Baidu typu směs expertů s celkem 300 miliardami parametrů, 47 miliardami aktivních parametrů na token a zveřejněným kontextem 131 072 tokenů. Podporuje porozumění jazyku a jeho generování včetně odpovědí podložených referenčními pasážemi, které dodáte.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsbaidu/ERNIE-4.5-300B-A47B - Ailoot Ultra · Anthropic Messages
POST /v1/messagesbaidu/ERNIE-4.5-300B-A47B
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
ERNIE 4.5 300B-A47B je velký textový model Baidu z rodiny ERNIE 4.5. Jeho architektura směsi expertů obsahuje celkem 300 miliard parametrů a pro každý token aktivuje 47 miliard. Zveřejněná konfigurace modelu poskytuje kontext o délce 131 072 tokenů. Přijímá text a generuje text; podporuje konverzaci, vysvětlení nebo nový dokument podle dodané otázky a materiálu.
Hlavní vlastnosti ERNIE 4.5. Baidu popisuje společné trénování jazykových a vizuálních informací napříč rodinou se směrováním, které různým modalitám umožňuje sdílet některé parametry a současně zachovávat vyhrazené zpracování. Textová varianta se zaměřuje na obecné porozumění jazyku a jeho generování. Vývoj rodiny zahrnuje také infrastrukturu pro účinné trénování a inferenci a následné trénování s příklady s učitelem a optimalizací podle preferencí. Tyto návrhové volby vysvětlují původ modelu; nemění textový požadavek v obrazový vstup.
Konfigurace modelu. Zveřejněný textový model má 54 vrstev, 64 dotazových hlav pozornosti a 8 hlav klíčů/hodnot. Konfigurace textových expertů uvádí 64 expertů, z nichž se současně aktivuje 8. Při praktické přípravě vstupu využijte kontext k zachování pasáží potřebných pro úlohu, včetně nadpisů a jejich vztahů. Konverzace a vygenerovaná odpověď sdílejí dostupný rozpočet kontextu, proto vyberte relevantní materiál a určete délku výsledku místo toho, abyste celé okno považovali za prostor pro odpověď.
Požadavek začíná otázkou nebo instrukcí. Pro analýzu dokumentů dodejte označené sekce a žádejte závěr s uvedením sekce podporující každý bod. Pro psaní textu dodejte cílové čtenáře, zdrojové skutečnosti a požadovanou strukturu. Můžete požadovat vysvětlení služby, shrnutí požadavků nebo porovnání dvou interních postupů. Zahrňte pravidla pro nejednoznačné případy a žádejte poznámku o chybějících informacích, pokud zdroj neodůvodňuje jednoznačnou odpověď.
Odpovídání podložené referencemi. Výrobce zveřejňuje příklady zadání v čínštině a angličtině pro postup, který dodává aktuální čas, referenční články a otázku. Model má posoudit relevanci a aktuálnost referencí, upřednostnit autoritativní materiál a uvést, kdy důkazy nestačí. Při použití tohoto vzoru označte každou dodanou referenci, zachovejte dostupný čas jejího vydání a oddělte obsah reference od otázky. Očekávaným výsledkem je odpověď založená na těchto pasážích, nikoli předpoklad, že vyhledávání již proběhlo.
Doporučení pro generování. Karta Baidu pro zveřejněné příklady modelu doporučuje parametry temperature 0.8 a top-p 0.8. Při konfiguraci kompatibilního generování s nimi zacházejte jako s doporučením výrobce a výstup následně vyhodnoťte podle požadavků úlohy. Vydání modelu PT a Paddle označují různé formáty vah; pojmenovaná textová varianta zůstává odlišná od vizuálně-jazykového modelu VL i od trénovacího kontrolního bodu Base. Praktická kontrola má ověřit důležitá faktická tvrzení, číselné údaje a úplnost požadovaných sekcí podle dodaného materiálu.
Praktická úloha
Praktická úloha
Technický příklad v angličtině
Resolve conflicting reference passages
Answer the question using these references only. R1, old handbook: Trial accounts retain exports for 7 days. R2, current handbook: Trial exports are retained for 14 days; paid-account exports for 90 days. Question: How long can a trial customer retrieve an export? Cite the relevant reference and explain why the other passage differs.Očekávaný výsledek
A short answer with the retention period, reference identifier and a sentence describing the documented version conflict.Ověření výsledku
Check that the answer uses the current trial rule and does not substitute the paid-account period.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions baidu/ERNIE-4.5-300B-A47B
baidu/ERNIE-4.5-300B-A47BÚvod
ERNIE 4.5 300B-A47B je textový model Baidu typu směs expertů s celkem 300 miliardami parametrů, 47 miliardami aktivních parametrů na token a zveřejněným kontextem 131 072 tokenů. Podporuje porozumění jazyku a jeho generování včetně odpovědí podložených referenčními pasážemi, které dodáte.
- Přijímané vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vstup
text- Výstup
text- Výstupní formát
- json nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity baidu/ERNIE-4.5-300B-A47B | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
Polemessages[].role | Typstring | Pož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[].content | Typstring|content_part[]|null | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polemessages[].tool_calls | Typtool_call[] | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polemessages[].tool_call_id | Typstring | PožadavekVolitelné | Hodnoty a limity Platí, když: role=tool; použijte skutečně vrácené ID | Výchozí— |
Polemessages[].name | Typstring | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polemessages[].reasoning_content | Typstring | Pož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_details | Typobject|array | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polemax_tokens | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Závisí na modelu | Výchozí— |
Polemax_completion_tokens | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Závisí na modelu | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Polestream_options.include_usage | Typboolean | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletemperature | Typnumber | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletop_p | Typnumber | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polestop | Typstring|string[] | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletools | Typfunction_tool[] | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletools[].type | Typstring | PožadavekVolitelné | Hodnoty a limity function Závisí na modelu | Výchozí— |
Poletools[].function.name | Typstring | PožadavekPovinné | Hodnoty a limity Platí, když: nástroj typu funkce je dodán | Výchozí— |
Poletools[].function.description | Typstring | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Poletools[].function.parameters | TypJSON_schema | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Poletool_choice | Typstring|object | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleparallel_tool_calls | Typboolean | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleresponse_format | Typobject | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polereasoning_effort | Typstring | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polereasoning | Typobject | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleservice_tier | Typstring | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleinstructions | Typstring | PožadavekVolitelné | Hodnoty a limity Pole kompatibility | Výchozí— |
Polefunctions | Typfunction[] | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polefunction_call | Typstring|object | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleprompt_cache_options | Typobject | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polemodalities | Typstring[] | PožadavekVolitelné | Hodnoty a limity text | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: provider.options je na této textové trase Ultra odmítáno | Výchozí— |
Polecache_control.ttl | Typstring | PožadavekVolitelné | Hodnoty a limity Podmínky: Hodnota 1h je ve skutečných umístěních mezipaměti promptů odmítána | Výchozí— |
Kombinace vstupních materiálů
Text · text UTF8
messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages |
Parametrmaterial_types | Kontrakttext |
Parametrmessages | Kontraktpole zpráv se strukturou role/content |
Parametrfile_material | Kontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje |
Parametroptional_controls | Kontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrcontrol_scope | Kontraktspecifické pro model; nástroje uživatelských funkcí se liší od hostovaných nástrojů |
Parametroutput_modalities | Kontrakttext |
Parametrhosted_operations | Kontraktfalse |
Parametrmultimodal_input_binding | Kontraktnull |
Životní cyklus: synchronous_or_streamed
Odešlete přesné ID modelu spolu s messages.
Délka kontextu není limitem výstupu.
Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0006 / 1K tokenů Výstup · Výstupní tokeny $0.00228 / 1K tokenů Vstup · Čtení z mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
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 Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "baidu/ERNIE-4.5-300B-A47B", "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='baidu/ERNIE-4.5-300B-A47B',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='baidu/ERNIE-4.5-300B-A47B',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 Ultra · 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
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra baidu/ERNIE-4.5-300B-A47B
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
Ailoot Ultra · Anthropic Messages POST /v1/messages baidu/ERNIE-4.5-300B-A47B
baidu/ERNIE-4.5-300B-A47BÚvod
ERNIE 4.5 300B-A47B je textový model Baidu typu směs expertů s celkem 300 miliardami parametrů, 47 miliardami aktivních parametrů na token a zveřejněným kontextem 131 072 tokenů. Podporuje porozumění jazyku a jeho generování včetně odpovědí podložených referenčními pasážemi, které dodáte.
- Přijímané vstupy
- Text
- Výsledky
- json · sse
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vstup
text- Výstup
json,sse- Výstupní formát
- JSON nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity baidu/ERNIE-4.5-300B-A47B | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
Polemessages[].content | Typstring | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemax_tokens | Typinteger | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Kombinace vstupních materiálů
Text · text UTF-8
řetězec messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages, max_tokens |
Parametroptional_controls | Kontraktstream |
Parametrmaterial_types | Kontrakttext |
Parametrtext_file_material | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |
Životní cyklus: synchronous_or_streamed
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0006 / 1K tokenů Výstup · Výstupní tokeny $0.00228 / 1K tokenů Vstup · Čtení z mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
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 Ultra · Anthropic Messages
{
"model": "baidu/ERNIE-4.5-300B-A47B",
"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': 'baidu/ERNIE-4.5-300B-A47B', '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': 'baidu/ERNIE-4.5-300B-A47B', '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))
Přijímání a ukládání výsledků
Ailoot Ultra · Anthropic Messages
JSON nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.
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
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polemodel | Typstring |
Polecontent[] | Typtext|thinking|tool_use|other content block |
Polestop_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra baidu/ERNIE-4.5-300B-A47B
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · baidu/ERNIE-4.5-300B-A47B
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/chat/completions·baidu/ERNIE-4.5-300B-A47B:text→textPOST /v1/messages·baidu/ERNIE-4.5-300B-A47B:text→json,sse- Jaká pole požadavek používá?
POST /v1/chat/completions·baidu/ERNIE-4.5-300B-A47B:model,messages,stream,modalities,providerPOST /v1/messages·baidu/ERNIE-4.5-300B-A47B:model,messages,max_tokens,stream- Jaké limity platí?
POST /v1/chat/completions·baidu/ERNIE-4.5-300B-A47B:messages.min_items:1