modeller

DeepSeek R1 Distill Qwen 14B

Markdown · JSON

DeepSeek R1 Distill Qwen 14B

DeepSeek-R1-Distill-Qwen-14B är en kontrollpunkt för textresonemang baserad på Qwen2.5-14B och exempel genererade av DeepSeek-R1. Den stöder genomarbetade matematiska, programmeringsrelaterade och logiska svar, med DeepSeeks egen tokeniserare, promptrekommendationer och utgåvekonfiguration.

Om modellen

Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.

DeepSeek-R1-Distill-Qwen-14B är den Qwen-baserade resonemangskontrollpunkten i storleken 14B som DeepSeek har släppt. Grundmodellen är Qwen2.5-14B, finjusterad med exempel framtagna av DeepSeek-R1. Den tar emot ett skriftligt problem eller en konversation och returnerar text som kan innehålla en matematisk lösning, en förklaring av programbeteende eller en slutsats dragen från flera tillförda villkor.

Överföring av resonemang och den namngivna utgåvan

DeepSeek skiljer de fullständiga R1- och R1-Zero-modellerna från de täta modellerna som destillerats till Qwen- och Llama-grundmodeller. För de destillerade utgåvorna för träningsdata över resonemangsmönster från den större R1-modellen till en annan kontrollpunkt. Namnet 14B identifierar just denna Qwen-grundmodell; det identifierar inte hela R1-arkitekturen, den destillerade 32B-kontrollpunkten eller den vanliga Qwen2.5-14B-Instruct-utgåvan.

Tillverkaren beskriver 800 000 kuraterade exempel för Qwen-destillationerna och noterar ändringar i deras konfigurationer och tokeniserare. Behåll DeepSeeks utgåveinställningar när du använder modellen. Ändringarna har betydelse även om modellens ursprung är Qwen2.5. 14B-kontrollpunktens egen konfiguration anger 48 lager, 40 attention-huvuden för frågevektorer och 8 nyckel/värde-huvuden, med maximalt antal positioner satt till 131 072.

Vad som behövs för ett användbart genomarbetat svar

För en handledningsuppgift tar du med problemet och elevens lösningsförsök och markerar sedan övergången som behöver förklaras. Be modellen identifiera det relevanta villkoret, förklara rättelsen med samma notation och fortsätta bara så långt som behövs för att fastställa resultatet. Det håller svaret kopplat till elevens faktiska svårighet i stället för att ge en orelaterad fullständig lektion.

En elev kan till exempel ha dividerat med ett uttryck utan att ange om det kan vara noll. Lämna den ursprungliga ekvationen och fråga vilka fall som måste beaktas före den omvandlingen. Det önskade resultatet kan skilja det tillåtna fallet, undantagsfallet och den slutliga lösningsmängden åt. Detta är ett förslag till matematisk uppgift, där svarsformen definieras av villkoret i stället för av en allmän begäran att förklara algebra.

För en programmeringsfråga lämnar du algoritmen eller funktionen och konkreta indata. Fråga hur tillståndet ändras och varför det returnerade resultatet följer. En följdfråga kan begära en reviderad implementation med en uttrycklig begränsning, till exempel att behålla den publika funktionssignaturen eller undvika att ändra indata. Ta med relevant hjälpkod och förväntat beteende så att förklaringen inte beror på en ospecificerad implementation.

För en logisk jämförelse identifierar du alternativen och villkoren som varje alternativ måste uppfylla. Begär antagandena som varje metod använder, konflikterna som utesluter ett val och den kvarvarande olösta informationen. En kompakt beslutstabell kan sedan bli slutleveransen, medan den omgivande texten förklarar hur de tillförda reglerna stöder den.

Promptrekommendationer från DeepSeek

Tillverkaren rekommenderar att undvika en systemprompt och lägga alla instruktioner direkt i användarprompten. Samla uppgiften, utdatakraven och det nödvändiga källmaterialet och ange tydligt vilken text som är problemet och vilken som är en instruktion om svaret. Använd den släppta tokeniseraren och konversationsinställningarna i stället för att anta att den ursprungliga Qwen-formateringen är utbytbar.

