Qwen: Qwen3.5-9B
Qwen3.5-9B ialah model penglihatan-bahasa padat 9 bilion parameter Qwen untuk teks, imej dan video yang mengembalikan teks. Ia menggabungkan penaakulan, pengekodan, panggilan alat dan kerja berbilang bahasa, dengan mod berfikir yang boleh dipilih serta konteks natif 262,144 token yang boleh diperluas melalui konfigurasi.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen/qwen3.5-9b - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen/qwen3.5-9b
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Sorotan Qwen3.5 dalam edisi padat 9B
Qwen3.5-9B ialah checkpoint penglihatan-bahasa padat 9 bilion parameter yang menjalani pascalatihan. Ia menerima teks, imej dan video serta mengembalikan teks. Keluarga ini menyatukan penaakulan, pengekodan, ejen dan pemahaman visual melalui gabungan awal latihan teks serta visual, pembelajaran pengukuhan pada tugas yang semakin kompleks dan sokongan untuk 201 bahasa serta dialek. Liputan bahasa itu ialah keupayaan keluarga, bukannya jaminan kebolehpercayaan yang sama untuk setiap bahasa atau subjek.
Untuk kerja dokumen berbilang bahasa, nyatakan bahasa sasaran, kekalkan istilah teknikal dan minta hasil mengenal pasti medan atau petikan sumber yang digunakan. Untuk soalan visual, berikan imej yang boleh dibaca dan tugas tepat. Untuk permintaan pengekodan kecil, bekalkan input, tingkah laku yang dikehendaki dan kod berkaitan. Model tidak menjana imej atau video apabila menganalisis bahan visual.
Gambaran keseluruhan model
Model tepat 9B ini padat, dengan 32 lapisan model bahasa dan pengekod penglihatan. Susun atur hibridnya mengulangi tiga lapisan Gated DeltaNet diikuti satu lapisan perhatian dengan mekanisme gerbang, menggunakan rangkaian suap hadapan padat. Ramalan berbilang token disertakan dalam latihan. Keluarga ini turut mengandungi model pakar dengan pengaktifan terpilih, tetapi huraian parameter keseluruhan berbanding parameter yang diaktifkan bagi model tersebut tidak patut digunakan untuk edisi padat ini.
Konteks natif ialah 262,144 token, dengan peluasan bersyarat kepada 1,010,000. Konfigurasi dan saiz berangka model perlu kekal berbeza daripada checkpoint Base, saiz Qwen3.5 lain dan binaan terkuantisasi. Bilangan parameter lebih kecil mengenal pasti edisi; ia sendiri tidak menetapkan masa respons sejagat atau kedudukan kualiti. Untuk tugas pemikiran kompleks, Qwen mengesyorkan pengekalan konteks yang dikonfigurasi sekurang-kurangnya 128K token jika boleh.
Input dan mod respons
Pembuat menunjukkan soalan teks sahaja, imej dan video. Berikan soalan dokumen dengan halaman berkaitan dan medan yang dijangka, atau soalan video dengan peristiwa serta julat masa yang penting. Kekalkan label, unit dan susunan bingkai. Minta hasil yang boleh dibandingkan dengan sumber, seperti jadual nilai yang diekstrak atau penjelasan yang merujuk bukti yang kelihatan.
Pemikiran didayakan secara lalai. enable_thinking boleh menyahdayakan penaakulan untuk respons terus, manakala arahan kawalan mod pada peringkat prompt yang lama /think dan /nothink tidak disokong secara rasmi. Gunakan templat pembuat dan asingkan penaakulan daripada teks akhir apabila antara muka menyediakan kedua-duanya. Cadangan sejarah Qwen3.5 ialah mengekalkan jawapan akhir tanpa kandungan pemikirannya; tingkah laku pengekalan sejarah lebih baharu tidak patut diimport ke keluaran ini.
Penggunaan ejen
Qwen mendokumenkan panggilan alat dan mengesyorkan Qwen-Agent, termasuk alat yang dikonfigurasi atau disambungkan melalui MCP, serta Qwen Code untuk kerja ejen pengekodan. Nyatakan alat yang dibenarkan dan hasil yang boleh diperhatikan. Alat yang disambungkan boleh menyediakan pengiraan, pengambilan sumber atau maklum balas pelaksanaan sebenar; model kemudian boleh menggunakan maklumat itu dalam jawapannya. Alat serta tindakan luaran tergolong dalam aplikasi, maka nama model sahaja tidak menetapkan akses atau pelaksanaan.
Teks amat panjang
Peluasan yang didokumenkan menggunakan YaRN dengan tetapan kedudukan checkpoint ini sendiri. Faktor empat menyasarkan aliran kerja kira-kira satu juta token; untuk 524,288 token, pembuat mencadangkan faktor dua. Penskalaan statik boleh menjejaskan prestasi teks lebih pendek, maka ia perlu mengikut keperluan sebenar konteks lebih panjang. Input, perwakilan visual, sejarah, penaakulan dan output akhir berkongsi bajet urutan. Susun bahan panjang mengikut dokumen atau pengecam kod dan tinggalkan ruang artifak yang diminta.
Cadangan penjanaan
Bahagian Best Practices pada kad membezakan beberapa pratetap. Pemikiran umum menggunakan temperature 1.0, top_p 0.95, top_k 20, min_p 0, penalti kehadiran 1.5 dan penalti pengulangan 1.0. Pengekodan tepat menggunakan temperature 0.6 dan penalti kehadiran sifar. Respons terus umum menggunakan temperature 0.7, top_p 0.8 dan penalti kehadiran 1.5; top_k ialah 20, min_p ialah 0 dan penalti pengulangan ialah 1.0. Untuk tugas penaakulan dengan respons terus, Best Practices sebaliknya mengesyorkan temperature 1.0, top_p 1.0, top_k 40 dan penalti kehadiran 2.0. Ini ialah resipi khusus tugas, bukannya nilai untuk dicampur sewenang-wenangnya. Penalti kehadiran lebih besar boleh menyebabkan percampuran bahasa atau sedikit penurunan kualiti.
Qwen mengesyorkan peruntukan penjanaan 32,768 token untuk kebanyakan pertanyaan dan 81,920 untuk soalan matematik atau pengaturcaraan yang luar biasa kompleks. Itu ialah cadangan, bukannya had mutlak output yang berdiri sendiri. Nyatakan format jawapan, seperti hasil matematik berpembatas atau medan jawapan, dan sahkan kesimpulan berdasarkan sumber.
Butiran video dan had utama
Contoh video pembuat menggunakan dua bingkai sesaat secara lalai dalam aliran kerja yang disokong. Panduan berskala jamnya memperluas bajet pemproses video kepada kira-kira 224K token video untuk pensampelan berkadar lebih tinggi. Ini ialah contoh bergantung konfigurasi, bukannya jaminan tempoh atau masa peristiwa sejagat. Pastikan tulisan kecil boleh dibaca dan peralihan adegan penting jelas, serta periksa teks yang diekstrak, pengiraan dan kod yang dijana sebelum menggunakan hasil. Nilai praktikal edisi 9B ialah skop tugas bersepadu teks/visual yang didokumenkan dan mod respons yang boleh dikawal, dengan identiti padat tepatnya dikekalkan.
Tugas praktikal
Tugas praktikal
Contoh teknikal dalam bahasa Inggeris
Implement a small text normaliser
Write a Python function normalise_code(value) for product codes. Trim leading and trailing spaces, convert letters to uppercase and preserve internal hyphens and digits. Empty or whitespace-only input returns an empty string. Provide tests for ' ab-17 ', 'X-0' and ' '. Do not remove punctuation beyond surrounding whitespace or use external packages.Hasil yang dijangka
The complete function and three assert tests preserving the specified code semantics.Semak hasil
The function converts ' ab-17 ' to 'AB-17' while retaining the hyphen and digit order.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3.5-9b
qwen/qwen3.5-9bPengenalan
Qwen3.5-9B ialah model penglihatan-bahasa padat 9 bilion parameter Qwen untuk teks, imej dan video yang mengembalikan teks. Ia menggabungkan penaakulan, pengekodan, panggilan alat dan kerja berbilang bahasa, dengan mod berfikir yang boleh dipilih serta konteks natif 262,144 token yang boleh diperluas melalui konfigurasi.
- 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 qwen/qwen3.5-9b | 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
- Kadar standard Apabila mod pantas dipilih
- Mod flex
- Kadar standard Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0002 / 1K token Output · Token output $0.0003 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0002 / 1K token Output · Token output $0.0003 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 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": "qwen/qwen3.5-9b", "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='qwen/qwen3.5-9b',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='qwen/qwen3.5-9b',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 qwen/qwen3.5-9b
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3.5-9b
qwen/qwen3.5-9bPengenalan
Qwen3.5-9B ialah model penglihatan-bahasa padat 9 bilion parameter Qwen untuk teks, imej dan video yang mengembalikan teks. Ia menggabungkan penaakulan, pengekodan, panggilan alat dan kerja berbilang bahasa, dengan mod berfikir yang boleh dipilih serta konteks natif 262,144 token yang boleh diperluas melalui konfigurasi.
- 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 qwen/qwen3.5-9b | 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
- Kadar standard Apabila mod pantas dipilih
- Mod flex
- Kadar standard Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0002 / 1K token Output · Token output $0.0003 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0002 / 1K token Output · Token output $0.0003 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 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": "qwen/qwen3.5-9b",
"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': 'qwen/qwen3.5-9b', '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': 'qwen/qwen3.5-9b', '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 qwen/qwen3.5-9b
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · Qwen: Qwen3.5-9B
- Apakah input dan hasil yang tersedia?
POST /v1/chat/completions·qwen/qwen3.5-9b:text→textPOST /v1/messages·qwen/qwen3.5-9b:text→json,sse- Apakah medan yang digunakan oleh permintaan?
POST /v1/chat/completions·qwen/qwen3.5-9b:model,messages,stream,modalities,providerPOST /v1/messages·qwen/qwen3.5-9b:model,messages,max_tokens,stream- Apakah had yang terpakai?
POST /v1/chat/completions·qwen/qwen3.5-9b:messages.min_items:1