Meta: Muse Spark 1.3
Muse Spark 1.3 er Metas multimodale ræsonnementsmodel til langvarige agenter og kodeforløb. Den holder styr på kilder og tidligere resultater, understøtter en producentangivet kontekst på 1.048.576 tokens og ræsonnementsniveauer op til max i denne Standard-udgave og returnerer tekst og foreslåede værktøjshandlinger.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsmeta/muse-spark-1.3 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesmeta/muse-spark-1.3
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Muse Spark 1.3 er Metas ræsonnementsmodel til vedvarende agent- og kodearbejde. Producenten fremhæver bevarelse af kontekst og tidligere resultater gennem længere opgaver, arbejde med modstridende kilder og produktion af et færdigt slutprodukt. Denne post er Standard 1.3-udgaven, hvis dokumenterede ræsonnementsindstillinger omfatter max; den særskilt navngivne Contributor-udgave har sine egne indstillingsgrænser.
Langsigtet agentarbejde
Udgivelsen beskriver en model trænet på tværs af forskellige agentmiljøer til at indsamle information, revidere en plan, når dokumentationen ændrer sig, og bevare detaljerede krav gennem en opgave med flere trin. Den beskriver også forbedret håndtering af flere arbejdsgange i én samtale, hvor indgående anmodninger knyttes til den relevante opgave. En nyttig anmodning bør definere målet, kilderne, kravene og det artefakt, der tæller som fuldførelse.
Ved en faglig dokumentopgave skal du vedlægge kilderapporterne, identificere de fakta, der skal bevares, og bede om et struktureret oplæg med kildeplaceringer. Hvis kilderne er uenige, skal du bede om de modstridende udsagn særskilt og de oplysninger, der kræves for at afklare dem. Ved en kodeopgave skal du medtage den tilsigtede adfærd, berørte moduler og relevant kode; bed om den foreslåede implementering og den dokumentation, der kan kendetegne det tilsigtede resultat.
Producenten siger, at 1.3 beder om præcisering, når en anmodning er tvetydig, og søger brugerens hjælp, når den er blokeret. Den beskriver også bedre dømmekraft ved handlinger med væsentlige konsekvenser. Dette er forbedringer af modeladfærden frem for en erstatning for applikationens udførelseskontroller. Giv agenten de oplysninger, der kræves for at træffe beslutninger, og gør det krævede resultat eksplicit.
Kodning og multimodal dokumentation
Udgivelsen fokuserer på længere kodeopgaver, renere output og færre unødvendige samtaleture sammenlignet med 1.2. Et kodeagentforløb kan undersøge et skærmbillede, finde den relevante kode, foreslå en rettelse og bruge udførelses- eller renderingsfeedback fra værktøjerne. Angiv den grænseflade, der fortsat skal være kompatibel, og bed om det ændrede artefakt adskilt fra dets antagelser og forklaring.
Den officielle modeltabel angiver tekst-, billed-, video- og PDF-input med tekstoutput og en kontekst på 1.048.576 tokens. Billeder eller klip kan give synlig dokumentation sammen med den skriftlige opgave. Et diagramspørgsmål bør bevare akser, signaturforklaringer og enheder; et skærmbilledspørgsmål bør identificere den adfærd, der skal genskabes eller undersøges. Et PDF-spørgsmål kan bede om et kildeforbundet udtræk eller en sammenligning frem for et generelt resumé af alle sider.
Producenten bemærker udtrykkeligt, at lydforståelse i 1.3 ikke er fuldt understøttet, og at svar på input, der indeholder lyd, kan blive forringet. Det adskiller sig fra 1.2s dokumenterede audiovisuelle evner. Modellens tekstresultat genererer heller ikke i sig selv et billede, en taleoptagelse eller en færdig fil uden den omgivende applikations værktøjer.
Ræsonnementsniveau og kontinuitet
De dokumenterede niveauer er minimal, low, medium, high, xhigh og max. Max er specifikt for Standard 1.3. Muse Spark understøtter ikke deaktivering af ræsonnement med none; udelades indstillingen, bestemmer modellen ræsonnementsniveauet. Vælg niveauet til det faktiske problem, og giv plads til både det interne ræsonnement og det krævede skriftlige resultat.
Ræsonnementstokens og synlige tokens deler outputbudgettet. Råt internt ræsonnement forbliver privat og returneres ikke som almindelig læselig tekst. Producenten skelner mellem synlig samtalehistorik og privat ræsonnementskontinuitet: chatgrænsefladen udstiller ikke et spor, som eksterne kaldere kan genafspille, mens den anden dokumenterede samtalearbejdsgang understøtter administreret eller krypteret fortsættelse af ræsonnement. Bevar de kilder, synlige beskeder og faktiske værktøjsresultater, en opfølgning kræver, frem for at antage, at alle grænseflader bevarer privat ræsonnement ens.
Værktøjer og strukturerede slutprodukter
Applikationen stiller udviklerdefinerede funktionsbeskrivelser til rådighed, modellen opretter de krævede kaldargumenter, og applikationen udfører hvert kald og returnerer det tilhørende resultat. Modellen kan anmode om flere funktioner i én samtaletur. Returnér resultatet for hver oprindelig operation, før du beder om næste konklusion, så svaret bruger faktisk hentet eller beregnet information.
Producenten dokumenterer særskilt indbyggede søgeværktøjer, der kører i den tilsluttede tjeneste. Udviklerfunktioner og disse indbyggede værktøjer har forskellige udførelsesordninger. Modellen kan ræsonnere over, hvilke oplysninger den har brug for, men valget af modellen alene giver ikke adgang til et repositorium, en browser eller en privat informationskilde.
Struktureret output kan begrænse resultatet til et angivet JSON-skema. Definér de felter og typer, næste trin kræver, og behandlingen af manglende kildeoplysninger. I producentens strikte skematilstand er roden et almindeligt objekt, alle egenskaber er påkrævede, og ekstra egenskaber er forbudt; rekursive skemaer afvises. Dette er begrænsninger i producentens strukturerede grænseflade og ikke bevis for, at fakta i en korrekt formet post er sande.
Ved et nyttigt slutresultat skal du bede om de kildeunderbyggede fund, den foreslåede ændring eller det foreslåede dokument og de uafklarede forhold særskilt. De læste kilder angiver ikke en uafhængig hård maksimal input- eller outputtokenkapacitet ud over den dokumenterede kontekst. Hold Standard 1.3-identiteten, ræsonnementsvalget og de tilknyttede udførelsesresultater eksplicitte gennem hele opgaven.
Praktisk opgave
Praktisk opgave
Teknisk eksempel på engelsk
Resolve conflicting project reports
Prepare a decision brief from these reports. Engineering E: migration scripts passed staging checks. Operations O: production backup restoration has not been rehearsed. Release policy P: rehearsal must pass before migration approval. State what is established, what blocks approval and the next evidence needed. Keep staging success separate from production readiness and cite E, O or P beside each point.Forventet resultat
A source-linked brief with established facts, the blocking condition and one concrete evidence request.Kontrollér resultatet
Staging checks alone never satisfy the policy's restoration-rehearsal requirement.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions meta/muse-spark-1.3
meta/muse-spark-1.3Start
Muse Spark 1.3 er Metas multimodale ræsonnementsmodel til langvarige agenter og kodeforløb. Den holder styr på kilder og tidligere resultater, understøtter en producentangivet kontekst på 1.048.576 tokens og ræsonnementsniveauer op til max i denne Standard-udgave og returnerer tekst og foreslåede værktøjshandlinger.
- Accepterede input
- Tekst
- Resultater
- Tekst
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Inputtyper
text- Outputtyper
text- Outputformat
- json eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser meta/muse-spark-1.3 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser Eksempler: system, user, assistant, tool, function Betingelser: Disse roller er eksplicit repræsenteret i kildekodens kompatibilitetstyper; modellens præcise rollesæt er fortsat modelspecifikt. Afhænger af modellen | Standard— |
Feltmessages[].content | Typestring|content_part[]|null | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].tool_calls | Typetool_call[] | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].tool_call_id | Typestring | KravValgfrit | Værdier og grænser Gælder når: role=tool; brug det faktisk returnerede ID | Standard— |
Feltmessages[].name | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].reasoning_content | Typestring | KravValgfrit | Værdier og grænser Gælder når: Send det faktisk returnerede ræsonnement tilbage, når modellen bruger det | Standard— |
Feltmessages[].reasoning_details | Typeobject|array | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltmax_tokens | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 1 Afhænger af modellen | Standard— |
Feltmax_completion_tokens | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 1 Afhænger af modellen | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Feltstream_options.include_usage | Typeboolean | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttemperature | Typenumber | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttop_p | Typenumber | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltstop | Typestring|string[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttools | Typefunction_tool[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttools[].type | Typestring | KravValgfrit | Værdier og grænser function Afhænger af modellen | Standard— |
Felttools[].function.name | Typestring | KravPåkrævet | Værdier og grænser Gælder når: funktionsværktøj angivet | Standard— |
Felttools[].function.description | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Felttools[].function.parameters | TypeJSON_schema | KravValgfrit | Værdier og grænser | Standard— |
Felttool_choice | Typestring|object | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltparallel_tool_calls | Typeboolean | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltresponse_format | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltreasoning_effort | Typestring | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltreasoning | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltservice_tier | Typestring | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltinstructions | Typestring | KravValgfrit | Værdier og grænser Kompatibilitetsfelt | Standard— |
Feltfunctions | Typefunction[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltfunction_call | Typestring|object | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltprompt_cache_options | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltmodalities | Typestring[] | KravValgfrit | Værdier og grænser text | Standard— |
Feltprovider | Typeobject | KravValgfrit | Værdier og grænser Betingelser: provider.options afvises på denne Ultra-tekstrute | Standard— |
Feltcache_control.ttl | Typestring | KravValgfrit | Værdier og grænser Betingelser: 1h afvises på de faktiske placeringer for promptcaching | Standard— |
Kombinationer af inputmaterialer
Tekst · UTF8-tekst
messages[].content
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages |
Parametermaterial_types | Kontrakttext |
Parametermessages | Kontraktbeskedarray med strukturen role/content |
Parameterfile_material | Kontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes |
Parameteroptional_controls | Kontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Kontraktmodelspecifikt; brugerens funktionsværktøjer er forskellige fra hostede værktøjer |
Parameteroutput_modalities | Kontrakttext |
Parameterhosted_operations | Kontraktfalse |
Parametermultimodal_input_binding | Kontraktnull |
Livscyklus: synchronous_or_streamed
Send det præcise model-ID med messages.
Kontekstlængde er ikke et outputloft.
En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
- Ræsonneringsindsats · high
- Standardpris Når ræsonneringsindsatsen er sat til high
- Ræsonneringsindsats · low
- Standardpris Når ræsonneringsindsatsen er sat til low
- Ræsonneringsindsats · max
- Standardpris Når ræsonneringsindsatsen er sat til max
- Ræsonneringsindsats · medium
- Standardpris Når ræsonneringsindsatsen er sat til medium
- Ræsonneringsindsats · minimal
- Standardpris Når ræsonneringsindsatsen er minimal
- Ræsonneringsindsats · xhigh
- Standardpris Når ræsonneringsindsatsen er sat til xhigh
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
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": "meta/muse-spark-1.3", "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='meta/muse-spark-1.3',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='meta/muse-spark-1.3',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")
Hent og gem resultater
Ailoot Ultra · OpenAI Chat
json eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltchoices[].index | Typeinteger |
Feltchoices[].message.content | Typestring|null |
Feltchoices[].message.tool_calls | Typetool_call[] |
Feltchoices[].message.reasoning_content | Typestring |
Feltchoices[].message.reasoning_details | Typeobject|array |
Feltchoices[].finish_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra meta/muse-spark-1.3
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
Ailoot Ultra · Anthropic Messages POST /v1/messages meta/muse-spark-1.3
meta/muse-spark-1.3Start
Muse Spark 1.3 er Metas multimodale ræsonnementsmodel til langvarige agenter og kodeforløb. Den holder styr på kilder og tidligere resultater, understøtter en producentangivet kontekst på 1.048.576 tokens og ræsonnementsniveauer op til max i denne Standard-udgave og returnerer tekst og foreslåede værktøjshandlinger.
- Accepterede input
- Tekst
- Resultater
- json · sse
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Inputtyper
text- Outputtyper
json,sse- Outputformat
- JSON eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser meta/muse-spark-1.3 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser user, assistant | Standard— |
Feltmessages[].content | Typestring | KravPåkrævet | Værdier og grænser | Standard— |
Feltmax_tokens | Typeinteger | KravPåkrævet | Værdier og grænser | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Kombinationer af inputmaterialer
Tekst · UTF-8-tekst
messages[].content som streng
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages, max_tokens |
Parameteroptional_controls | Kontraktstream |
Parametermaterial_types | Kontrakttext |
Parametertext_file_material | KontraktLæs det faktiske UTF-8-dokument, og indsæt teksten i det angivne input eller beskedens indholdsstreng. |
Livscyklus: synchronous_or_streamed
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
- Ræsonneringsindsats · high
- Standardpris Når ræsonneringsindsatsen er sat til high
- Ræsonneringsindsats · low
- Standardpris Når ræsonneringsindsatsen er sat til low
- Ræsonneringsindsats · max
- Standardpris Når ræsonneringsindsatsen er sat til max
- Ræsonneringsindsats · medium
- Standardpris Når ræsonneringsindsatsen er sat til medium
- Ræsonneringsindsats · minimal
- Standardpris Når ræsonneringsindsatsen er minimal
- Ræsonneringsindsats · xhigh
- Standardpris Når ræsonneringsindsatsen er sat til xhigh
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Anthropic Messages
{
"model": "meta/muse-spark-1.3",
"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': 'meta/muse-spark-1.3', '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': 'meta/muse-spark-1.3', '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))
Hent og gem resultater
Ailoot Ultra · Anthropic Messages
JSON eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar alle indholdsblokke, ræsonnementssignaturer og faktiske værktøjsbrugs-ID’er. Saml alle SSE-blokdeltaer; den første tekstblok er ikke hele outputtet.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltmodel | Typestring |
Feltcontent[] | Typetext|thinking|tool_use|other content block |
Feltstop_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra meta/muse-spark-1.3
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · Meta: Muse Spark 1.3
- Hvilke input og resultater er tilgængelige?
POST /v1/chat/completions·meta/muse-spark-1.3:text→textPOST /v1/messages·meta/muse-spark-1.3:text→json,sse- Hvilke felter bruger anmodningen?
POST /v1/chat/completions·meta/muse-spark-1.3:model,messages,stream,modalities,providerPOST /v1/messages·meta/muse-spark-1.3:model,messages,max_tokens,stream- Hvilke grænser gælder?
POST /v1/chat/completions·meta/muse-spark-1.3:messages.min_items:1