DeepSeek: DeepSeek V3.1
DeepSeek V3.1 er en hybrid tekstmodel med tænkning og direkte svar i samme udgave. Dens kontekst på 128K og forbedrede værktøjsprofil understøtter kodning, dokumentanalyse og søgning leveret af applikationen med tekst eller foreslåede værktøjskald som resultat.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
DeepSeek V3.1 er DeepSeek’s hybride tekstmodel: den samme navngivne udgave understøtter svar med og uden tænkning gennem forskellige indstillinger i chatskabelonen. Producenten fremhæver forbedret værktøjsbrug, agentopgaver og ræsonneringseffektivitet i forhold til sin tidligere model. Den accepterer skriftlige instruktioner og tekstkontekst og genererer et svar, kode eller indhold til værktøjskald. Den oprindelige V3.1-identitet er adskilt fra Terminus, V3.2 og V4-familien.
Modelkortet angiver i alt 671 milliarder parametre, 37 milliarder aktive parametre og en kontekst på 128K for både basisudgaven og den eftertrænede udgave. V3.1 bygger på det oprindelige V3-fundament med udvidet træning på lange dokumenter før eftertræningen. Strukturen med mixture-of-experts og latent attention følger V3-arkitekturen. Disse designfakta forklarer tekstprofilen med lang kontekst uden at gøre konteksttallet til en særskilt specifikation for maksimalt output.
Tilstanden uden tænkning forbereder et direkte svar, mens tænkningstilstanden starter en ræsonneringsfase før svaret. Producentens skabelon bruger en afsluttende tænkningsmarkør til direkte svar og en indledende tænkningsmarkør til den aktuelle ræsonneringstur. I en samtale med flere ture fjernes tidligere ræsonneringsindhold, mens endelige svar og den afsluttende markør bevares i konteksten. Det er den oprindelige V3.1-regel for historik, adskilt fra den senere V3.2-regel, som bevarer ræsonnering på tværs af værktøjsrelaterede beskeder.
Standardværktøjskald er dokumenteret i tilstanden uden tænkning. Applikationen angiver funktionsnavne, beskrivelser og parameterskemaer; modellen returnerer et valgt værktøjsnavn og JSON-argumenter i producentens repræsentation af værktøjskald. Applikationen udfører operationen og returnerer resultatet. Giv værktøjer konkrete formål, og hold den returnerede observation knyttet til kaldet, så næste modeltrin har dokumentation frem for en antagelse om, at en handling fandt sted.
Søgning med tænkning bruger et særskilt specialiseret søgeagentformat. DeepSeek dokumenterer et søgeværktøj leveret af brugeren til spørgsmål, der kræver eksterne eller aktuelle oplysninger, med gentagne kald og observationer over flere samtaleture. Søgning er derfor en del af det omgivende forløb, ikke en påstand om, at et tekstsvar selvstændigt har gennemset nettet. Definer spørgsmålet, kildekriterierne og det endelige svar, du har brug for, før søgeopgaven starter.
Til kodning skal du medtage det relevante fragment eller de relevante filer, observeret adfærd, forventet adfærd og de begrænsninger, der skal bevares. Et eksempel på en opgavebeskrivelse er: “Identificer årsagen til denne fejl for det angivne input, foreslå en fokuseret rettelse, og forklar den betingelse, ændringen håndterer.” Til en dokumentopgave skal du mærke kildeafsnit og bede om en sammenligning med udtrykkelige krav. Kræv, at det endelige svar skelner mellem den kildeunderbyggede konklusion og en foreslået næste handling.
Producenten træner V3.1 med UE8M0 FP8-skalaformatet til vægte og aktiveringer. De lokale anbefalinger identificerer også præcisionsfølsomme parametre, der skal håndteres korrekt. Det er egenskaber ved producentens offentliggjorte reference, ikke en påstand om alle applikationers valgte præcision eller implementering. En afledt model, en kvantiseret variant og det senere Terminus-checkpoint forbliver særskilte valg i forhold til den navngivne oprindelige V3.1-udgave.
Forbered længere arbejde med et klart spørgsmål, kildemærker og et defineret slutresultat. Hold samtale, kildetekst, ræsonnering og output inden for den dokumenterede kontekst, og bevar kun relevant dokumentation, efterhånden som opgaven vokser. Til en agent skal du angive de tilladte handlinger og det kriterium, der markerer resultatet som færdigt. Det nyttige produkt er et tekstsvar, kodeforslag eller en kildeunderbygget analyse, der kan gennemgås og er knyttet til input og de observationer, applikationen har returneret.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingStart
DeepSeek V3.1 er en hybrid tekstmodel med tænkning og direkte svar i samme udgave. Dens kontekst på 128K og forbedrede værktøjsprofil understøtter kodning, dokumentanalyse og søgning leveret af applikationen med tekst eller foreslåede værktøjskald som resultat.
- Accepterede input
- Tekst
- Resultater
- Tekst
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Inputtyper
text- Outputtyper
text- Outputformat
- json eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser deepseek-v3.1-thinking | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser Afhænger af modellen | Standard— |
Feltmessages[].content | Typestring | KravValgfrit | Værdier og grænser Gælder når: Tekstsamtale | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Kombinationer af inputmaterialer
Tekst · UTF8-tekst
messages[].content
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages |
Parametermaterial_types | Kontrakttext |
Parametermessages | Kontraktbeskedarray med strukturen role/content |
Parameterfile_material | Kontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes |
Parameteroptional_controls | Kontraktstream |
Parametercontrol_scope | KontraktTekstsamtale; stream er en boolesk værdi og er som standard false. |
Parameteroutput_modalities | Kontrakttext |
Parameterhosted_operations | Kontraktfalse |
Parametermultimodal_input_binding | Kontraktnull |
Metodealiaser: /chat/completions
Livscyklus: synchronous_or_streamed
Send det præcise model-ID med messages.
Kontekstlængde er ikke et outputloft.
En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
| Konfiguration | Takstplan | Beløb |
|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens $0.000572 / 1K tokens Output · Outputtokens $0.0023 / 1K tokens Input · Cachelæsning $0 / 1K tokens Input · Cacheskrivning $0 / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
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"))
Hent og gem resultater
Ailoot Ultra · OpenAI Chat
json eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltchoices[].index | Typeinteger |
Feltchoices[].message.content | Typestring|null |
Feltchoices[].message.tool_calls | Typetool_call[] |
Feltchoices[].message.reasoning_content | Typestring |
Feltchoices[].message.reasoning_details | Typeobject|array |
Feltchoices[].finish_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra deepseek-v3.1-thinking
Aliaser for metodestier
/chat/completions
Relaterede kalder-ID’er
FAQ · DeepSeek: DeepSeek V3.1
- Hvilke input og resultater er tilgængelige?
POST /v1/chat/completions·deepseek-v3.1-thinking:text→text- Hvilke felter bruger anmodningen?
POST /v1/chat/completions·deepseek-v3.1-thinking:model,messages,stream- Hvilke grænser gælder?
POST /v1/chat/completions·deepseek-v3.1-thinking:messages.min_items:1