Det dokumenterade temperaturintervallet är 0,5 till 0,7, med 0,6 som rekommendation. DeepSeek kopplar detta till minskade upprepningar och mindre osammanhängande utdata. För matematiska frågor rekommenderar företaget ett genomarbetat svar med slutresultatet i en LaTeX-ruta. Det beskriver också fall där modellen hoppar över resonemangsblocket och rekommenderar att börja svaret med den öppnande resonemangsmarkören för att uppmuntra det avsedda resonemangsarbetsflödet.

Användbara matematiska utdata kan innehålla den valda metoden, de motiverade omvandlingarna och ett separat slututtryck. Ange om resultatet ska vara exakt eller avrundat och specificera enheter när de spelar roll. För kod ber du om förklaringen separat från den föreslagna implementationen. För logik ber du om slutsatsen tillsammans med de villkor under vilka den gäller. Dessa krav avgör vad läsaren eller applikationen faktiskt kan använda efter resonemangstexten.

Kontext och innehållsmässiga gränser

Den nuvarande släppta konfigurationen sätter maximalt antal positioner till 131 072. Det är denna kontrollpunkts konfigurationsvärde, inte ett ärvt löfte för varje driftgränssnitt. Tillverkarens genereringsinställning på 32 768 token ingår i utvärderingen; den fastställer ingen separat hård gräns för svarslängden. Utdatakapaciteten hos den ursprungliga Qwen Instruct-modellen ska på samma sätt inte överföras till denna ändrade resonemangsutgåva utan en egen specifikation.

Detta är en textmodell. En bild av ett matematiskt problem behöver få sina symboler och villkor omvandlade till text före resonemangsuppgiften, och körning av föreslagen kod kräver en separat utvecklings- eller beräkningsmiljö. Destillation beskriver träning med R1-exempel, inte ett automatiskt anrop till lärarmodellen vid körning eller en inbyggd oberoende verifierare.

Använd den namngivna 14B-kontrollpunkten för en definierad uppgift som kräver ett genomarbetat svar och bevara problemets notation, antaganden och målresultat. Det praktiska målet är en lösning som läsaren kan granska: vilka villkor som gäller, varför varje viktigt steg följer och vilket slututtryck, vilken implementation eller vilken slutsats som besvarar den ursprungliga frågan.

Praktisk uppgift

Praktisk uppgift

Tekniskt exempel på engelska

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.

Förväntat resultat

A case split, a complete solution set and a substitution check for each candidate.

Kontrollera resultatet

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 /deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

Start

DeepSeek-R1-Distill-Qwen-14B är en kontrollpunkt för textresonemang baserad på Qwen2.5-14B och exempel genererade av DeepSeek-R1. Den stöder genomarbetade matematiska, programmeringsrelaterade och logiska svar, med DeepSeeks egen tokeniserare, promptrekommendationer och utgåvekonfiguration.

Godkända indata
Text
Resultat
Text

