DeepSeek: DeepSeek V3.1
DeepSeek V3.1 yra hibridinis tekstinis modelis, viename leidime turintis mąstymo ir tiesioginio atsakymo režimus. Jo 128K kontekstas ir patobulintas įrankių naudojimo profilis palaiko programavimą, dokumentų analizę ir programos teikiamą paiešką, grąžinant tekstą ar siūlomus įrankių iškvietimus.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
DeepSeek V3.1 yra hibridinis DeepSeek tekstinis modelis: tas pats pavadintas leidimas palaiko atsakymus su mąstymu ir be jo per skirtingus pokalbio šablono nustatymus. Gamintojas pabrėžia geresnį įrankių naudojimą, agentų užduotis ir samprotavimo efektyvumą, palyginti su ankstesniu modeliu. Jis priima rašytines instrukcijas bei tekstinį kontekstą ir generuoja atsakymą, kodą ar įrankio iškvietimo turinį. Originalus V3.1 identifikatorius atskiras nuo Terminus, V3.2 ir V4 šeimos.
Modelio kortelėje nurodyta iš viso 671 milijardas parametrų, 37 milijardai aktyvių parametrų ir 128K kontekstas tiek baziniam, tiek papildomai apmokytam leidimui. V3.1 sukurtas originalaus V3 pagrindu, prieš baigiamąjį apmokymą papildomai mokant ilgais dokumentais. Jo ekspertų mišinio ir latentinio dėmesio struktūra atitinka V3 architektūrą. Šie projektavimo faktai paaiškina ilgo konteksto tekstinį profilį, nepaverčiant konteksto skaičiaus atskira didžiausios išvesties specifikacija.
Režimas be mąstymo parengia tiesioginį atsakymą, o mąstymo režimas pradeda samprotavimo etapą prieš atsakymą. Gamintojo šablonas tiesioginiams atsakymams naudoja uždarančią mąstymo žymą, o dabartiniam samprotavimo žingsniui – atidarančią mąstymo žymą. Kelių žingsnių pokalbyje ankstesnis samprotavimo turinys pašalinamas, o galutiniai atsakymai ir uždaranti žyma lieka kontekste. Tai originali V3.1 istorijos taisyklė, besiskirianti nuo vėlesnės V3.2 taisyklės, kuri išsaugo samprotavimą tarp su įrankiais susijusių žinučių.
Standartinis įrankių iškvietimas dokumentuotas režime be mąstymo. Programa pateikia funkcijų pavadinimus, aprašus ir parametrų schemas; modelis gamintojo įrankių iškvietimo formatu grąžina pasirinktą įrankio pavadinimą ir JSON argumentus. Programa atlieka veiksmą ir grąžina jo rezultatą. Suteikite įrankiams konkrečias paskirtis ir grąžintą stebėjimą laikykite susietą su iškvietimu, kad kitas modelio žingsnis turėtų įrodymų, o ne prielaidą, jog veiksmas įvyko.
Paieška mąstymo režimu naudoja atskirą specializuotą paieškos agento formatą. DeepSeek dokumentuoja naudotojo teikiamą paieškos įrankį klausimams, kuriems reikia išorinės ar aktualios informacijos, su kartotiniais iškvietimais ir stebėjimais per kelis pokalbio žingsnius. Todėl paieška yra aplinkinės darbo eigos dalis, o ne teiginys, kad tekstinis atsakymas savarankiškai naršė žiniatinklį. Prieš pradėdami paieškos užduotį, apibrėžkite klausimą, šaltinių kriterijus ir reikiamą galutinį atsakymą.
Programavimui pateikite susijusį fragmentą ar failus, stebėtą elgseną, laukiamą elgseną ir išsaugotinus apribojimus. Pavyzdinė užduotis: „Nustatyk šios klaidos priežastį pateiktai įvesčiai, pasiūlyk konkrečią pataisą ir paaiškink sąlygą, kurią pakeitimas apdoroja.“ Dokumento užduočiai pažymėkite pirminius skyrius ir prašykite palyginimo pagal aiškius reikalavimus. Reikalaukite, kad galutinis atsakymas atskirtų šaltiniais pagrįstą išvadą nuo siūlomo kito veiksmo.
Gamintojas V3.1 apmoko naudodamas UE8M0 FP8 svorių ir aktyvacijų mastelio formatą. Jo vietinės rekomendacijos taip pat nurodo tikslumui jautrius parametrus, kuriuos reikia tvarkyti tinkamai. Tai paskelbto gamintojo etalono savybės, o ne teiginys apie kiekvienos programos pasirinktą tikslumą ar realizaciją. Išvestinis modelis, kvantuotas variantas ir vėlesnė Terminus kontrolinė versija išlieka atskiri pasirinkimai nuo pavadinto originalaus V3.1 leidimo.
Ilgesniam darbui paruoškite aiškų klausimą, šaltinių žymas ir apibrėžtą galutinį artefaktą. Pokalbio, pirminio teksto, samprotavimo ir išvesties apimtį planuokite dokumentuoto konteksto ribose, o užduočiai augant išlaikykite tik svarbius įrodymus. Agentui nurodykite leidžiamus veiksmus ir kriterijų, pagal kurį rezultatas laikomas baigtu. Naudingas rezultatas yra peržiūrimas tekstinis atsakymas, kodo pasiūlymas ar šaltiniais pagrįsta analizė, susieta su įvestimi ir stebėjimais, kuriuos programa iš tiesų grąžino.
Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingPradžia
DeepSeek V3.1 yra hibridinis tekstinis modelis, viename leidime turintis mąstymo ir tiesioginio atsakymo režimus. Jo 128K kontekstas ir patobulintas įrankių naudojimo profilis palaiko programavimą, dokumentų analizę ir programos teikiamą paiešką, grąžinant tekstą ar siūlomus įrankių iškvietimus.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions
- Įvestis
text- Išvestis
text- Išvesties formatas
- json arba SSE
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos deepseek-v3.1-thinking | Numatyta— |
Laukasmessages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasmessages[].role | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
Laukasmessages[].content | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Tekstinis pokalbis | Numatyta— |
Laukasstream | Tipasboolean | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
Įvesties medžiagos deriniai
Tekstas · UTF8 tekstas
messages[].content
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, messages |
Parametrasmaterial_types | Specifikacijatext |
Parametrasmessages | Specifikacijapranešimų masyvas su role/content struktūra |
Parametrasfile_material | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
Parametrasoptional_controls | Specifikacijastream |
Parametrascontrol_scope | SpecifikacijaTekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false. |
Parametrasoutput_modalities | Specifikacijatext |
Parametrashosted_operations | Specifikacijafalse |
Parametrasmultimodal_input_binding | Specifikacijanull |
Metodo pseudonimai: /chat/completions
Gyvavimo ciklas: synchronous_or_streamed
Siųskite tikslų modelio ID kartu su messages.
Konteksto ilgis nėra išvesties limitas.
Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
| Konfigūracija | Įkainių lentelė | Mokestis |
|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai $0.000572 / 1K tokenų Išvestis · Išvesties tokenai $0.0023 / 1K tokenų Įvestis · Talpyklos skaitymas $0 / 1K tokenų Įvestis · Rašymas į talpyklą $0 / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · OpenAI pokalbis
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"))
Gauti ir išsaugoti rezultatus
Ailoot Ultra · OpenAI pokalbis
json arba SSE
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukaschoices[].index | Tipasinteger |
Laukaschoices[].message.content | Tipasstring|null |
Laukaschoices[].message.tool_calls | Tipastool_call[] |
Laukaschoices[].message.reasoning_content | Tipasstring |
Laukaschoices[].message.reasoning_details | Tipasobject|array |
Laukaschoices[].finish_reason | Tipasstring|null |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra deepseek-v3.1-thinking
Metodų kelių pseudonimai
/chat/completions
Susiję ID iškvietimui
FAQ · DeepSeek: DeepSeek V3.1
- Kokios įvestys ir rezultatai prieinami?
POST /v1/chat/completions·deepseek-v3.1-thinking:text→text- Kokius laukus naudoja užklausa?
POST /v1/chat/completions·deepseek-v3.1-thinking:model,messages,stream- Kokie apribojimai taikomi?
POST /v1/chat/completions·deepseek-v3.1-thinking:messages.min_items:1