DeepSeek R1 Distill Qwen 14B
DeepSeek-R1-Distill-Qwen-14B is een tekstredeneercheckpoint op basis van Qwen2.5-14B en voorbeelden die door DeepSeek-R1 zijn gegenereerd. Het ondersteunt uitgewerkte wiskundige, programmeer- en logische antwoorden, met de eigen tokenizer, promptaanbevelingen en releaseconfiguratie van DeepSeek.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsdeepseek-ai/DeepSeek-R1-Distill-Qwen-14B - Ailoot Ultra · Anthropic Messages
POST /v1/messagesdeepseek-ai/DeepSeek-R1-Distill-Qwen-14B
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.
DeepSeek-R1-Distill-Qwen-14B is het op Qwen gebaseerde 14B-redeneercheckpoint dat door DeepSeek is uitgebracht. De basis is Qwen2.5-14B, verfijnd met voorbeelden die door DeepSeek-R1 zijn voorbereid. Het accepteert een geschreven probleem of gesprek en geeft tekst terug die een wiskundige oplossing, uitleg over programmagedrag of een conclusie op basis van verschillende aangeleverde voorwaarden kan bevatten.
Overdracht van redeneervermogen en de benoemde editie
DeepSeek onderscheidt de volledige R1- en R1-Zero-modellen van de modellen met een dense architectuur die op Qwen- en Llama-basismodellen zijn gedistilleerd. Voor de gedistilleerde releases brengen de trainingsgegevens redeneerpatronen van het grotere R1-model over naar een ander checkpoint. De naam 14B identificeert deze specifieke Qwen-basis; ze identificeert niet de volledige R1-architectuur, het 32B-distillatiecheckpoint of de gewone Qwen2.5-14B-Instruct-release.
De maker beschrijft 800,000 zorgvuldig geselecteerde voorbeelden voor de Qwen-distillatiereleases en vermeldt wijzigingen aan hun configuraties en tokenizers. Behoud de DeepSeek-release-instellingen wanneer je dit model gebruikt. Die wijzigingen zijn van belang, ook al is de oorsprong van het model Qwen2.5. De eigen configuratie van het 14B-checkpoint specificeert 48 lagen, 40 query-attentionkoppen en 8 key/value-koppen, met een maximaal aantal posities van 131,072.
Wat je moet aanleveren voor een bruikbaar uitgewerkt antwoord
Neem voor een leerbegeleidingstaak het probleem en de oplossingspoging van de leerling op en markeer vervolgens de overgang die uitleg nodig heeft. Vraag het model de relevante voorwaarde te identificeren, de correctie in dezelfde notatie uit te leggen en slechts zo ver door te gaan als nodig is om het resultaat vast te stellen. Zo blijft het antwoord verbonden met de werkelijke moeilijkheid van de leerling in plaats van een ongerelateerde volledige les te produceren.
Een leerling kan bijvoorbeeld door een uitdrukking hebben gedeeld zonder te vermelden of die nul kan zijn. Geef de oorspronkelijke vergelijking mee en vraag welke gevallen vóór die omzetting moeten worden bekeken. Het gewenste resultaat kan het toegelaten geval, het uitzonderingsgeval en de uiteindelijke oplossingsverzameling apart weergeven. Dit is een voorgestelde wiskundetaak waarbij de antwoordvorm door de voorwaarde wordt bepaald, niet door een algemeen verzoek om algebra uit te leggen.
Geef voor een programmeervraag het algoritme of de functie en een concrete invoer mee. Vraag hoe de toestand verandert en waarom het geretourneerde resultaat volgt. Een vervolgvraag kan om een herwerkte implementatie onder een expliciete voorwaarde vragen, zoals het behouden van de publieke functiehandtekening of het vermijden van wijzigingen aan de invoer. Neem de relevante hulpcode en het verwachte gedrag op, zodat de uitleg niet van een ongespecificeerde implementatie afhangt.
Duid bij een logische vergelijking de alternatieven aan en de voorwaarden waaraan elk moet voldoen. Vraag naar de aannames van elke aanpak, de conflicten die een keuze uitsluiten en de resterende onopgeloste informatie. Een beknopte beslissingstabel kan dan het eindproduct worden, terwijl de omringende tekst uitlegt hoe de aangeleverde regels die ondersteunen.
Promptaanbevelingen van DeepSeek
De maker beveelt aan een systeemprompt te vermijden en alle instructies rechtstreeks in de gebruikersprompt te plaatsen. Zet de taak, uitvoervereisten en het noodzakelijke bronmateriaal samen en geef duidelijk aan welke tekst het probleem is en welke tekst een instructie over het antwoord is. Gebruik de uitgebrachte tokenizer en gespreksinstellingen in plaats van te veronderstellen dat de oorspronkelijke Qwen-opmaak uitwisselbaar is.
Het gedocumenteerde temperature-bereik is 0.5 tot 0.7, met 0.6 als aanbeveling. DeepSeek koppelt dit aan het verminderen van herhaling en onsamenhangende uitvoer. Voor wiskundevragen beveelt het een uitgewerkt antwoord aan met het eindresultaat in een LaTeX-kader. Het beschrijft ook gevallen waarin het model het redeneerblok overslaat en beveelt aan het antwoord met de openende redeneermarkering te beginnen om de bedoelde redeneerworkflow aan te moedigen.
Een bruikbare wiskundige uitvoer kan de gekozen methode, de onderbouwde omzettingen en een afzonderlijke einduitdrukking bevatten. Vermeld of het resultaat exact of afgerond moet zijn en specificeer eenheden wanneer die van belang zijn. Vraag bij code om de uitleg apart van de voorgestelde implementatie. Vraag bij logica om de eindconclusie samen met de voorwaarden waaronder ze geldt. Die vereisten bepalen wat de lezer of toepassing daadwerkelijk kan gebruiken na de redeneertekst.
Context en inhoudelijke grenzen
De huidige uitgebrachte configuratie stelt het maximale aantal posities in op 131,072. Dat is de configuratiewaarde van dit checkpoint, geen overgenomen belofte over elke gebruikte serverinterface. De generatie-instelling van 32,768 tokens van de maker is onderdeel van de evaluatie; ze legt geen afzonderlijke harde maximumlengte voor antwoorden vast. Ook de uitvoercapaciteit van het oorspronkelijke Qwen Instruct-model mag niet zonder eigen specificatie naar deze gewijzigde redeneerrelease worden overgedragen.
Dit is een tekstmodel. Bij een afbeelding van een wiskundeprobleem moeten de symbolen en voorwaarden vóór de redeneertaak in tekst worden omgezet, en het uitvoeren van voorgestelde code vereist een afzonderlijke ontwikkel- of rekenomgeving. Distillatie beschrijft training met R1-voorbeelden, niet een automatische runtime-aanroep naar de leraar of een ingebouwde onafhankelijke verifier.
Gebruik het benoemde 14B-checkpoint voor een afgebakende taak met een uitgewerkt antwoord en bewaar de notatie, aannames en het beoogde resultaat van het probleem. Het praktische doel is een oplossing die de lezer kan onderzoeken: welke voorwaarden gelden, waarom elke belangrijke stap volgt en welke einduitdrukking, implementatie of conclusie de oorspronkelijke vraag beantwoordt.
Praktische taak
Praktische taak
Technisch voorbeeld in het Engels
Repair an algebraic division step
A student solves x(x - 3) = 2(x - 3) by dividing by x - 3 and concludes x = 2. Explain the missing case without changing the original equation. Separate the zero-divisor case from the nonzero case, then give the complete solution set and substitute each candidate back into the equation.Verwacht resultaat
A case split, a complete solution set and a substitution check for each candidate.Resultaat controleren
The response checks the x - 3 = 0 case rather than silently dividing it away.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
deepseek-ai/DeepSeek-R1-Distill-Qwen-14BAan de slag
DeepSeek-R1-Distill-Qwen-14B is een tekstredeneercheckpoint op basis van Qwen2.5-14B en voorbeelden die door DeepSeek-R1 zijn gegenereerd. Het ondersteunt uitgewerkte wiskundige, programmeer- en logische antwoorden, met de eigen tokenizer, promptaanbevelingen en releaseconfiguratie van DeepSeek.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Invoer
text- Uitvoer
text- Uitvoerformaat
- json of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | 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
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.0002 / 1K tokens Uitvoer · Uitvoertokens $0.0002 / 1K tokens Invoer · Cache lezen $0 / 1K tokens Invoer · Cache schrijven $0 / 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": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", "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='deepseek-ai/DeepSeek-R1-Distill-Qwen-14B',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='deepseek-ai/DeepSeek-R1-Distill-Qwen-14B',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 deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
Ailoot Ultra · Anthropic Messages POST /v1/messages deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
deepseek-ai/DeepSeek-R1-Distill-Qwen-14BAan de slag
DeepSeek-R1-Distill-Qwen-14B is een tekstredeneercheckpoint op basis van Qwen2.5-14B en voorbeelden die door DeepSeek-R1 zijn gegenereerd. Het ondersteunt uitgewerkte wiskundige, programmeer- en logische antwoorden, met de eigen tokenizer, promptaanbevelingen en releaseconfiguratie van DeepSeek.
- Toegestane invoer
- Tekst
- Resultaten
- json · sse
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Invoer
text- Uitvoer
json,sse- Uitvoerformaat
- JSON of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | 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
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.0002 / 1K tokens Uitvoer · Uitvoertokens $0.0002 / 1K tokens Invoer · Cache lezen $0 / 1K tokens Invoer · Cache schrijven $0 / 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": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
"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': 'deepseek-ai/DeepSeek-R1-Distill-Qwen-14B', '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': 'deepseek-ai/DeepSeek-R1-Distill-Qwen-14B', '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 deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·deepseek-ai/DeepSeek-R1-Distill-Qwen-14B:text→textPOST /v1/messages·deepseek-ai/DeepSeek-R1-Distill-Qwen-14B:text→json,sse- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·deepseek-ai/DeepSeek-R1-Distill-Qwen-14B:model,messages,stream,modalities,providerPOST /v1/messages·deepseek-ai/DeepSeek-R1-Distill-Qwen-14B:model,messages,max_tokens,stream- Welke limieten gelden?
POST /v1/chat/completions·deepseek-ai/DeepSeek-R1-Distill-Qwen-14B:messages.min_items:1