Qwen3-4B
Qwen3-4B adalah model teks dengan empat miliar parameter untuk mengikuti instruksi, dialog multibahasa, dan kode. Desain hibridanya mendukung jawaban langsung maupun mode thinking, dengan panduan khusus edisi untuk mengendalikan pengulangan.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen3-4b - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen3-4b
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Qwen3-4B menerapkan rancangan respons hibrida Qwen3 pada model bahasa dense yang ringkas. Pengembang menjelaskan kemampuan penalaran matematika dan logika, pembuatan kode, penulisan kreatif, interaksi berbasis peran, dan dialog beberapa giliran, serta mengikuti instruksi dalam lebih dari 100 bahasa dan dialek. Tugas editorial atau teknis yang terfokus merupakan cara yang berguna untuk menggunakannya: berikan fragmen sumber tertentu dan minta satu transformasi yang jelas, alih-alih gambaran umum tanpa batasan.
Rilis ini memiliki empat miliar parameter, dengan 3.6 miliar di luar embedding, dan 36 lapisan. Grouped-query attention menggunakan 32 query head dan delapan key/value head. Masukan dan keluarannya sama-sama berupa teks. Kartu ini menjelaskan rilis hibrida Qwen3-4B asli, bukan model Thinking atau Instruct bertanggal yang dirilis kemudian. Contoh praktisnya adalah mengubah catatan insiden singkat menjadi serah terima operasional yang memuat kegagalan yang diamati, dampak yang diketahui, dan langkah investigasi berikutnya. Berikan fakta tersebut sebagai bidang terpisah dan minta model menandai informasi yang hilang, bukan mengisinya sendiri.
Siapkan instruksi dan sumber sebagai bagian terpisah dalam pesan percakapan. Untuk pemrograman, lampirkan fungsi kecil, contoh masukan yang mewakili penggunaan, dan nilai kembalian yang diinginkan, lalu minta penjelasan atau perubahan dengan lingkup sempit. Minta satu kasus biasa dan satu kasus tepi sebagai bagian keluaran. Untuk tugas penulisan, tentukan audiens, panjang, dan kosakata yang harus tetap sama. Untuk klasifikasi, berikan label yang diperbolehkan, definisinya, dan contoh keluaran; pilihan yang dikembalikan kemudian harus diperiksa terhadap daftar tersebut. Integrasi yang dipublikasikan memerlukan runtime yang mengenali Qwen3; kartu memperingatkan bahwa versi Transformers di bawah 4.51.0 tidak mengenali arsitektur yang diperlukan.
Mode thinking dan non-thinking tersedia dalam rilis yang sama. Dalam templat pengembang, thinking aktif secara bawaan dan dapat dimatikan dengan sakelar tegas. Saat thinking aktif, /think dan /no_think merupakan instruksi lunak yang dapat mengubah perilaku antar-giliran; instruksi terbaru berlaku. Keduanya tidak mengaktifkan kembali mode yang telah dimatikan secara tegas. Transformasi teks singkat dapat meminta jawaban langsung, sedangkan penjelasan tentang kondisi yang bertentangan dapat menggunakan penalaran. Simpan respons akhir, bukan teks penalaran sebelumnya, sebagai hasil berguna dari satu giliran percakapan. Saat thinking aktif, permintaan non-thinking melalui instruksi lunak tetap mempertahankan blok penalaran, meskipun isinya dapat kosong. Penonaktifan tegas menghapus blok tersebut.
Kartu model mencakup penggunaan sebagai agen dan merekomendasikan Qwen-Agent untuk definisi alat dan penguraian. Untuk asisten yang mengklasifikasikan tiket masuk lalu mencari deskripsi kategori, aplikasi perlu menyediakan alat pencarian, menjalankan panggilan yang diterima, dan memasok hasilnya. Tentukan argumen dan bidang yang diharapkan terlebih dahulu. Minta catatan tiket akhir berisi kategori yang dipilih, alasan singkat, dan bidang yang belum diketahui. Validasi catatan tersebut dan simpan hasil alat yang digunakan untuk membuatnya. Panduan Qwen3 juga menjelaskan panggilan alat paralel dan beberapa langkah, dengan argumen berbentuk objek dan hasil yang dikembalikan ke percakapan.
Kartu untuk edisi ini mencantumkan konteks native 32,768 token dan mendokumentasikan perluasan hingga 131,072 menggunakan YaRN. Angka yang diperluas bergantung pada konfigurasi; penskalaan statis dapat memengaruhi masukan yang lebih pendek. Rencanakan seluruh permintaan dan respons secara bersamaan. Untuk kumpulan catatan singkat, beri label pada setiap item, minta pengenal keluaran yang sesuai, dan gunakan skema ringkas agar hasil yang dibuat tetap muat. Contoh dan rekomendasi panjang keluaran pada kartu bukan batas keras universal untuk generasi. Dalam penjelasan panjang pelatihannya, dokumentasi Qwen3 membahas panjang pesan asisten 38,912 token dalam mode thinking dan 16,384 dalam mode non-thinking, serta menyarankan evaluasi kualitas generasi yang lebih panjang. Angka tersebut berbeda dari jendela konteks keseluruhan dan bukan batas keras khusus endpoint. Kartu juga menjelaskan alokasi posisi bawaan 40,960 token sebagai 8,192 untuk prompt umum ditambah 32,768 untuk keluaran; ini merupakan panduan konfigurasi pengembang, terpisah dari konteks pelatihan native dan batas endpoint apa pun.
Edisi ini memiliki peringatan tambahan tentang pengulangan yang terus-menerus. Pengembang merujuk pada pengaturan sampling yang direkomendasikan dan menyarankan presence_penalty 1.5 jika terjadi pengulangan yang signifikan. Saran umumnya menyebutkan bahwa penalti yang lebih kuat dapat menimbulkan keluaran campuran bahasa atau mengurangi kualitas, sehingga pengaturan ini ditujukan untuk masalah tertentu, bukan jaminan. Mode thinking menggunakan temperature 0.6, top-p 0.95, top-k 20, dan min-p 0; non-thinking menggunakan 0.7, 0.8, 20, dan 0. Hindari greedy decoding untuk penalaran, minta jawaban akhir dengan batas yang jelas, dan periksa hasil untuk menemukan klausa berulang, bidang yang hilang, dan istilah yang berubah.
Tugas praktis
Tugas praktis
Contoh teknis dalam bahasa Inggris
Turn an incident note into a handoff
Turn these facts into an operational handoff. Observed failure: report export stops with Disk full. Known impact: exports for Team C failed; other teams were not checked. Last completed step: temporary files listed, none deleted. Next step: identify approved cleanup candidates. Use four labelled lines and do not invent a restoration time or wider impact.Hasil yang diharapkan
Four labelled lines: Failure, Confirmed impact, Completed work and Next step.Periksa hasil
Check that listing files is not reported as deleting them and untested teams remain outside confirmed impact.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen3-4b
qwen3-4bMulai
Qwen3-4B adalah model teks dengan empat miliar parameter untuk mengikuti instruksi, dialog multibahasa, dan kode. Desain hibridanya mendukung jawaban langsung maupun mode thinking, dengan panduan khusus edisi untuk mengendalikan pengulangan.
- 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 |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan qwen3-4b | Bawaan— |
Kolommessages | Jenismessage[] | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
Kolommessages[].role | Jenisstring | PersyaratanWajib | Nilai & batasan Contoh: system, user, assistant, tool, function Kondisi: Peran ini direpresentasikan secara eksplisit oleh tipe kompatibilitas dalam kode sumber; kumpulan peran model yang tepat tetap khusus untuk tiap model. Bergantung pada model | Bawaan— |
Kolommessages[].content | Jenisstring|content_part[]|null | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolommessages[].tool_calls | Jenistool_call[] | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolommessages[].tool_call_id | Jenisstring | PersyaratanOpsional | Nilai & batasan Berlaku jika: role=tool; gunakan ID yang benar-benar dikembalikan | Bawaan— |
Kolommessages[].name | Jenisstring | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolommessages[].reasoning_content | Jenisstring | PersyaratanOpsional | Nilai & batasan Berlaku jika: Kirim kembali penalaran yang benar-benar dikembalikan jika model ini menggunakannya | Bawaan— |
Kolommessages[].reasoning_details | Jenisobject|array | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolommax_tokens | Jenisinteger | PersyaratanOpsional | Nilai & batasan Minimum: 1 Bergantung pada model | Bawaan— |
Kolommax_completion_tokens | Jenisinteger | PersyaratanOpsional | Nilai & batasan Minimum: 1 Bergantung pada model | Bawaan— |
Kolomstream | Jenisboolean | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |
Kolomstream_options.include_usage | Jenisboolean | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomtemperature | Jenisnumber | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomtop_p | Jenisnumber | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomstop | Jenisstring|string[] | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomtools | Jenisfunction_tool[] | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomtools[].type | Jenisstring | PersyaratanOpsional | Nilai & batasan function Bergantung pada model | Bawaan— |
Kolomtools[].function.name | Jenisstring | PersyaratanWajib | Nilai & batasan Berlaku jika: alat fungsi disediakan | Bawaan— |
Kolomtools[].function.description | Jenisstring | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolomtools[].function.parameters | JenisJSON_schema | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolomtool_choice | Jenisstring|object | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomparallel_tool_calls | Jenisboolean | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomresponse_format | Jenisobject | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomreasoning_effort | Jenisstring | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomreasoning | Jenisobject | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomservice_tier | Jenisstring | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolominstructions | Jenisstring | PersyaratanOpsional | Nilai & batasan Kolom kompatibilitas | Bawaan— |
Kolomfunctions | Jenisfunction[] | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomfunction_call | Jenisstring|object | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolomprompt_cache_options | Jenisobject | PersyaratanOpsional | Nilai & batasan Bergantung pada model | Bawaan— |
Kolommodalities | Jenisstring[] | PersyaratanOpsional | Nilai & batasan text | Bawaan— |
Kolomprovider | Jenisobject | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak pada rute teks Ultra ini | Bawaan— |
Kolomcache_control.ttl | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: 1h ditolak pada lokasi cache prompt yang digunakan | Bawaan— |
Kombinasi bahan masukan
Teks · Teks UTF8
messages[].content
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, messages |
Parametermaterial_types | Kontraktext |
Parametermessages | Kontrakarray pesan dengan struktur role/content |
Parameterfile_material | Kontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan |
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 berbeda dari alat yang dihosting |
Parameteroutput_modalities | Kontraktext |
Parameterhosted_operations | Kontrakfalse |
Parametermultimodal_input_binding | Kontraknull |
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.0001 / 1K token Keluaran · Token keluaran $0.001 / 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 →
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": "qwen3-4b", "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='qwen3-4b',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='qwen3-4b',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, 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 |
|---|---|
Kolomchoices[].index | Jenisinteger |
Kolomchoices[].message.content | Jenisstring|null |
Kolomchoices[].message.tool_calls | Jenistool_call[] |
Kolomchoices[].message.reasoning_content | Jenisstring |
Kolomchoices[].message.reasoning_details | Jenisobject|array |
Kolomchoices[].finish_reason | Jenisstring|null |
Kolomusage | 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 qwen3-4b
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen3-4b
qwen3-4bMulai
Qwen3-4B adalah model teks dengan empat miliar parameter untuk mengikuti instruksi, dialog multibahasa, dan kode. Desain hibridanya mendukung jawaban langsung maupun mode thinking, dengan panduan khusus edisi untuk mengendalikan pengulangan.
- Masukan yang diterima
- Teks
- Hasil
- json · sse
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Masukan
text- Keluaran
json,sse- Format keluaran
- JSON atau SSE
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan qwen3-4b | Bawaan— |
Kolommessages | Jenismessage[] | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolommessages[].role | Jenisstring | PersyaratanWajib | Nilai & batasan user, assistant | Bawaan— |
Kolommessages[].content | Jenisstring | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolommax_tokens | Jenisinteger | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomstream | Jenisboolean | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |
Kombinasi bahan masukan
Teks · Teks UTF-8
string messages[].content
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, messages, max_tokens |
Parameteroptional_controls | Kontrakstream |
Parametermaterial_types | Kontraktext |
Parametertext_file_material | KontrakBaca dokumen UTF-8 yang sebenarnya dan masukkan teksnya ke string masukan atau konten pesan yang ditunjukkan. |
Siklus hidup: synchronous_or_streamed
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.0001 / 1K token Keluaran · Token keluaran $0.001 / 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 →
Contoh permintaan
Ailoot Ultra · Anthropic Messages
{
"model": "qwen3-4b",
"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': 'qwen3-4b', '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': 'qwen3-4b', '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, berkas, dan bagian konten yang dikembalikan.
Simpan semua blok konten, tanda tangan penalaran, dan ID penggunaan alat yang sebenarnya. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan keluaran.
Jika respons asli perlu diperiksa
Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomid | Jenisstring |
Kolommodel | Jenisstring |
Kolomcontent[] | Jenistext|thinking|tool_use|other content block |
Kolomstop_reason | Jenisstring|null |
Kolomusage | 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 qwen3-4b
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Qwen3-4B
- Input dan hasil apa yang tersedia?
POST /v1/chat/completions·qwen3-4b:text→textPOST /v1/messages·qwen3-4b:text→json,sse- Kolom apa yang digunakan permintaan?
POST /v1/chat/completions·qwen3-4b:model,messages,stream,modalities,providerPOST /v1/messages·qwen3-4b:model,messages,max_tokens,stream- Batasan apa yang berlaku?
POST /v1/chat/completions·qwen3-4b:messages.min_items:1