DeepSeek: DeepSeek V3.1 Terminus
DeepSeek V3.1 Terminus memperhalusi ketekalan bahasa dan tingkah laku ejen kod serta carian model teks V3.1. Ia mengekalkan profil hibrid berfikir dan respons langsung, dengan konteks 128K serta templat ejen carian yang dikemas kini dan dikekalkan berasingan daripada format V3.2 yang terkemudian.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsdeepseek/deepseek-v3.1-terminus - Ailoot Ultra · Anthropic Messages
POST /v1/messagesdeepseek/deepseek-v3.1-terminus
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
DeepSeek V3.1 Terminus ialah kemas kini DeepSeek kepada profil model teks V3.1. Ia mengekalkan keupayaan asal sambil menangani percampuran bahasa Cina dan Inggeris yang tidak diingini, aksara luar biasa yang kadangkala muncul serta tingkah laku ejen kod dan carian. Inputnya ialah tugasan bertulis dan konteks sumber; outputnya ialah teks yang boleh merangkumi penjelasan, cadangan kod atau kandungan berkaitan ejen. Edisi bernama Terminus kekal berbeza daripada V3.1 asal dan keluaran perhatian jarang yang terkemudian.
Profil V3.1 yang diwarisi bersifat hibrid: satu model boleh memberikan respons dalam mod berfikir atau tanpa pemikiran melalui templat sembangnya. Jadual model V3.1 yang diterbitkan menyenaraikan sejumlah 671 bilion parameter, 37 bilion parameter aktif dan konteks 128K. Terminus menerangkan struktur model yang sama seperti V3 dan merujuk V3.1 untuk templat perbualan di luar aliran kerja ejen cariannya yang disemak semula. Rujukan ini menghubungkan kemas kini dengan keluarga asasnya sambil mengekalkan perubahannya sendiri.
Untuk pembantu pengekodan langsung, templat yang diwarisi menyokong panggilan alat standard dalam mod tanpa pemikiran, dengan fungsi bernama dan argumen JSON berdasarkan takrif alat yang dibekalkan. Model mencadangkan operasi, aplikasi melaksanakannya dan mengembalikan pemerhatian. Carian dalam mod berfikir mengikuti format ejen carian khusus. Terminus mengemas kini templat carian dan set alat itu, jadi laluan carian patut menggunakan rujukan Terminus dan bukannya templat yang tidak berkaitan daripada keluaran lain.
Ketekalan bahasa ialah perbezaan edisi yang praktikal. Untuk tugasan dokumen bahasa Cina atau Inggeris, nyatakan bahasa jawapan, istilah yang mesti mengekalkan ejaan asal dan petikan sumber yang perlu digunakan. Contoh taklimat ialah: “Tulis penjelasan dalam bahasa Inggeris, kekalkan nama pemboleh ubah yang dibekalkan dan elakkan menterjemah nama medan API. Asaskan setiap dapatan pada spesifikasi yang diberikan.” Kemas kini ini menyasarkan pertukaran bahasa yang tidak diingini, manakala taklimat anda tetap menentukan bahan campuran bahasa yang disengajakan.
Model boleh menggunakan alat carian yang dibekalkan pengguna untuk soalan yang memerlukan maklumat luaran atau semasa. Berikan soalan penyelidikan, kriteria sumber yang berguna dan hasil serahan akhir. Tugasan pengekodan patut merangkumi fragmen yang berkaitan, tingkah laku yang diperhatikan dan hasil yang dijangkakan. Pastikan hasil yang dikembalikan oleh alat kekal dikaitkan dengan operasi yang menghasilkannya, dan minta jawapan akhir mengenal pasti bukti di sebalik cadangan perubahan atau kesimpulan.
Pengeluar merekodkan butiran ketepatan khusus titik semak: parameter unjuran output mekanisme perhatian tidak mematuhi format skala UE8M0 FP8 yang digunakan dalam keluaran V3.1. Itu ialah pertimbangan pelaksanaan rujukan, bukannya perubahan pada bahasa, modaliti atau format jawapan tugasan. Hal ini menjadi sebab untuk mengekalkan Terminus sebagai edisi tersendiri dan mengelakkan anggapan bahawa semua titik semak V3.1 mempunyai profil ketepatan yang sama.
Untuk kerja yang lebih panjang, peruntukkan bajet bahan sumber, perbualan dan respons yang dijana dalam konteks keluarga 128K. Labelkan bahagian dokumen dan fragmen kod supaya hasil dapat merujuk kembali kepada bukti yang betul. Dalam tugasan berbilang langkah, takrifkan tindakan yang dibenarkan, artifak yang diperlukan dan kriteria penyiapan. Hasil yang berguna ialah jawapan teks yang tekal, cadangan kod atau analisis yang disokong sumber dan boleh disemak berbanding input serta pemerhatian alat sebenar.
Tugas praktikal
Tugas praktikal
Contoh teknikal dalam bahasa Inggeris
Explain a field rule in English
Write an English explanation of this validation rule for an integration guide: "retry_count must be a nonnegative integer; retry_after_ms may be omitted; when present, it must be a positive integer." Preserve the field names exactly. Add one valid and one invalid example as plain text, explaining the invalid field without translating identifiers.Hasil yang dijangka
An English paragraph plus two labelled examples and a specific validation explanation.Semak hasil
Check that retry_count accepts zero while retry_after_ms does not.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek/deepseek-v3.1-terminus
deepseek/deepseek-v3.1-terminus
deepseek/deepseek-v3.1-terminusPengenalan
DeepSeek V3.1 Terminus memperhalusi ketekalan bahasa dan tingkah laku ejen kod serta carian model teks V3.1. Ia mengekalkan profil hibrid berfikir dan respons langsung, dengan konteks 128K serta templat ejen carian yang dikemas kini dan dikekalkan berasingan daripada format V3.2 yang terkemudian.
- Input yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Input
text- Output
text- Format output
- json atau SSE
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had deepseek/deepseek-v3.1-terminus | Lalai— |
Medanmessages | Jenismessage[] | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
Medanmessages[].role | Jenisstring | KeperluanDiperlukan | Nilai & had Contoh: system, user, assistant, tool, function Syarat: Peranan ini diwakili secara eksplisit oleh jenis keserasian dalam kod sumber; set peranan model yang tepat kekal khusus untuk setiap model. Bergantung pada model | Lalai— |
Medanmessages[].content | Jenisstring|content_part[]|null | KeperluanPilihan | Nilai & had | Lalai— |
Medanmessages[].tool_calls | Jenistool_call[] | KeperluanPilihan | Nilai & had | Lalai— |
Medanmessages[].tool_call_id | Jenisstring | KeperluanPilihan | Nilai & had Terpakai apabila: role=tool; gunakan ID sebenar yang dipulangkan | Lalai— |
Medanmessages[].name | Jenisstring | KeperluanPilihan | Nilai & had | Lalai— |
Medanmessages[].reasoning_content | Jenisstring | KeperluanPilihan | Nilai & had Terpakai apabila: Hantar semula penaakulan sebenar yang dipulangkan apabila model ini menggunakannya | Lalai— |
Medanmessages[].reasoning_details | Jenisobject|array | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanmax_tokens | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 1 Bergantung pada model | Lalai— |
Medanmax_completion_tokens | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 1 Bergantung pada model | Lalai— |
Medanstream | Jenisboolean | KeperluanPilihan | Nilai & had | Lalaifalse |
Medanstream_options.include_usage | Jenisboolean | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medantemperature | Jenisnumber | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medantop_p | Jenisnumber | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanstop | Jenisstring|string[] | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medantools | Jenisfunction_tool[] | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medantools[].type | Jenisstring | KeperluanPilihan | Nilai & had function Bergantung pada model | Lalai— |
Medantools[].function.name | Jenisstring | KeperluanDiperlukan | Nilai & had Terpakai apabila: alat fungsi dibekalkan | Lalai— |
Medantools[].function.description | Jenisstring | KeperluanPilihan | Nilai & had | Lalai— |
Medantools[].function.parameters | JenisJSON_schema | KeperluanPilihan | Nilai & had | Lalai— |
Medantool_choice | Jenisstring|object | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanparallel_tool_calls | Jenisboolean | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanresponse_format | Jenisobject | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanreasoning_effort | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanreasoning | Jenisobject | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanservice_tier | Jenisstring | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medaninstructions | Jenisstring | KeperluanPilihan | Nilai & had Medan keserasian | Lalai— |
Medanfunctions | Jenisfunction[] | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanfunction_call | Jenisstring|object | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanprompt_cache_options | Jenisobject | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
Medanmodalities | Jenisstring[] | KeperluanPilihan | Nilai & had text | Lalai— |
Medanprovider | Jenisobject | KeperluanPilihan | Nilai & had Syarat: provider.options ditolak pada laluan teks Ultra ini | Lalai— |
Medancache_control.ttl | Jenisstring | KeperluanPilihan | Nilai & had Syarat: 1h ditolak pada lokasi cache prompt yang digunakan | Lalai— |
Gabungan bahan input
Teks · Teks UTF8
messages[].content
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, messages |
Parametermaterial_types | Kontraktext |
Parametermessages | Kontraktatasusunan mesej dengan struktur role/content |
Parameterfile_material | Kontrakdokumen UTF-8 sebenar dimasukkan sebagai teks literal; ID fail tidak diandaikan |
Parameteroptional_controls | Kontrakstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Kontrakkhusus model; alat fungsi pengguna berbeza daripada alat yang dihoskan |
Parameteroutput_modalities | Kontraktext |
Parameterhosted_operations | Kontrakfalse |
Parametermultimodal_input_binding | Kontraknull |
Kitar hayat: synchronous_or_streamed
Hantar ID model yang tepat bersama messages.
Panjang konteks bukan had output.
Fail teks boleh membekalkan teks literal; input imej/audio/objek fail memerlukan pengikatan tepat.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
| Konfigurasi | Jadual kadar | Caj |
|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Caj Input · Token input $0.001144 / 1K token Output · Token output $0.00343 / 1K token Input · Bacaan cache $0 / 1K token Input · Penulisan cache $0 / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
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/deepseek-v3.1-terminus", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
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/deepseek-v3.1-terminus',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
from openai import OpenAI
import os
from pathlib import Path
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)
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))
with client.chat.completions.stream(model='deepseek/deepseek-v3.1-terminus',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Terima dan simpan hasil
Ailoot Ultra · OpenAI Chat
json atau SSE
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Kekalkan setiap pilihan jawapan bersama kandungan, panggilan alat dan penaakulannya. Dalam SSE, gabungkan delta mengikut indeks pilihan jawapan/alat dan kekalkan sebab penamatan akhir serta data penggunaan.
Jika respons asal perlu disemak
Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanchoices[].index | Jenisinteger |
Medanchoices[].message.content | Jenisstring|null |
Medanchoices[].message.tool_calls | Jenistool_call[] |
Medanchoices[].message.reasoning_content | Jenisstring |
Medanchoices[].message.reasoning_details | Jenisobject|array |
Medanchoices[].finish_reason | Jenisstring|null |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra deepseek/deepseek-v3.1-terminus
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
Ailoot Ultra · Anthropic Messages POST /v1/messages deepseek/deepseek-v3.1-terminus
deepseek/deepseek-v3.1-terminus
deepseek/deepseek-v3.1-terminusPengenalan
DeepSeek V3.1 Terminus memperhalusi ketekalan bahasa dan tingkah laku ejen kod serta carian model teks V3.1. Ia mengekalkan profil hibrid berfikir dan respons langsung, dengan konteks 128K serta templat ejen carian yang dikemas kini dan dikekalkan berasingan daripada format V3.2 yang terkemudian.
- Input yang diterima
- Teks
- Hasil
- json · sse
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Input
text- Output
json,sse- Format output
- JSON atau SSE
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had deepseek/deepseek-v3.1-terminus | Lalai— |
Medanmessages | Jenismessage[] | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanmessages[].role | Jenisstring | KeperluanDiperlukan | Nilai & had user, assistant | Lalai— |
Medanmessages[].content | Jenisstring | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanmax_tokens | Jenisinteger | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanstream | Jenisboolean | KeperluanPilihan | Nilai & had | Lalaifalse |
Gabungan bahan input
Teks · Teks UTF-8
rentetan messages[].content
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, messages, max_tokens |
Parameteroptional_controls | Kontrakstream |
Parametermaterial_types | Kontraktext |
Parametertext_file_material | KontrakBaca dokumen UTF-8 sebenar dan letakkan teksnya dalam rentetan input atau kandungan mesej yang ditunjukkan. |
Kitar hayat: synchronous_or_streamed
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
| Konfigurasi | Jadual kadar | Caj |
|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Caj Input · Token input $0.001144 / 1K token Output · Token output $0.00343 / 1K token Input · Bacaan cache $0 / 1K token Input · Penulisan cache $0 / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Anthropic Messages
{
"model": "deepseek/deepseek-v3.1-terminus",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'deepseek/deepseek-v3.1-terminus', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'deepseek/deepseek-v3.1-terminus', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Terima dan simpan hasil
Ailoot Ultra · Anthropic Messages
JSON atau SSE
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Kekalkan semua blok kandungan, tandatangan penaakulan dan ID penggunaan alat sebenar. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan output.
Jika respons asal perlu disemak
Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanid | Jenisstring |
Medanmodel | Jenisstring |
Medancontent[] | Jenistext|thinking|tool_use|other content block |
Medanstop_reason | Jenisstring|null |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra deepseek/deepseek-v3.1-terminus
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · DeepSeek: DeepSeek V3.1 Terminus
- Apakah input dan hasil yang tersedia?
POST /v1/chat/completions·deepseek/deepseek-v3.1-terminus:text→textPOST /v1/messages·deepseek/deepseek-v3.1-terminus:text→json,sse- Apakah medan yang digunakan oleh permintaan?
POST /v1/chat/completions·deepseek/deepseek-v3.1-terminus:model,messages,stream,modalities,providerPOST /v1/messages·deepseek/deepseek-v3.1-terminus:model,messages,max_tokens,stream- Apakah had yang terpakai?
POST /v1/chat/completions·deepseek/deepseek-v3.1-terminus:messages.min_items:1