Tillgängligt i Ailoot · indata & metoder

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Indatatyper
text
Utdatatyper
text
Utdataformat
json eller SSE
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
Standard—
FältmessagesTypmessage[]KravObligatorisktVärden & gränser
Minsta antal objekt: 1
Standard—
Fältmessages[].roleTypstringKravObligatorisktVärden & gränser
Exempel: system, user, assistant, tool, function
Villkor: Dessa roller representeras uttryckligen av källkodens kompatibilitetstyper; den exakta rolluppsättningen är fortfarande modellspecifik.
Beror på modellen
Standard—
Fältmessages[].contentTypstring|content_part[]|nullKravValfrittVärden & gränserStandard—
Fältmessages[].tool_callsTyptool_call[]KravValfrittVärden & gränserStandard—
Fältmessages[].tool_call_idTypstringKravValfrittVärden & gränser
Gäller när: role=tool; använd det faktiska returnerade ID:t
Standard—
Fältmessages[].nameTypstringKravValfrittVärden & gränserStandard—
Fältmessages[].reasoning_contentTypstringKravValfrittVärden & gränser
Gäller när: Skicka tillbaka det faktiska returnerade resonemanget när modellen använder det
Standard—
Fältmessages[].reasoning_detailsTypobject|arrayKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältmax_tokensTypintegerKravValfrittVärden & gränser
Minimum: 1
Beror på modellen
Standard—
Fältmax_completion_tokensTypintegerKravValfrittVärden & gränser
Minimum: 1
Beror på modellen
Standard—
FältstreamTypbooleanKravValfrittVärden & gränserStandardfalse
Fältstream_options.include_usageTypbooleanKravValfrittVärden & gränser
Beror på modellen
Standard—
FälttemperatureTypnumberKravValfrittVärden & gränser
Beror på modellen
Standard—
Fälttop_pTypnumberKravValfrittVärden & gränser
Beror på modellen
Standard—
FältstopTypstring|string[]KravValfrittVärden & gränser
Beror på modellen
Standard—
FälttoolsTypfunction_tool[]KravValfrittVärden & gränser
Beror på modellen
Standard—
Fälttools[].typeTypstringKravValfrittVärden & gränser
function
Beror på modellen
Standard—
Fälttools[].function.nameTypstringKravObligatorisktVärden & gränser
Gäller när: verktyg av typen funktion har tillhandahållits
Standard—
Fälttools[].function.descriptionTypstringKravValfrittVärden & gränserStandard—
Fälttools[].function.parametersTypJSON_schemaKravValfrittVärden & gränserStandard—
Fälttool_choiceTypstring|objectKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältparallel_tool_callsTypbooleanKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältresponse_formatTypobjectKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältreasoning_effortTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
FältreasoningTypobjectKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältservice_tierTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
FältinstructionsTypstringKravValfrittVärden & gränser
Kompatibilitetsfält
Standard—
FältfunctionsTypfunction[]KravValfrittVärden & gränser
Beror på modellen
Standard—
Fältfunction_callTypstring|objectKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältprompt_cache_optionsTypobjectKravValfrittVärden & gränser
Beror på modellen
Standard—
FältmodalitiesTypstring[]KravValfrittVärden & gränser
text
Standard—
FältproviderTypobjectKravValfrittVärden & gränser
Villkor: provider.options avvisas på denna Ultra-textrutt
Standard—
Fältcache_control.ttlTypstringKravValfrittVärden & gränser
Villkor: 1h avvisas på de faktiska platserna för promptcache
Standard—
Kombinationer av indatamaterial

Text · UTF8-text

messages[].content

Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalmodel, messages
Parametermaterial_typesAvtaltext
ParametermessagesAvtalmeddelandearray med strukturen role/content
Parameterfile_materialAvtaldet faktiska UTF-8-dokumentet infogat som bokstavlig text; inget fil-ID härleds
Parameteroptional_controlsAvtalstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeAvtalmodellspecifikt; användarens funktionsverktyg skiljer sig från värdbaserade verktyg
Parameteroutput_modalitiesAvtaltext
Parameterhosted_operationsAvtalfalse
Parametermultimodal_input_bindingAvtalnull

Livscykel: synchronous_or_streamed

Skicka det exakta modell-ID:t tillsammans med messages.

Kontextlängden är inte en utdatagräns.

En textfil kan tillhandahålla bokstavlig text; bild-/ljud-/filobjektsindata kräver exakt bindning.

Priser

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge
Ej angivet När snabbt läge är valt
Flex-läge
Ej angivet När läget flex är valt
Högsta resonemangsnivå
Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

Ailoot-priser

Priser efter konfiguration

KonfigurationPrislistaAvgift
KonfigurationGrundpriser för tokenPrislistaGrundprisAvgift
Indata · Indatatoken $0.0002 / 1K token
Utdata · Utdatatoken $0.0002 / 1K token
Indata · Cacheläsning $0 / 1K token
Indata · Skrivning till cache $0 / 1K token
Indata · Skrivning till cache, 1 tim — / 1K token

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →

Exempelbegäranden

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-strömning
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")

Ta emot och spara resultat

Ailoot Ultra · OpenAI Chat

json eller SSE

Behåll alla färdiga resultat

Behåll varje fullständigt returnerat svar, fil och innehållsdel.

Behåll varje svarsalternativ och dess innehåll/verktygsanrop/resonemang. Sätt i SSE samman deltauppdateringar efter svarsalternativets/verktygets index och behåll den slutliga avslutsorsaken och användningsuppgifterna.

Om det ursprungliga svaret behöver kontrolleras

Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.

Svarsfält
FältTyp
Fältchoices[].indexTypinteger
Fältchoices[].message.contentTypstring|null
Fältchoices[].message.tool_callsTyptool_call[]
Fältchoices[].message.reasoning_contentTypstring
Fältchoices[].message.reasoning_detailsTypobject|array
Fältchoices[].finish_reasonTypstring|null
FältusageTypobject
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärdeNästa stegKorrigera de angivna fälten före en ny begäran om att skapa.

