Microsoft: Phi 4
Phi-4 je besedilni model Microsoft Research s 14 milijardami parametrov za sklepanje v angleščini, matematiko in pomoč pri programiranju. Uporablja kontekst 16K in pogovorno obliko navodil ter iz celotne opredelitve problema in predloženega besedila ustvarja razlage in predlagano kodo.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsmicrosoft/phi-4 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesmicrosoft/phi-4
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
Phi-4 je gosti transformator Microsoft Research s 14 milijardami parametrov in samo dekodirnikom za generiranje besedila. Njegov razvoj se osredotoča na kakovostno učno gradivo in napredno sklepanje v razmeroma kompaktnem modelu. Sprejema besedilo, najbolje ustreza pozivu v pogovornem formatu in generira besedilni odgovor, razlago ali kodo. Konkretna izdaja Phi-4 je ločena od poznejših izdaj za sklepanje, mini in multimodalnih izdaj.
Učenje in predvidena uporaba
Proizvajalec združuje javne dokumente in kodo, filtrirane glede kakovosti, na novo ustvarjene sintetične izobraževalne podatke, pridobljene akademske knjige in zbirke vprašanj ter odgovorov. Sintetično gradivo uči matematiko, programiranje, zdravorazumsko sklepanje in splošno znanje. Nadzorovano dodatno učenje in neposredna optimizacija preferenc nato izboljšata sledenje navodilom in odzivno vedenje.
Proizvajalec Phi-4 umešča kot gradnik aplikacij z omejitvami pomnilnika ali računskih virov, potrebami po interaktivnih odzivih ter nalogami sklepanja ali logike, predvsem v angleščini. Nalogi dodajte celoten pogoj in izvorne podatke, potrebne za odgovor. Pri matematičnem problemu opredelite spremenljivke, omejitve domene in obliko rezultata; pri razlagi določite občinstvo in pojme, ki jih mora povezati.
Sklepanje iz jasnega problema
Uporabna navodila so: »Primerjaj te pogoje, ugotovi, ali predlagana rešitev izpolnjuje vsakega od njih, in razloži prvo napako. Pred sklepom navedi vse manjkajoče podatke.« Pri vprašanju na podlagi virov označite odlomke in zahtevajte ugotovitev, ki jo vsak podpira. Od odgovora zahtevajte ohranitev imen, enot in predpostavk, ki vplivajo na rezultat.
Tudi daljši poziv naj ima en jasen namen. Objavljeni kontekst je 16K žetonov in skupaj vsebuje navodila, izvorno besedilo, pogovor in generirani odgovor. Pomembne dokaze ohranite v vhodu in rezervirajte prostor za končno razlago. Primer proračuna generiranja na kartici je ponazoritven in ne določa ločene univerzalne največje dolžine odgovora.
Pomoč pri programiranju
Phi-4 lahko predlaga kodo, razloži funkcijo ali razmisli o vhodu, ki povzroča napako. Predložite izvedbo, pričakovano vedenje in značilen primer, ki razlikuje pravilen rezultat. Izdelek s kodo zahtevajte ločeno od njegove razlage in določite vmesnike, ki morajo ostati nedotaknjeni.
Proizvajalec opozarja, da večina učenja kode temelji na Pythonu, zlasti pogostih paketih standardne knjižnice. Uporaba drugih paketov ali programskih jezikov zahteva skrbno preverjanje API. Popoln videz generirane funkcije ali skripta še ne pomeni, da je bila koda izvedena; zaženite jo v predvidenem okolju ter dejanske napake ali opažanja uporabite za predelavo rezultata.
Pogovorni format in jezik
Proizvajalčeva predstavitev poziva loči replike system, user in assistant. Sistemsko navodilo lahko določi vlogo ali slog odgovora, uporabniško sporočilo pa vsebuje dejanski problem. Ohranite format konkretnega modela, namesto da kopirate poznejšo predlogo Phi ali iz druge izdaje predpostavljate slikovni vhod ali klice orodij.
Phi-4 je učen predvsem v angleščini in ni namenjen večjezični uporabi. Drugi jeziki in manj zastopane različice angleščine imajo lahko slabšo zmogljivost. Predložite natančen zapis tehničnih imen in odgovor ovrednotite v jeziku, ki ga naloga potrebuje, namesto da majhen večjezični delež učnih podatkov obravnavate kot široko jezikovno podporo.
Meje zanesljivosti
Časovna meja javnih učnih podatkov je junij 2024 in prej. Za aktualne trditve ali trditve, občutljive na vire, v poziv priložite avtoritativno gradivo. Microsoft kljub usklajevanju opozarja tudi na možnost netočnega, zastarelega ali pristranskega izhoda. Končni odgovor preverite glede na pogoje problema in vire. Uporaben izdelek je besedilna rešitev, razlaga ali predlog kode z jasnimi predpostavkami in podpornimi dokazi.
Praktična naloga
Praktična naloga
Tehnični primer v angleščini
Check a proposed batch size
A machine makes exactly 12 parts per batch. A supervisor proposes five batches to supply 67 parts and says there will be three spare. Check the proposal using whole batches only. Give the first incorrect claim, the minimum sufficient batch count and the resulting spare-part count. Show the arithmetic briefly.Pričakovani rezultat
A concise numerical check identifying the failing claim, sufficient batches and surplus.Preverjanje rezultata
The calculation must use whole batches and meet the 67-part requirement.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions microsoft/phi-4
microsoft/phi-4Začetek
Phi-4 je besedilni model Microsoft Research s 14 milijardami parametrov za sklepanje v angleščini, matematiko in pomoč pri programiranju. Uporablja kontekst 16K in pogovorno obliko navodil ter iz celotne opredelitve problema in predloženega besedila ustvarja razlage in predlagano kodo.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vhod
text- Izhod
text- Izhodni format
- json ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve microsoft/phi-4 | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Primeri: system, user, assistant, tool, function Pogoji: Te vloge so izrecno predstavljene s tipi združljivosti v izvorni kodi; natančen nabor vlog ostaja odvisen od modela. Odvisno od modela | Privzeto— |
Poljemessages[].content | Vrstastring|content_part[]|null | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].tool_calls | Vrstatool_call[] | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].tool_call_id | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: role=tool; uporabite dejansko vrnjeni ID | Privzeto— |
Poljemessages[].name | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].reasoning_content | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Pošljite nazaj dejansko vrnjeno sklepanje, kadar ga ta model uporablja | Privzeto— |
Poljemessages[].reasoning_details | Vrstaobject|array | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
Poljemax_completion_tokens | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Poljestream_options.include_usage | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetemperature | Vrstanumber | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetop_p | Vrstanumber | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljestop | Vrstastring|string[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetools | Vrstafunction_tool[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetools[].type | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve function Odvisno od modela | Privzeto— |
Poljetools[].function.name | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Velja, ko: podano je funkcijsko orodje | Privzeto— |
Poljetools[].function.description | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljetools[].function.parameters | VrstaJSON_schema | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljetool_choice | Vrstastring|object | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeparallel_tool_calls | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeresponse_format | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljereasoning_effort | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljereasoning | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeservice_tier | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeinstructions | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Polje združljivosti | Privzeto— |
Poljefunctions | Vrstafunction[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljefunction_call | Vrstastring|object | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeprompt_cache_options | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemodalities | Vrstastring[] | ZahtevaIzbirno | Vrednosti in omejitve text | Privzeto— |
Poljeprovider | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: provider.options je na tej besedilni poti Ultra zavrnjen | Privzeto— |
Poljecache_control.ttl | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: 1h je zavrnjen na dejanskih mestih za predpomnjenje pozivov | Privzeto— |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF8
messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages |
Parametermaterial_types | Specifikacijatext |
Parametermessages | Specifikacijapolje sporočil s strukturo role/content |
Parameterfile_material | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
Parameteroptional_controls | Specifikacijastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Specifikacijaodvisno od modela; uporabniška funkcijska orodja se razlikujejo od orodij, ki jih izvaja storitev |
Parameteroutput_modalities | Specifikacijatext |
Parameterhosted_operations | Specifikacijafalse |
Parametermultimodal_input_binding | Specifikacijanull |
Življenjski cikel: synchronous_or_streamed
Pošljite natančen ID modela skupaj z messages.
Dolžina konteksta ni zgornja meja izhoda.
Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.00014 / 1K žetonov Izhod · Izhodni žetoni $0.00028 / 1K žetonov Vhod · Branje predpomnilnika — / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.00014 / 1K žetonov Izhod · Izhodni žetoni $0.00028 / 1K žetonov Vhod · Branje predpomnilnika — / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
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": "microsoft/phi-4", "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='microsoft/phi-4',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='microsoft/phi-4',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")
Prejmi in shrani rezultate
Ailoot Ultra · OpenAI Chat
json ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljechoices[].index | Vrstainteger |
Poljechoices[].message.content | Vrstastring|null |
Poljechoices[].message.tool_calls | Vrstatool_call[] |
Poljechoices[].message.reasoning_content | Vrstastring |
Poljechoices[].message.reasoning_details | Vrstaobject|array |
Poljechoices[].finish_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra microsoft/phi-4
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
Ailoot Ultra · Anthropic Messages POST /v1/messages microsoft/phi-4
microsoft/phi-4Začetek
Phi-4 je besedilni model Microsoft Research s 14 milijardami parametrov za sklepanje v angleščini, matematiko in pomoč pri programiranju. Uporablja kontekst 16K in pogovorno obliko navodil ter iz celotne opredelitve problema in predloženega besedila ustvarja razlage in predlagano kodo.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- json · sse
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vhod
text- Izhod
json,sse- Izhodni format
- JSON ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve microsoft/phi-4 | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF-8
niz messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages, max_tokens |
Parameteroptional_controls | Specifikacijastream |
Parametermaterial_types | Specifikacijatext |
Parametertext_file_material | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |
Življenjski cikel: synchronous_or_streamed
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.00014 / 1K žetonov Izhod · Izhodni žetoni $0.00028 / 1K žetonov Vhod · Branje predpomnilnika — / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.00014 / 1K žetonov Izhod · Izhodni žetoni $0.00028 / 1K žetonov Vhod · Branje predpomnilnika — / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Anthropic Messages
{
"model": "microsoft/phi-4",
"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': 'microsoft/phi-4', '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': 'microsoft/phi-4', '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))
Prejmi in shrani rezultate
Ailoot Ultra · Anthropic Messages
JSON ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljecontent[] | Vrstatext|thinking|tool_use|other content block |
Poljestop_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra microsoft/phi-4
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
FAQ · Microsoft: Phi 4
- Kateri vhodi in rezultati so na voljo?
POST /v1/chat/completions·microsoft/phi-4:text→textPOST /v1/messages·microsoft/phi-4:text→json,sse- Katera polja uporablja zahteva?
POST /v1/chat/completions·microsoft/phi-4:model,messages,stream,modalities,providerPOST /v1/messages·microsoft/phi-4:model,messages,max_tokens,stream- Katere omejitve veljajo?
POST /v1/chat/completions·microsoft/phi-4:messages.min_items:1