DeepSeek: DeepSeek V3.1
DeepSeek V3.1 is een hybride tekstmodel met een denkmodus en een modus voor directe antwoorden in één editie. De context van 128K en het verbeterde toolgebruikprofiel ondersteunen programmeren, documentanalyse en zoeken via de toepassing, met tekst of voorgestelde toolaanroepen als resultaat.
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.1 is het hybride tekstmodel van DeepSeek: dezelfde benoemde editie ondersteunt antwoorden met en zonder denkmodus via verschillende instellingen van de chattemplate. De producent benadrukt verbeterd toolgebruik, agenttaken en redeneerefficiëntie ten opzichte van zijn eerdere model. Het accepteert geschreven instructies en tekstcontext en genereert een antwoord, code of inhoud van toolaanroepen. De oorspronkelijke V3.1-identiteit staat los van Terminus, V3.2 en de V4-familie.
De modelkaart vermeldt in totaal 671 miljard parameters, 37 miljard actieve parameters en een context van 128K voor zowel de basiseditie als de nagetrainde editie. V3.1 bouwt voort op de oorspronkelijke V3-basis met uitgebreide training op lange documenten vóór de natraining. De mixture-of-experts- en latent-attention-structuur volgt de V3-architectuur. Die ontwerpfeiten verklaren het tekstprofiel voor lange contexten zonder het contextgetal in een afzonderlijke specificatie voor maximale uitvoer te veranderen.
De modus zonder denken bereidt een direct antwoord voor, terwijl de denkmodus een redeneerfase vóór het antwoord start. De template van de producent gebruikt een afsluitende denkmarkering voor directe antwoorden en een openende denkmarkering voor de huidige redeneerbeurt. In een gesprek met meerdere beurten wordt eerdere redeneerinhoud verwijderd, terwijl eindantwoorden en de afsluitende markering in de context blijven. Dit is de oorspronkelijke V3.1-regel voor geschiedenis, apart van de latere V3.2-regel die redeneringen over toolgerelateerde berichten heen bewaart.
Standaardtoolaanroepen zijn gedocumenteerd in de modus zonder denken. De toepassing levert functienamen, beschrijvingen en parameterschema's aan; het model geeft een gekozen toolnaam en JSON-argumenten terug in de toolaanroepweergave van de producent. De toepassing voert de handeling uit en geeft het resultaat terug. Geef tools specifieke doelen en houd de ontvangen waarneming gekoppeld aan de aanroep, zodat de volgende modelstap over bewijsmateriaal beschikt in plaats van een aanname dat een actie heeft plaatsgevonden.
Zoeken in denkmodus gebruikt een afzonderlijk gespecialiseerd zoekagentformaat. DeepSeek documenteert een door de gebruiker aangeleverde zoektool voor vragen die externe of actuele informatie vereisen, met herhaalde aanroepen en waarnemingen over verschillende beurten. Zoeken is dus onderdeel van de omringende workflow, geen bewering dat een tekstantwoord zelfstandig op het web heeft gebrowsed. Bepaal de vraag, de broncriteria en het benodigde eindantwoord voordat de zoektaak begint.
Geef bij programmeren het relevante fragment of de bestanden, het waargenomen gedrag, het verwachte gedrag en de te behouden voorwaarden mee. Een voorbeeldopdracht is: “Identificeer de oorzaak van deze fout voor de aangeleverde invoer, stel een gerichte correctie voor en leg uit welke voorwaarde de wijziging afhandelt.” Label bij een documenttaak de bronsecties en vraag om een vergelijking met expliciete vereisten. Eis dat het eindantwoord de brononderbouwde conclusie onderscheidt van een voorgestelde volgende actie.
De producent traint V3.1 met het UE8M0 FP8-schaalformaat voor gewichten en activaties. De lokale aanbevelingen duiden ook precisiegevoelige parameters aan die correct moeten worden verwerkt. Dat zijn kenmerken van de gepubliceerde producentreferentie, geen bewering over de gekozen precisie of implementatie van elke toepassing. Een afgeleid model, een gekwantiseerde variant en het latere Terminus-checkpoint blijven afzonderlijke keuzes naast de benoemde oorspronkelijke V3.1-editie.
Bereid langer werk voor met een duidelijke vraag, bronlabels en een afgebakend eindproduct. Plan het gesprek, de brontekst, de redenering en de uitvoer binnen de gedocumenteerde context en bewaar alleen relevant bewijsmateriaal naarmate de taak groeit. Geef voor een agent de toegelaten acties aan en het criterium dat het resultaat als voltooid markeert. Het bruikbare eindproduct is een beoordeelbaar tekstantwoord, codevoorstel of brononderbouwde analyse die verbonden is met de invoer en de waarnemingen die de toepassing daadwerkelijk heeft teruggegeven.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingAan de slag
DeepSeek V3.1 is een hybride tekstmodel met een denkmodus en een modus voor directe antwoorden in één editie. De context van 128K en het verbeterde toolgebruikprofiel ondersteunen programmeren, documentanalyse en zoeken via de toepassing, met tekst of voorgestelde toolaanroepen als resultaat.
- 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-v3.1-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 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.000572 / 1K tokens Uitvoer · Uitvoertokens $0.0023 / 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.1-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.1-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.1-thinking
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
FAQ · DeepSeek: DeepSeek V3.1
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·deepseek-v3.1-thinking:text→text- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·deepseek-v3.1-thinking:model,messages,stream- Welke limieten gelden?
POST /v1/chat/completions·deepseek-v3.1-thinking:messages.min_items:1