Source: https://ailoot.ai/models/id/deepseek-v3-1-thinking/
Canonical: https://ailoot.ai/models/id/deepseek-v3-1-thinking/
Language: id

# DeepSeek: DeepSeek V3.1

[Markdown](https://ailoot.ai/models/id/deepseek-v3-1-thinking/index.md) · [JSON](https://ailoot.ai/models/id/deepseek-v3-1-thinking/facts.json)

## [DeepSeek: DeepSeek V3.1](https://ailoot.ai/models/id/deepseek-v3-1-thinking/)

DeepSeek V3.1 adalah model teks hibrida dengan mode berpikir dan respons langsung dalam satu edisi. Konteks 128K dan profil penggunaan alat yang ditingkatkan mendukung pemrograman, analisis dokumen, dan pencarian yang disediakan aplikasi, dengan hasil berupa teks atau usulan pemanggilan alat.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek-v3.1-thinking`](https://ailoot.ai/models/id/deepseek-v3-1-thinking/#method-0)

Tentang model

Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.

DeepSeek V3.1 adalah model teks hibrida DeepSeek: edisi bernama yang sama mendukung respons dengan dan tanpa proses berpikir melalui pengaturan templat percakapan yang berbeda. Pembuat menyoroti peningkatan penggunaan alat, tugas agen, dan efisiensi penalaran dibandingkan model sebelumnya. Model ini menerima instruksi tertulis serta konteks teks dan menghasilkan jawaban, kode, atau konten pemanggilan alat. Identitas V3.1 awal terpisah dari Terminus, V3.2, dan keluarga V4.

Kartu model mencantumkan total 671 miliar parameter, 37 miliar parameter aktif, dan konteks 128K untuk edisi dasar maupun edisi pascapelatihannya. V3.1 dibangun di atas basis V3 awal dengan pelatihan lanjutan pada dokumen panjang sebelum pascapelatihan. Struktur mixture-of-experts dan latent attention-nya mengikuti arsitektur V3. Fakta rancangan ini menjelaskan profil teks berkonteks panjang tanpa menjadikan angka konteks sebagai spesifikasi terpisah untuk keluaran maksimum.

Mode tanpa proses berpikir menyiapkan respons langsung, sedangkan mode berpikir memulai fase penalaran sebelum jawaban. Templat pembuat menggunakan penanda penutup berpikir untuk jawaban langsung dan penanda pembuka berpikir untuk giliran penalaran saat ini. Dalam percakapan beberapa giliran, konten penalaran sebelumnya dihapus, sedangkan jawaban akhir dan penanda penutup tetap berada dalam konteks. Ini merupakan aturan riwayat V3.1 awal, yang berbeda dari aturan V3.2 kemudian yang mempertahankan penalaran sepanjang pesan terkait alat.

Pemanggilan alat standar didokumentasikan dalam mode tanpa proses berpikir. Aplikasi menyediakan nama fungsi, deskripsi, dan skema parameter; model mengembalikan nama alat yang dipilih serta argumen JSON dalam representasi pemanggilan alat dari pembuat. Aplikasi menjalankan operasi dan mengembalikan hasilnya. Berikan tujuan khusus pada alat dan pertahankan hubungan antara pengamatan yang dikembalikan dan pemanggilannya, sehingga langkah model berikutnya memiliki bukti, alih-alih asumsi bahwa suatu tindakan telah terjadi.

Pencarian dalam mode berpikir menggunakan format agen pencarian khusus yang terpisah. DeepSeek mendokumentasikan alat pencarian yang disediakan pengguna untuk pertanyaan yang memerlukan informasi eksternal atau terkini, dengan pemanggilan serta pengamatan berulang selama beberapa giliran. Karena itu, pencarian merupakan bagian dari alur kerja yang menaunginya, bukan pernyataan bahwa respons teks secara mandiri menelusuri web. Tentukan pertanyaan, kriteria sumber, dan jawaban akhir yang Anda perlukan sebelum tugas pencarian dimulai.

Untuk pemrograman, berikan potongan atau berkas yang relevan, perilaku yang diamati, perilaku yang diharapkan, dan batasan yang harus dipertahankan. Contoh arahan: “Identifikasi penyebab kegagalan ini untuk masukan yang diberikan, usulkan koreksi yang terarah, dan jelaskan kondisi yang ditangani oleh perubahan tersebut.” Untuk tugas dokumen, beri label pada bagian sumber dan minta perbandingan berdasarkan persyaratan eksplisit. Wajibkan jawaban akhir membedakan kesimpulan yang didukung sumber dari usulan tindakan berikutnya.

Pembuat melatih V3.1 menggunakan format skala UE8M0 FP8 untuk bobot dan aktivasi. Rekomendasi lokalnya juga mengidentifikasi parameter yang sensitif terhadap presisi dan harus ditangani dengan benar. Ini merupakan karakteristik referensi pembuat yang dipublikasikan, bukan klaim tentang presisi atau implementasi yang dipilih setiap aplikasi. Model turunan, varian terkuantisasi, dan checkpoint Terminus yang lebih baru tetap merupakan pilihan yang terpisah dari edisi V3.1 awal bernama tersebut.

Siapkan pekerjaan yang lebih panjang dengan pertanyaan yang jelas, label sumber, dan artefak akhir yang terdefinisi. Alokasikan percakapan, teks sumber, penalaran, dan keluaran dalam konteks yang didokumentasikan serta pertahankan hanya bukti yang relevan seiring berkembangnya tugas. Untuk agen, tentukan tindakan yang diizinkan dan kriteria yang menandai hasil sebagai selesai. Hasil kerja yang berguna adalah jawaban teks yang dapat ditinjau, usulan kode, atau analisis yang didukung sumber dan terhubung dengan masukan serta pengamatan yang benar-benar dikembalikan aplikasi.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `deepseek-v3.1-thinking`

[`deepseek-v3.1-thinking`](https://ailoot.ai/models/id/#m=deepseek-v3.1-thinking&route=Ultra&caller=deepseek-v3.1-thinking&fmt=chat)

DeepSeek /`deepseek-v3.1-thinking`

### Mulai

DeepSeek V3.1 adalah model teks hibrida dengan mode berpikir dan respons langsung dalam satu edisi. Konteks 128K dan profil penggunaan alat yang ditingkatkan mendukung pemrograman, analisis dokumen, dan pencarian yang disediakan aplikasi, dengan hasil berupa teks atau usulan pemanggilan alat.

Masukan yang diterima

Teks

Hasil

Teks

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Masukan

`text`

Keluaran

`text`

Format keluaran

json atau SSE

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan deepseek-v3.1-thinking | Bawaan— |
| Kolom`messages` | Jenis`message[]` | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
| Kolom`messages[].role` | Jenis`string` | PersyaratanWajib | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`messages[].content` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Berlaku jika: Percakapan teks | Bawaan— |
| Kolom`stream` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |

Kombinasi bahan masukan

**Teks** · Teks UTF8

`messages[].content`

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages |
| Parameter`material_types` | Kontraktext |
| Parameter`messages` | Kontrakarray pesan dengan struktur role/content |
| Parameter`file_material` | Kontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`control_scope` | KontrakPercakapan teks; stream adalah nilai boolean dengan false sebagai bawaan. |
| Parameter`output_modalities` | Kontraktext |
| Parameter`hosted_operations` | Kontrakfalse |
| Parameter`multimodal_input_binding` | Kontraknull |

Alias metode: `/chat/completions`

Siklus hidup: `synchronous_or_streamed`

Kirim ID model yang tepat bersama messages.

Panjang konteks bukan batas keluaran.

File teks dapat menyediakan teks apa adanya; masukan gambar/audio/objek file memerlukan pengikatan yang tepat.

### Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast

Tidak ditentukan Saat mode fast dipilih

Mode Flex

Tidak ditentukan Saat mode flex dipilih

Upaya penalaran maksimum

Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default

#### Tarif Ailoot

#### Harga menurut konfigurasi

| Konfigurasi | Jadwal tarif | Biaya |
| --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan **$0.000572** / 1K token Keluaran · Token keluaran **$0.0023** / 1K token Masukan · Pembacaan cache **$0** / 1K token Masukan · Penulisan cache **$0** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. [Cara kerja cadangan dan penyelesaian tagihan →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
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
```

```python
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"))
```

### Terima dan simpan hasil

#### Ailoot Ultra · OpenAI Chat

json atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan setiap alternatif jawaban beserta konten, panggilan alat, dan penalarannya. Dalam SSE, gabungkan delta menurut indeks alternatif jawaban/alat, lalu pertahankan alasan penghentian akhir dan data penggunaan.

##### Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`choices[].index` | Jenisinteger |
| Kolom`choices[].message.content` | Jenisstring\|null |
| Kolom`choices[].message.tool_calls` | Jenistool\_call\[\] |
| Kolom`choices[].message.reasoning_content` | Jenisstring |
| Kolom`choices[].message.reasoning_details` | Jenisobject\|array |
| Kolom`choices[].finish_reason` | Jenisstring\|null |
| Kolom`usage` | Jenisobject |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |

### Alias

#### Alias model

**Ailoot Ultra** [`deepseek-v3.1-thinking`](https://ailoot.ai/models/id/#m=deepseek-v3.1-thinking&route=Ultra&caller=deepseek-v3.1-thinking&fmt=chat)

#### Alias jalur metode

`/chat/completions`

#### ID pemanggil terkait

[`deepseek-v3.1-thinking`](https://ailoot.ai/models/id/#m=deepseek-v3.1-thinking&route=Ultra&caller=deepseek-v3.1-thinking&fmt=chat)

FAQ · DeepSeek: DeepSeek V3.1

Input dan hasil apa yang tersedia?

`POST /v1/chat/completions` · `deepseek-v3.1-thinking`: `text` → `text`

Kolom apa yang digunakan permintaan?

`POST /v1/chat/completions` · `deepseek-v3.1-thinking`: `model`, `messages`, `stream`

Batasan apa yang berlaku?

`POST /v1/chat/completions` · `deepseek-v3.1-thinking`: `messages.min_items`: `1`

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

## Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

## Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan

Pilih paket dengan diskon untuk permintaan rutin Anda.

Kode promo hingga 50%

Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.

Biaya dalam riwayat

Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/id/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/id/)

## Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial

Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.

Lisensi reseller

Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.

Dokumen di situs

Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

[Minta lisensi reseller](mailto:support@ailoot.ai) · [Penawaran dan perjanjian lisensi](https://ailoot.ai/legal/offer?lang=id)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
