DeepSeek: DeepSeek V3.1
DeepSeek V3.1 er en hybrid tekstmodell med moduser for tenkning og direkte svar i én utgave. Konteksten på 128K og den forbedrede profilen for verktøybruk støtter koding, dokumentanalyse og søk levert av applikasjonen, med tekst eller foreslåtte verktøykall som resultat.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
DeepSeek V3.1 er DeepSeeks hybride tekstmodell: den samme navngitte utgaven støtter svar med og uten tenkning gjennom ulike innstillinger i chatmalen. Produsenten fremhever forbedret verktøybruk, agentoppgaver og resonneringseffektivitet sammenlignet med den tidligere modellen. Den tar imot skriftlige instruksjoner og tekstkontekst og genererer et svar, kode eller innhold for verktøykall. Den opprinnelige V3.1-identiteten er atskilt fra Terminus, V3.2 og V4-familien.
Modellkortet oppgir totalt 671 milliarder parametere, 37 milliarder aktive parametere og en kontekst på 128K for både grunnutgaven og den ettertrente utgaven. V3.1 bygger på det opprinnelige V3-grunnlaget med utvidet trening på lange dokumenter før ettertrening. Strukturen med mixture-of-experts og latent attention følger V3-arkitekturen. Disse designfaktaene forklarer tekstprofilen med lang kontekst uten å gjøre konteksttallet til en separat spesifikasjon for maksimal utdatalengde.
Modus uten tenkning utarbeider et direkte svar, mens tenkemodus starter en resonneringsfase før svaret. Produsentmalen bruker en avsluttende tenkemarkør for direkte svar og en innledende tenkemarkør for den gjeldende resonneringsturen. I en samtale over flere turer forkastes tidligere resonneringsinnhold, mens sluttsvar og den avsluttende markøren forblir i konteksten. Dette er den opprinnelige historikkregelen for V3.1, atskilt fra den senere V3.2-regelen som bevarer resonnering på tvers av verktøyrelaterte meldinger.
Standard verktøykall er dokumentert i modus uten tenkning. Applikasjonen leverer funksjonsnavn, beskrivelser og parameterskjemaer; modellen returnerer et valgt verktøynavn og JSON-argumenter i produsentens representasjon av verktøykall. Applikasjonen utfører operasjonen og returnerer resultatet. Gi verktøy konkrete formål og hold den returnerte observasjonen knyttet til kallet, slik at neste modelltrinn har dokumentasjon fremfor en antakelse om at en handling fant sted.
Søk i tenkemodus bruker et separat spesialisert søkeagentformat. DeepSeek dokumenterer et brukerlevert søkeverktøy for spørsmål som krever ekstern eller oppdatert informasjon, med gjentatte kall og observasjoner over flere turer. Søk er derfor del av arbeidsflyten rundt modellen, ikke en påstand om at et tekstsvar selvstendig surfet på nettet. Definer spørsmålet, kildekriteriene og sluttsvaret du trenger før søkeoppgaven starter.
For koding legger du ved relevant fragment eller filer, observert oppførsel, forventet oppførsel og begrensninger som skal bevares. Et illustrerende oppdrag er: «Identifiser årsaken til denne feilen for de innsendte inndataene, foreslå en avgrenset retting og forklar vilkåret endringen håndterer.» For en dokumentoppgave merker du kildedeler og ber om en sammenligning mot uttrykkelige krav. Krev at sluttsvaret skiller den kildeunderbygde konklusjonen fra en foreslått neste handling.
Produsenten trener V3.1 med UE8M0 FP8-skalaformatet for vekter og aktiveringer. De lokale anbefalingene identifiserer også presisjonsfølsomme parametere som må håndteres korrekt. Dette er egenskaper ved den publiserte produsentreferansen, ikke en påstand om hver applikasjons valgte presisjon eller implementasjon. Et avledet produkt, en kvantisert variant og det senere Terminus-sjekkpunktet forblir separate valg fra den navngitte opprinnelige V3.1-utgaven.
Klargjør lengre arbeid med et tydelig spørsmål, kildeetiketter og en definert sluttartefakt. Budsjetter samtale, kildetekst, resonnering og utdata innenfor den dokumenterte konteksten, og behold bare relevant dokumentasjon etter hvert som oppgaven vokser. For en agent angir du tillatte handlinger og kriteriet som markerer at resultatet er fullført. Den nyttige leveransen er et tekstsvar som kan vurderes, et kodeforslag eller en kildeunderbygd analyse knyttet til inndataene og observasjonene applikasjonen faktisk returnerte.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingStart
DeepSeek V3.1 er en hybrid tekstmodell med moduser for tenkning og direkte svar i én utgave. Konteksten på 128K og den forbedrede profilen for verktøybruk støtter koding, dokumentanalyse og søk levert av applikasjonen, med tekst eller foreslåtte verktøykall som resultat.
- Godkjente inndata
- Tekst
- Resultater
- Tekst
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Inndatatyper
text- Utdatatyper
text- Utdataformat
- json eller SSE
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser deepseek-v3.1-thinking | Standard— |
Feltmessages | Typemessage[] | KravPåkrevd | Verdier & grenser Minste antall elementer: 1 | Standard— |
Feltmessages[].role | Typestring | KravPåkrevd | Verdier & grenser Avhenger av modellen | Standard— |
Feltmessages[].content | Typestring | KravValgfritt | Verdier & grenser Gjelder når: Tekstsamtale | Standard— |
Feltstream | Typeboolean | KravValgfritt | Verdier & grenser | Standardfalse |
Kombinasjoner av inngående materialer
Tekst · UTF8-tekst
messages[].content
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, messages |
Parametermaterial_types | Avtaletext |
Parametermessages | Avtalemeldingstabell med role/content-struktur |
Parameterfile_material | Avtalefaktisk UTF-8-dokument satt inn som bokstavelig tekst; ingen fil-ID utledes |
Parameteroptional_controls | Avtalestream |
Parametercontrol_scope | AvtaleTekstsamtale; stream er en boolsk verdi med false som standard. |
Parameteroutput_modalities | Avtaletext |
Parameterhosted_operations | Avtalefalse |
Parametermultimodal_input_binding | Avtalenull |
Metodealiaser: /chat/completions
Livssyklus: synchronous_or_streamed
Send eksakt modell-ID sammen med messages.
Kontekstlengde er ikke en outputgrense.
En tekstfil kan levere bokstavelig tekst; bilde-, lyd- og filobjektinput trenger eksakt binding.
Priser
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
Ailoot-satser
Priser etter konfigurasjon
| Konfigurasjon | Prisplan | Kostnad |
|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Kostnad Inndata · Inngående tokener $0.000572 / 1K tokener Utdata · Utgående tokener $0.0023 / 1K tokener Inndata · Lesing fra hurtigbuffer $0 / 1K tokener Inndata · Skriving til hurtigbuffer $0 / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
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"))
Motta og lagre resultater
Ailoot Ultra · OpenAI Chat
json eller SSE
Behold alle ferdige resultater
Behold alle fullstendige returnerte svar, filer og innholdsdeler.
Behold hvert svaralternativ med innhold, verktøykall og resonnering. Sett sammen endringer i SSE etter svaralternativets/verktøyets indeks, og behold endelig avslutningsgrunn og bruksdata.
Hvis det opprinnelige svaret må kontrolleres
Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.
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 |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdi | Neste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel. |
Aliaser
Modellaliaser
Ailoot Ultra deepseek-v3.1-thinking
Aliaser for metodestier
/chat/completions
Tilknyttede anroper-ID-er
FAQ · DeepSeek: DeepSeek V3.1
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/chat/completions·deepseek-v3.1-thinking:text→text- Hvilke felt bruker forespørselen?
POST /v1/chat/completions·deepseek-v3.1-thinking:model,messages,stream- Hvilke grenser gjelder?
POST /v1/chat/completions·deepseek-v3.1-thinking:messages.min_items:1