Anthropic: Claude Sonnet 4.5
Claude Sonnet 4.5 yra Anthropic teksto ir vaizdų modelis programinės įrangos kūrimui, sudėtingiems agentams, kompiuterio naudojimui ir analitiniam darbui. Jis palaiko tiesioginius atsakymus arba rankiniu būdu įjungiamą išplėstinį mąstymą, o dokumentuotoje beta darbo eigoje gali samprotauti tarp įrankių iškvietimų.
- Ailoot Ultra · OpenAI pokalbis
POST /v1/chat/completionsanthropic/claude-sonnet-4.5 - Ailoot Ultra · Anthropic pranešimai
POST /v1/messagesanthropic/claude-sonnet-4.5
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Claude Sonnet 4.5 yra Anthropic Sonnet leidimas, orientuotas į programinės įrangos kūrimą, sudėtingas agentų užduotis ir kompiuterio naudojimą, su samprotavimo bei matematikos patobulinimais. Jis priima tekstą ir vaizdus bei generuoja tekstą. Leidimo apraše kalbama apie ilgalaikį kelių žingsnių darbą, kodo supratimą ir pakeitimus, apimančius platesnį projektą, o ne vieną atskirą funkciją. Naudingame užduoties apraše nurodomas reikiamas elgesys, aktuali šaltinių medžiaga ir pateiktinas rezultatas: siūloma pataisa, įgyvendinimo paaiškinimas, dokumento analizė arba struktūrizuotas atsakymas.
Programinės įrangos darbui pateikite projekto apribojimus, aktualius failus ar ištraukas, pastebėtą klaidą ir konkretų laukiamo rezultato pavyzdį. Prašykite susijusio kodo ir paaiškinimo, kaip siūlomas pakeitimas išsprendžia šį pavyzdį. Gamintojas pristato modelį kaip tinkamą agentams kurti ir kūrimo užduotims atlikti naudojant įrankius. Aplinkinė programa skaito ir redaguoja failus, paleidžia komandą ar patikrą ir grąžina tikrąją išvestį; modelis samprotauja pagal šį pagrindimą. Galutinėje ataskaitoje atskirkite siūlomą pakeitimą nuo atliktos patikros.
Kompiuterio naudojimas yra atskiras modelio vaizdinių ir agentinių galimybių pritaikymas. Anthropic leidimo medžiagoje demonstruojama sąveika su naršykle, puslapių naršymas ir darbas su skaičiuoklėmis per prijungtą aplinką. Vaizdinėje užduotyje galima pateikti ekrano kopiją, įvardyti tikslą ir apibrėžti, kokius veiksmus programai leidžiama atlikti. Programa tuomet atlieka pasirinktą sąveiką ir grąžina pasikeitusį ekraną ar kitą rezultatą. Panašiai modelis gali parengti dokumentų, skaičiuoklių ir skaidrių turinį bei kodą, o aplinka sukuria baigtą failą. Teksto ir vaizdų supratimas nepaverčia modelio savaiminiu vaizdų ar garso generatoriumi.
Tiksli gamintojo specifikacija nurodo 200K žetonų konteksto langą ir iki 64K išvesties žetonų. Jo patikimų žinių riba yra 2025 m. sausis ir skiriasi nuo puslapyje nurodytos vėlesnės mokymo duomenų ribos. Ilgoje įvestyje aiškiai išlaikykite dokumentų ribas, puslapių žymas, vienetus ir kodo identifikatorius, taip pat palikite vietos prašomam atsakymui ir samprotavimui. Gamintojas taip pat dokumentuoja šio leidimo konteksto suvokimą, todėl palaikomoje darbo eigoje stebima, kiek vietos lieka pokalbio metu. Tai padeda valdyti ilgalaikę užduotį savo lange; šio lango nepakeičia didesne vėlesnio Sonnet leidimo talpa.
Sonnet 4.5 palaiko įprastus atsakymus ir rankiniu būdu įjungiamą išplėstinį mąstymą. Pastarajame režime budget_tokens nustato vidinio samprotavimo tikslą prieš matomą atsakymą. Dokumentuotas minimumas yra 1 024 žetonai, o biudžetas paprastai turi būti mažesnis už max_tokens, nes mąstymas ir galutinis atsakymas dalijasi generavimo limitu. Biudžetas yra tikslas, o ne pažadas sunaudoti būtent tiek žetonų. Šis leidimas neturi adaptyviojo mąstymo režimo ar effort valdiklių, aprašytų vėlesniems Sonnet modeliams. Pasirinkite prašomą analizės gylį ir palikite pakankamai vietos naudingam galutiniam atsakymui.
Gamintojo beta funkcija su mąstymu tarp įrankių iškvietimų leidžia Sonnet 4.5 samprotauti vieno pokalbio žingsnio metu ir, remiantis grąžintais stebėjimais, pasirinkti kitą veiksmą. Jai reikia dokumentuotos beta funkcijos palaikomoje Messages darbo eigoje. Šiuo atveju mąstymo biudžetas gali viršyti max_tokens, nes apima kelis mąstymo blokus tame pačiame asistento pokalbio žingsnyje. Grąžinkite įrankių rezultatus kartu su atitinkamu nepakeistu mąstymo turiniu, įskaitant jo parašą; redagavimas šį turinį padaro negaliojantį. Todėl tyrimo ar klaidų šalinimo užduotyje galima kaitalioti siūlomą patikrą, tikrąjį grąžintą rezultatą ir atnaujintą analizę, nelaikant tekstinio pasiūlymo atliktu veiksmu.
Vaizdinei medžiagai gamintojas palaiko JPEG, PNG, GIF ir WebP ir naudoja tik pirmą animacijos kadrą. Šiam leidimui taikomas standartinis paties modelio vaizdų lygis turi 1 568 pikselių ilgosios kraštinės limitą ir 1 568 vaizdinių žetonų limitą; didesni vaizdai sumažinami. Gamintojo vaizdų vadove 200K konteksto modeliams nurodoma iki 100 vaizdų vienoje API užklausoje, tačiau vaizdų ir bendro užklausos dydžio ribos gali būti pasiektos anksčiau. Kai praktiška, vaizdus pateikite prieš klausimą, pažymėkite kelis vaizdus ir išsaugokite smulkų tekstą ar diagramų žymas. Vadove rekomenduojami aiškūs vaizdai ir pakankamas aplinkinis kontekstas matomai detalei suprasti.
Konteksto redagavimas ir atminties įrankis pristatyti kartu su šiuo modeliu, siekiant palaikyti ilgesnes agentų darbo eigas. Tai programos palaikomi būdai išsaugoti naudingą būseną ar pašalinti seną įrankių medžiagą; jie nėra neribota modelio atmintis ar vėlesnė serverio konteksto glaudinimo funkcija. Kelių etapų užduotyje išsaugokite jau priimtus sprendimus, likusį klausimą ir pagrindimą, reikalingą kitam žingsniui. Anthropic taip pat aprašo didesnį atsparumą paslėptoms instrukcijoms išoriniame turinyje ir pažymi, kad konkretaus modelio klasifikatoriai kartais gali pažymėti nekenksmingą medžiagą. Naudingas rezultatas išlieka patikrinamas darbas, susietas su pateiktu pagrindimu, o tikslūs Sonnet 4.5 režimai ir limitai laikomi atskirai nuo vėlesnių leidimų.
Praktinė užduotis
Praktinė užduotis
Techninis pavyzdys anglų kalba
Repair an empty-cart total
Review this Python function: def total(items): return sum(x['price'] * x['qty'] for x in items) / len(items). It crashes for an empty cart and incorrectly averages nonempty carts. Return a minimal correction preserving the function signature, plus assertions for empty, one-line and two-line carts. Explain the changed behavior briefly.Laukiamas rezultatas
Corrected Python function, three concrete assertions and a brief explanation of sum versus average.Rezultato patikra
The proposed tests cover empty input and verify that two cart lines are added rather than averaged.Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions anthropic/claude-sonnet-4.5
anthropic/claude-sonnet-4.5Pradžia
Claude Sonnet 4.5 yra Anthropic teksto ir vaizdų modelis programinės įrangos kūrimui, sudėtingiems agentams, kompiuterio naudojimui ir analitiniam darbui. Jis palaiko tiesioginius atsakymus arba rankiniu būdu įjungiamą išplėstinį mąstymą, o dokumentuotoje beta darbo eigoje gali samprotauti tarp įrankių iškvietimų.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions
- Įvestis
text- Išvestis
text- Išvesties formatas
- json arba SSE
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos anthropic/claude-sonnet-4.5 | Numatyta— |
Laukasmessages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasmessages[].role | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
Laukasmessages[].content | Tipasstring|content_part[]|null | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].tool_calls | Tipastool_call[] | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].tool_call_id | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
Laukasmessages[].name | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].reasoning_content | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
Laukasmessages[].reasoning_details | Tipasobject|array | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasmax_tokens | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
Laukasmax_completion_tokens | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
Laukasstream | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
Laukasstream_options.include_usage | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastemperature | Tipasnumber | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastop_p | Tipasnumber | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasstop | Tipasstring|string[] | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastools | Tipasfunction_tool[] | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukastools[].type | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
Laukastools[].function.name | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
Laukastools[].function.description | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukastools[].function.parameters | TipasJSON_schema | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukastool_choice | Tipasstring|object | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasparallel_tool_calls | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasresponse_format | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasreasoning_effort | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasreasoning | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasservice_tier | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasinstructions | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
Laukasfunctions | Tipasfunction[] | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasfunction_call | Tipasstring|object | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasprompt_cache_options | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasmodalities | Tipasstring[] | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
Laukasprovider | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
Laukascache_control.ttl | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose | Numatyta— |
Įvesties medžiagos deriniai
Tekstas · UTF8 tekstas
messages[].content
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, messages |
Parametrasmaterial_types | Specifikacijatext |
Parametrasmessages | Specifikacijapranešimų masyvas su role/content struktūra |
Parametrasfile_material | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
Parametrasoptional_controls | Specifikacijastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrascontrol_scope | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
Parametrasoutput_modalities | Specifikacijatext |
Parametrashosted_operations | Specifikacijafalse |
Parametrasmultimodal_input_binding | Specifikacijanull |
Gyvavimo ciklas: synchronous_or_streamed
Siųskite tikslų modelio ID kartu su messages.
Konteksto ilgis nėra išvesties limitas.
Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0132 / 1K tokenų Išvestis · Išvesties tokenai $0.03 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0006 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0075 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val $0.012 / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai200 000 | Mokestis Įvestis · Įvesties tokenai $0.0132 / 1K tokenų Išvestis · Išvesties tokenai $0.03 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0006 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0075 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val $0.012 / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei200 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0132 / 1K tokenų Išvestis · Išvesties tokenai $0.03 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0006 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0075 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val $0.024 / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · OpenAI pokalbis
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "anthropic/claude-sonnet-4.5", "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='anthropic/claude-sonnet-4.5',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='anthropic/claude-sonnet-4.5',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")
Gauti ir išsaugoti rezultatus
Ailoot Ultra · OpenAI pokalbis
json arba SSE
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukaschoices[].index | Tipasinteger |
Laukaschoices[].message.content | Tipasstring|null |
Laukaschoices[].message.tool_calls | Tipastool_call[] |
Laukaschoices[].message.reasoning_content | Tipasstring |
Laukaschoices[].message.reasoning_details | Tipasobject|array |
Laukaschoices[].finish_reason | Tipasstring|null |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra anthropic/claude-sonnet-4.5
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
Ailoot Ultra · Anthropic pranešimai POST /v1/messages anthropic/claude-sonnet-4.5
anthropic/claude-sonnet-4.5Pradžia
Claude Sonnet 4.5 yra Anthropic teksto ir vaizdų modelis programinės įrangos kūrimui, sudėtingiems agentams, kompiuterio naudojimui ir analitiniam darbui. Jis palaiko tiesioginius atsakymus arba rankiniu būdu įjungiamą išplėstinį mąstymą, o dokumentuotoje beta darbo eigoje gali samprotauti tarp įrankių iškvietimų.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- json · sse
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Anthropic pranešimai POST /v1/messages
- Įvestis
text- Išvestis
json,sse- Išvesties formatas
- JSON arba SSE
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos anthropic/claude-sonnet-4.5 | Numatyta— |
Laukasmessages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmessages[].role | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
Laukasmessages[].content | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasmax_tokens | Tipasinteger | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasstream | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
Įvesties medžiagos deriniai
Tekstas · UTF-8 tekstas
messages[].content eilutė
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, messages, max_tokens |
Parametrasoptional_controls | Specifikacijastream |
Parametrasmaterial_types | Specifikacijatext |
Parametrastext_file_material | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |
Gyvavimo ciklas: synchronous_or_streamed
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0132 / 1K tokenų Išvestis · Išvesties tokenai $0.03 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0006 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0075 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val $0.012 / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai200 000 | Mokestis Įvestis · Įvesties tokenai $0.0132 / 1K tokenų Išvestis · Išvesties tokenai $0.03 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0006 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0075 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val $0.012 / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei200 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0132 / 1K tokenų Išvestis · Išvesties tokenai $0.03 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0006 / 1K tokenų Įvestis · Rašymas į talpyklą $0.0075 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val $0.024 / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Anthropic pranešimai
{
"model": "anthropic/claude-sonnet-4.5",
"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': 'anthropic/claude-sonnet-4.5', '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': 'anthropic/claude-sonnet-4.5', '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))
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Anthropic pranešimai
JSON arba SSE
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasid | Tipasstring |
Laukasmodel | Tipasstring |
Laukascontent[] | Tipastext|thinking|tool_use|other content block |
Laukasstop_reason | Tipasstring|null |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra anthropic/claude-sonnet-4.5
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Anthropic: Claude Sonnet 4.5
- Kokios įvestys ir rezultatai prieinami?
POST /v1/chat/completions·anthropic/claude-sonnet-4.5:text→textPOST /v1/messages·anthropic/claude-sonnet-4.5:text→json,sse- Kokius laukus naudoja užklausa?
POST /v1/chat/completions·anthropic/claude-sonnet-4.5:model,messages,stream,modalities,providerPOST /v1/messages·anthropic/claude-sonnet-4.5:model,messages,max_tokens,stream- Kokie apribojimai taikomi?
POST /v1/chat/completions·anthropic/claude-sonnet-4.5:messages.min_items:1