DeepSeek: DeepSeek V3.2
DeepSeek V3.2 combineert redeneren met tekst met toolgebruik en analyse van lange context. De sparse-attention-architectuur en het bijgewerkte gespreksformaat ondersteunen programmeren, zoeken en agenttaken met meerdere stappen, met een context van 128K en afzonderlijke workflows voor redeneren en directe antwoorden.
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 V3.2 is het tekstmodel van DeepSeek voor redeneren en agentwerk, met nadruk op efficiënte verwerking van lange context. De producent organiseert de belangrijkste wijzigingen rond DeepSeek Sparse Attention, een opgeschaald reinforcement-learningframework en een pipeline voor de training van agenttaken. Het accepteert schriftelijke vragen en context en produceert tekst, waaronder een antwoord, code of inhoud voor toolaanroepen. Het onderscheidt zich van de eerdere V3.2 Exp-release en de afzonderlijke redeneervariant Speciale.
DeepSeek Sparse Attention voegt een indexer en fijnmazige tokenselectie toe aan de latent-attention-architectuur. Bij een lange reeks selecteert de indexer de informatie van eerdere tokens die voor de hoofdberekening van aandacht wordt gebruikt. Het rapport vermeldt dat dit de architectuurwijziging ten opzichte van V3.1 Terminus is en dat dezelfde architectuur wordt gebruikt als bij V3.2 Exp. De gepubliceerde context is 128K tokens en ondersteunt omvangrijk bronmateriaal en een doorlopende taak, terwijl gegenereerde redeneringen en toolgeschiedenis ook de beschikbare context verbruiken.
De natraining omvat antwoorden met en zonder redeneren voor wiskunde, programmeren, logisch redeneren, algemene agenttaken, programmeren met agents en zoeken. Domeinspecialisten leveren gegevens die in het uiteindelijke model worden samengevoegd, gevolgd door gemengde reinforcement learning. Voor een gewone vraag kan een direct antwoord passend zijn; voor een moeilijk probleem kan de denkworkflow een oplossing ontwikkelen voordat het eindresultaat wordt gepresenteerd. Specificeer het vereiste antwoord of resultaat onafhankelijk van de tussenliggende redenering.
Een belangrijke wijziging in deze editie is redeneren met tools. Het bijgewerkte chatformaat laat redeneren tijdens een taak met toolaanroepen doorgaan in plaats van analyse en handeling als losstaande fasen te behandelen. Een door het model geselecteerde bewerking wordt door de applicatie uitgevoerd, die het resultaat voor de volgende stap teruggeeft. De toolcontextregel van de producent behoudt eerdere redeneringen zolang alleen toolgerelateerde berichten worden toegevoegd; wanneer een nieuw gebruikersbericht binnenkomt, verwijdert deze de redenering maar behoudt de toolaanroepen en resultaten. Correct onderscheiden gespreksrollen zijn van belang voor dat gedrag.
Lever voor programmeren het bronfragment of de relevante bestanden, het waargenomen probleem, het verwachte resultaat en de voorwaarden die de wijziging moet behouden. Een voorbeeldopdracht is: “Gebruik de aangeleverde code en toolresultaten om de oorzaak te vinden, stel de kleinste correctie voor en geef de definitieve patch terug met het ondersteunende validatieresultaat.” Beschrijf voor een zoektaak de vraag, het vereiste bewijs en wat als een voltooid antwoord geldt. Zoek- en uitvoeringstools worden door de omringende applicatie geleverd, niet door de tekst alleen.
De producent beveelt voor lokaal gebruik temperature 1.0 en top-p 0.95 aan. V3.2 introduceert een herziene representatie van toolaanroepen en een specifieke berichtencoder. De developer-rol is gereserveerd voor het zoekagentsjabloon van de producent en de officiële API accepteert die rol niet. De referentieparser verwacht correct gevormde uitvoer en herstelt onjuist gestructureerde resultaten niet; wanneer een applicatie gegenereerde velden of toolargumenten gebruikt, moet deze hun structuur controleren voordat erop wordt gehandeld.
Het technische rapport noemt lange redeneertrajecten en overbodige zelfverificatie als praktische beperkingen. Een agenttaak kan de 128K-grens bereiken, zelfs als het oorspronkelijke bronmateriaal past, doordat tooluitvoer en herhaalde redeneringen zich opstapelen. Houd een beknopt overzicht van relevante waarnemingen bij en maak het eindresultaat expliciet. Voeg voor kennisgevoelig werk het gezaghebbende materiaal toe of bied een geschikte zoektool aan in plaats van te verwachten dat trainingskennis elk feit bepaalt.
DeepSeek V3.2 Speciale is een afzonderlijke variant voor diep redeneren met veel rekenwerk en ondersteunt volgens de modelkaart geen toolaanroepen. De kenmerken ervan mogen niet als het standaardtoolprofiel van V3.2 worden gebruikt. Ook de latere V4-generatie en de experimentele voorganger hebben afzonderlijke identiteiten en configuratiekeuzes. Behoud de V3.2-editie met deze specifieke naam wanneer je taken vergelijkt waarvoor model en promptformaat van belang zijn.
Label voor een praktische, op bronnen gebaseerde analyse het materiaal en vraag om een conclusie die door de relevante passages wordt ondersteund, met aannames en ontbrekende informatie apart gehouden. Vermeld voor een agent de toegestane functies, het verwachte eindresultaat en het afrondingscriterium. Zo richt je de workflow van het model voor redeneren en toolgebruik in op een controleerbaar tekst-, code- of analyseresultaat dat aan het aangeleverde bewijs is gekoppeld.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.2-thinking
deepseek-v3.2-thinkingAan de slag
DeepSeek V3.2 combineert redeneren met tekst met toolgebruik en analyse van lange context. De sparse-attention-architectuur en het bijgewerkte gespreksformaat ondersteunen programmeren, zoeken en agenttaken met meerdere stappen, met een context van 128K en afzonderlijke workflows voor redeneren en directe antwoorden.
- 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 deepseek-v3.2-thinking | Standaard— |
Veldmessages | Typemessage[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldmessages[].role | Typestring | VereisteVereist | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldmessages[].content | Typestring | VereisteOptioneel | Waarden en limieten Geldt wanneer: Tekstgesprek | Standaard— |
Veldstream | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
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 |
Parametercontrol_scope | ContractTekstgesprek; stream is een booleaanse waarde en is standaard false. |
Parameteroutput_modalities | Contracttext |
Parameterhosted_operations | Contractfalse |
Parametermultimodal_input_binding | Contractnull |
Methodealiasnamen: /chat/completions
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 is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.00058 / 1K tokens Uitvoer · Uitvoertokens $0.00086 / 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-v3.2-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
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-v3.2-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
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"))
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-v3.2-thinking
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
FAQ · DeepSeek: DeepSeek V3.2
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·deepseek-v3.2-thinking:text→text- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·deepseek-v3.2-thinking:model,messages,stream- Welke limieten gelden?
POST /v1/chat/completions·deepseek-v3.2-thinking:messages.min_items:1