Reka Flash 3
Reka Flash 3 is een tekstredeneermodel met 21 miljard parameters voor gesprekken, code en instructiegestuurde taken, met een context van 32K. Het is voornamelijk een Engelstalig model en scheidt de redeneerfase van het antwoord, met door de producent gedocumenteerde budget forcing.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsrekaai/reka-flash-3 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesrekaai/reka-flash-3
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Reka Flash 3 is het algemene redeneermodel van Reka AI met 21 miljard parameters. De vrijgegeven editie werkt met tekst voor gesprekken, programmeren, het opvolgen van instructies en functiegerichte taken. De producent beschrijft een contextvenster van 32K. Het blijft een afzonderlijke release naast Flash 3.1 en het multimodale Edge-model van Reka.
De training begint met voortraining vanaf nul op openbare en synthetische data. Daarna volgt afstemming op instructies, gevolgd door reinforcement learning met zowel modelgebaseerde als regelgebaseerde beloningen. Deze training is gericht op brede verbeteringen in redeneren, in plaats van het model uitsluitend tot specialist voor wiskunde of code te maken. Het gepubliceerde model is zowel een basis voor domeinspecifieke aanpassing als een redeneermotor voor gesprekken.
Flash 3 produceert een redeneerfase vóór het antwoord. Het formaat van Reka markeert die fase met reasoning-tags en de producent beschrijft budget forcing: door de redeneerfase na een gekozen hoeveelheid gegenereerde tekst af te sluiten, wordt het model aangezet om met het antwoord verder te gaan. Dit is een decodeertechniek voor het gepubliceerde model, geen benoemde redeneerstand low, medium of high. In gesprekken met meerdere beurten raadt Reka aan eerdere redeneersporen te verwijderen om meer ruimte voor de volgende taak over te laten.
Het promptformaat van de producent scheidt menselijke beurten en assistentbeurten met een scheidingsmarkering en gebruikt een expliciet end-of-text-token als aanvullende stopvoorwaarde. In het eigen formaat wordt een systeeminstructie vóór de eerste gebruikersbeurt geplaatst, en het gepubliceerde chatsjabloon verzorgt die opmaak voor ondersteunde lokale tools. Bereid het gesprek voor met duidelijke beurtgrenzen, zodat het nieuwste gebruikersverzoek gescheiden blijft van eerdere modeluitvoer.
Geef bij codereview de relevante functie, het beoogde gedrag en een waargenomen fout en vraag vervolgens om een voorgestelde correctie en een manier om die te controleren. Lever bij een redeneertaak de premissen aan en specificeer of het bruikbare resultaat een afleiding, een beknopte uitleg of een keuze tussen alternatieven is. Een vervolgvraag kan een falend geval toevoegen en het model vragen het antwoord met dat bewijs te herzien. Houd in een functiegebaseerde applicatie voorgestelde argumenten gescheiden van het werkelijke resultaat dat de tool van de applicatie teruggeeft.
Engels is de belangrijkste doeltaal van deze editie. Reka merkt op dat het model andere talen tot op zekere hoogte kan begrijpen, maar in het Engels kan redeneren en kwaliteit kan verliezen bij niet-Engelse uitvoer. Voor kennisintensieve opdrachten raadt de producent aan het model aan te vullen met webzoeken; lever het opgehaalde materiaal aan als bewijs voor het gevraagde antwoord. De modelkaart vermeldt ook dat het vrijgegeven model geen uitgebreide persona- of alignmenttraining heeft gekregen. Deze kenmerken zijn van belang bij de taalkeuze, het aanleveren van feitelijke context en het bepalen van de rol van de assistent.
Praktische taak
Praktische taak
Technisch voorbeeld in het Engels
Fix an incorrect empty-string check
Review this JavaScript function: function fallback(value) { return value || 'untitled'; }. Required behaviour: use 'untitled' only for null or undefined; preserve 0, false and the empty string. Propose the smallest correction and give one test for each of those five input cases. Explain the distinction briefly without adding a library.Verwacht resultaat
A corrected fallback expression and five tests covering null, undefined, zero, false and empty string.Resultaat controleren
Valid falsy values survive while only the two absent-value cases receive the fallback.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions rekaai/reka-flash-3
rekaai/reka-flash-3Aan de slag
Reka Flash 3 is een tekstredeneermodel met 21 miljard parameters voor gesprekken, code en instructiegestuurde taken, met een context van 32K. Het is voornamelijk een Engelstalig model en scheidt de redeneerfase van het antwoord, met door de producent gedocumenteerde budget forcing.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Invoertypen
text- Uitvoertypen
text- Uitvoerformaat
- json of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten rekaai/reka-flash-3 | Standaard— |
Veldmessages | Typemessage[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldmessages[].role | Typestring | VereisteVereist | Waarden en limieten Voorbeelden: system, user, assistant, tool, function Voorwaarden: Deze rollen worden expliciet weergegeven door compatibiliteitstypen in de broncode; de exacte rollenverzameling van het model blijft modelspecifiek. Afhankelijk van het model | Standaard— |
Veldmessages[].content | Typestring|content_part[]|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldmessages[].tool_calls | Typetool_call[] | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldmessages[].tool_call_id | Typestring | VereisteOptioneel | Waarden en limieten Geldt wanneer: role=tool; gebruik het werkelijk teruggegeven ID | Standaard— |
Veldmessages[].name | Typestring | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldmessages[].reasoning_content | Typestring | VereisteOptioneel | Waarden en limieten Geldt wanneer: Stuur de werkelijk teruggegeven redeneringen terug wanneer dit model ze gebruikt | Standaard— |
Veldmessages[].reasoning_details | Typeobject|array | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldmax_tokens | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
Veldmax_completion_tokens | Typeinteger | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
Veldstream | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
Veldstream_options.include_usage | Typeboolean | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldtemperature | Typenumber | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldtop_p | Typenumber | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldstop | Typestring|string[] | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldtools | Typefunction_tool[] | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldtools[].type | Typestring | VereisteOptioneel | Waarden en limieten function Afhankelijk van het model | Standaard— |
Veldtools[].function.name | Typestring | VereisteVereist | Waarden en limieten Geldt wanneer: functietool opgegeven | Standaard— |
Veldtools[].function.description | Typestring | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldtools[].function.parameters | TypeJSON_schema | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldtool_choice | Typestring|object | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldparallel_tool_calls | Typeboolean | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldresponse_format | Typeobject | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldreasoning_effort | Typestring | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldreasoning | Typeobject | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldservice_tier | Typestring | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldinstructions | Typestring | VereisteOptioneel | Waarden en limieten Compatibiliteitsveld | Standaard— |
Veldfunctions | Typefunction[] | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldfunction_call | Typestring|object | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldprompt_cache_options | Typeobject | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldmodalities | Typestring[] | VereisteOptioneel | Waarden en limieten text | Standaard— |
Veldprovider | Typeobject | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options wordt op deze Ultra-tekstroute geweigerd | Standaard— |
Veldcache_control.ttl | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: 1h wordt op de daadwerkelijke locaties voor promptcaching geweigerd | Standaard— |
Combinaties van invoermaterialen
Tekst · UTF8-tekst
messages[].content
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, messages |
Parametermaterial_types | Contracttext |
Parametermessages | Contractberichtenarray met de structuur role/content |
Parameterfile_material | Contractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid |
Parameteroptional_controls | Contractstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Contractmodelspecifiek; functietools van de gebruiker verschillen van gehoste tools |
Parameteroutput_modalities | Contracttext |
Parameterhosted_operations | Contractfalse |
Parametermultimodal_input_binding | Contractnull |
Levenscyclus: synchronous_or_streamed
Stuur het exacte model-ID mee met messages.
Contextlengte is geen uitvoerlimiet.
Een tekstbestand kan letterlijke tekst aanleveren; beeld-, audio- en bestandsobjectinvoer vereisen een exacte koppeling.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Standaardtarief Wanneer de snelle modus is geselecteerd
- Flexmodus
- Standaardtarief Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Standaardtarief Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0002 / 1K tokens Uitvoer · Uitvoertokens $0.0004 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0002 / 1K tokens Uitvoer · Uitvoertokens $0.0004 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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": "rekaai/reka-flash-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='rekaai/reka-flash-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='rekaai/reka-flash-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")
Resultaten ophalen en opslaan
Ailoot Ultra · OpenAI Chat
json of SSE
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke keuze en de bijbehorende inhoud, toolaanroepen en redeneringen. Voeg in SSE delta’s samen per keuze-/toolindex en bewaar de uiteindelijke reden van beëindiging en de verbruiksgegevens.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.
Antwoordvelden
| Veld | Type |
|---|---|
Veldchoices[].index | Typeinteger |
Veldchoices[].message.content | Typestring|null |
Veldchoices[].message.tool_calls | Typetool_call[] |
Veldchoices[].message.reasoning_content | Typestring |
Veldchoices[].message.reasoning_details | Typeobject|array |
Veldchoices[].finish_reason | Typestring|null |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra rekaai/reka-flash-3
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
Ailoot Ultra · Anthropic Messages POST /v1/messages rekaai/reka-flash-3
rekaai/reka-flash-3Aan de slag
Reka Flash 3 is een tekstredeneermodel met 21 miljard parameters voor gesprekken, code en instructiegestuurde taken, met een context van 32K. Het is voornamelijk een Engelstalig model en scheidt de redeneerfase van het antwoord, met door de producent gedocumenteerde budget forcing.
- Toegestane invoer
- Tekst
- Resultaten
- json · sse
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Invoertypen
text- Uitvoertypen
json,sse- Uitvoerformaat
- JSON of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten rekaai/reka-flash-3 | Standaard— |
Veldmessages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldmessages[].role | Typestring | VereisteVereist | Waarden en limieten user, assistant | Standaard— |
Veldmessages[].content | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldmax_tokens | Typeinteger | VereisteVereist | Waarden en limieten | Standaard— |
Veldstream | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
Combinaties van invoermaterialen
Tekst · UTF-8-tekst
messages[].content als tekenreeks
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, messages, max_tokens |
Parameteroptional_controls | Contractstream |
Parametermaterial_types | Contracttext |
Parametertext_file_material | ContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht. |
Levenscyclus: synchronous_or_streamed
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Standaardtarief Wanneer de snelle modus is geselecteerd
- Flexmodus
- Standaardtarief Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Standaardtarief Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0002 / 1K tokens Uitvoer · Uitvoertokens $0.0004 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0002 / 1K tokens Uitvoer · Uitvoertokens $0.0004 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Anthropic Messages
{
"model": "rekaai/reka-flash-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': 'rekaai/reka-flash-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': 'rekaai/reka-flash-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))
Resultaten ophalen en opslaan
Ailoot Ultra · Anthropic Messages
JSON of SSE
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar alle inhoudsblokken, handtekeningen van redeneringen en werkelijke toolgebruik-ID’s. Voeg alle SSE-blokdelta’s samen; het eerste tekstblok is niet de volledige uitvoer.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldmodel | Typestring |
Veldcontent[] | Typetext|thinking|tool_use|other content block |
Veldstop_reason | Typestring|null |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra rekaai/reka-flash-3
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Reka Flash 3
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·rekaai/reka-flash-3:text→textPOST /v1/messages·rekaai/reka-flash-3:text→json,sse- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·rekaai/reka-flash-3:model,messages,stream,modalities,providerPOST /v1/messages·rekaai/reka-flash-3:model,messages,max_tokens,stream- Welke limieten gelden?
POST /v1/chat/completions·rekaai/reka-flash-3:messages.min_items:1