Alias

Modellalias

Ailoot Ultra deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

Relaterade anropar-ID:n

deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

Ailoot Ultra · Anthropic Messages POST /v1/messages deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

DeepSeek /deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

Start

DeepSeek-R1-Distill-Qwen-14B är en kontrollpunkt för textresonemang baserad på Qwen2.5-14B och exempel genererade av DeepSeek-R1. Den stöder genomarbetade matematiska, programmeringsrelaterade och logiska svar, med DeepSeeks egen tokeniserare, promptrekommendationer och utgåvekonfiguration.

Godkända indata
Text
Resultat
json · sse

Tillgängligt i Ailoot · indata & metoder

Ailoot Ultra · Anthropic Messages POST /v1/messages
Indatatyper
text
Utdatatyper
json, sse
Utdataformat
JSON eller SSE
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
Standard—
FältmessagesTypmessage[]KravObligatorisktVärden & gränserStandard—
Fältmessages[].roleTypstringKravObligatorisktVärden & gränser
user, assistant
Standard—
Fältmessages[].contentTypstringKravObligatorisktVärden & gränserStandard—
Fältmax_tokensTypintegerKravObligatorisktVärden & gränserStandard—
FältstreamTypbooleanKravValfrittVärden & gränserStandardfalse
Kombinationer av indatamaterial

Text · UTF-8-text

sträng i messages[].content

Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalmodel, messages, max_tokens
Parameteroptional_controlsAvtalstream
Parametermaterial_typesAvtaltext
Parametertext_file_materialAvtalLäs det faktiska UTF-8-dokumentet och placera texten i det angivna input-fältet eller i strängen för meddelandets innehåll.

Livscykel: synchronous_or_streamed

Priser

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge
Ej angivet När snabbt läge är valt
Flex-läge
Ej angivet När läget flex är valt
Högsta resonemangsnivå
Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

Ailoot-priser

Priser efter konfiguration

KonfigurationPrislistaAvgift
KonfigurationGrundpriser för tokenPrislistaGrundprisAvgift
Indata · Indatatoken $0.0002 / 1K token
Utdata · Utdatatoken $0.0002 / 1K token
Indata · Cacheläsning $0 / 1K token
Indata · Skrivning till cache $0 / 1K token
Indata · Skrivning till cache, 1 tim — / 1K token

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →

Exempelbegäranden

Ailoot Ultra · Anthropic Messages

Komplett minimal JSON-kroppcurl · använd ditt UTF-8-dokumentPython · spara hela resultatet
{
  "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))

Ta emot och spara resultat

Ailoot Ultra · Anthropic Messages

JSON eller SSE

Behåll alla färdiga resultat

Behåll varje fullständigt returnerat svar, fil och innehållsdel.

Behåll alla innehållsblock, resonemangssignaturer och faktiska ID:n för verktygsanvändning. Sätt samman alla SSE-deltauppdateringar för blocken; ett första textblock är inte hela utdata.

Om det ursprungliga svaret behöver kontrolleras

Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.

Svarsfält
FältTyp
FältidTypstring
FältmodelTypstring
Fältcontent[]Typtext|thinking|tool_use|other content block
Fältstop_reasonTypstring|null
FältusageTypobject
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärdeNästa stegKorrigera de angivna fälten före en ny begäran om att skapa.

Alias

Modellalias

Ailoot Ultra deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

Relaterade anropar-ID:n

deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

FAQ · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
Vilka indata och resultat finns?

POST /v1/chat/completions · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B: text → text

POST /v1/messages · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B: text → json, sse

Vilka fält använder begäran?

POST /v1/chat/completions · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B: model, messages, stream, modalities, provider

POST /v1/messages · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B: model, messages, max_tokens, stream

Vilka gränser gäller?

POST /v1/chat/completions · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B: messages.min_items: 1

Fler detaljer

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration
Välj en rabatterad plan för återkommande anrop.
Kampanjkod upp till 50%
Ange koden vid köpet. Priset räknas om enligt kampanjen.
Kostnader i historiken
Modell, token och belopp sparas för varje anrop.

Välj prenumeration · Se modellpriser

Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation
Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.
Återförsäljarlicens
Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.
Dokument på webbplatsen
Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

Begär återförsäljarlicens · Officiella villkor och licensavtal