mai-ds-r1
MAI-DS-R1 ialah model DeepSeek-R1 yang dilatih lanjut oleh Microsoft untuk penaakulan teks, matematik, kod dan penyelidikan. Ia mengekalkan asas penaakulan R1 sambil menangani kekurangan respons dan memperhalus cara model mengendalikan topik sensitif.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsMAI-DS-R1 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesMAI-DS-R1
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
MAI-DS-R1 ialah model penaakulan yang dilatih lanjut oleh pasukan Microsoft AI daripada DeepSeek-R1. Tujuannya ialah mengekalkan kekuatan penaakulan model asas sambil menambah baik respons terhadap topik yang sebelum ini menerima penolakan tidak membantu dan memperhalus profil risiko model. Microsoft menerangkan keluaran itu sebagai model yang dilatih lanjutnya sendiri, dengan asas DeepSeek-R1 671 bilion parameter dan seni bina campuran pakar. Ia ialah model penjanaan teks, bukannya salah satu penyulingan R1 yang lebih kecil.
Kad model mempersembahkan pemahaman dan penjanaan bahasa, soalan pengetahuan umum, penyelesaian masalah berbilang langkah, penjanaan dan pemahaman kod serta tugas saintifik atau akademik sebagai kegunaan langsung. Oleh itu, permintaan yang berguna boleh bermula dengan syarat matematik, teka-teki logik, fragmen kod atau penerangan teknikal yang perlu diperiksa. Hasil ialah teks: penyelesaian cadangan, cebisan kod, penerangan atau draf yang koheren. Sifat hasil patut dinyatakan dalam permintaan supaya penaakulan memenuhi matlamat yang ditentukan.
Untuk pembantu matematik, berikan syarat lengkap, takrif, kuantiti diketahui dan kesimpulan yang perlu dibuktikan. Contoh tugas ialah: “Semak penyelesaian cadangan ini. Kenal pasti peralihan pertama tanpa sokongan, terangkan andaian yang tiada dan berikan hasil dibetulkan yang memenuhi syarat asal.” Untuk pembantu pengekodan, berikan fungsi berkaitan, contoh input dan tingkah laku yang dijangka; minta penerangan kesalahan dan perubahan yang boleh disemak dengan contoh itu. Untuk penggubalan penyelidikan, berikan bahan untuk dibandingkan dan bezakan pernyataan sumber, tafsiran serta soalan yang masih memerlukan bukti.
Microsoft turut mempersembahkan model sebagai asas penalaan halus lanjut khusus domain, termasuk tunjuk ajar matematik, pembantu pengekodan dan alat penyelidikan saintifik. Itu ialah penggunaan penyesuaian hiliran, berasingan daripada model tujuan umum yang diterangkan di sini. Latihan lanjut menggunakan contoh keselamatan dan ketidakpatuhan bersama contoh berbilang bahasa yang meliputi topik yang pernah dilaporkan mempunyai kecenderungan berat sebelah. Perubahan menyasarkan tingkah laku respons; ia tidak menukar model menjadi sistem tanpa sekatan atau menghapuskan keperluan menilai jawapannya.
Pengeluar mengenal pasti had penggunaan yang bermakna. Diagnosis klinikal atau keputusan rawatan, keputusan undang-undang muktamad, kawalan autonomi yang kritikal untuk keselamatan serta keputusan kewangan atau keselamatan berisiko tinggi berada di luar penggunaan boleh dipercayai yang dimaksudkan dalam kad model. Peranan yang didokumenkan lebih sesuai dibingkaikan sebagai penerangan, penggubalan dan penyelesaian masalah berstruktur dengan semakan yang sesuai. Microsoft menyatakan halusinasi fakta, kecenderungan budaya atau demografi dan kelemahan terhadap prom adversarial boleh kekal selepas latihan lanjut.
Keluaran itu berkongsi tarikh akhir pengetahuan DeepSeek-R1 asal, jadi jawapan yakin masih mungkin tidak merangkumi peristiwa terkini atau fakta khusus. Walaupun latihan lanjut menggunakan data berbilang bahasa, Microsoft menjangka bahasa Inggeris dan Cina menjadi bahasa paling kuat. Nilai bahasa dan bidang yang diperlukan aplikasi, bukannya mengandaikan mutu sama bagi setiap bahasa. Prom yang sangat panjang atau rumit mungkin kekal mencabar; pisahkan bahan sumber, tugas dan kriteria jawapan yang berjaya.
Kad model mengesyorkan arahan peranan dan tugas yang jelas, pengesahan manusia atau automatik untuk kegunaan sensitif serta pemantauan atau penapisan kandungan apabila diperlukan aplikasi. Pastikan fakta sumber dan andaian perantaraan tersedia untuk semakan, dan minta jawapan akhir yang boleh dibandingkan dengan masalah asal. Kad yang dibaca tidak menerbitkan had angka konteks atau output yang berasingan untuk keluaran ini, jadi had itu patut ditentukan daripada spesifikasi pelaksanaan yang tepat, bukannya dipinjam daripada edisi DeepSeek lain. MAI-DS-R1 kekal sebagai model yang dilatih lanjut yang tersendiri dengan objektif dan batasannya sendiri yang didokumenkan.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions MAI-DS-R1
MAI-DS-R1Pengenalan
MAI-DS-R1 ialah model DeepSeek-R1 yang dilatih lanjut oleh Microsoft untuk penaakulan teks, matematik, kod dan penyelidikan. Ia mengekalkan asas penaakulan R1 sambil menangani kekurangan respons dan memperhalus cara model mengendalikan topik sensitif.
- 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 MAI-DS-R1 | Lalai— |
Medanmessages | Jenismessage[] | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
Medanmessages[].role | Jenisstring | KeperluanDiperlukan | Nilai & had Bergantung pada model | Lalai— |
Medanmessages[].content | Jenisstring | KeperluanPilihan | Nilai & had Terpakai apabila: Perbualan teks | Lalai— |
Medanstream | Jenisboolean | KeperluanPilihan | Nilai & had | Lalaifalse |
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 |
Parametercontrol_scope | KontrakPerbualan teks; stream ialah nilai boolean dengan false sebagai lalai. |
Parameteroutput_modalities | Kontraktext |
Parameterhosted_operations | Kontrakfalse |
Parametermultimodal_input_binding | Kontraknull |
Alias kaedah: /chat/completions
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.00132 / 1K token Output · Token output $0.00506 / 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.00132 / 1K token Output · Token output $0.00506 / 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":"MAI-DS-R1","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="MAI-DS-R1", 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, 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 MAI-DS-R1
Alias laluan kaedah
/chat/completions
ID pemanggil berkaitan
Ailoot Ultra · Anthropic Messages POST /v1/messages MAI-DS-R1
MAI-DS-R1Pengenalan
MAI-DS-R1 ialah model DeepSeek-R1 yang dilatih lanjut oleh Microsoft untuk penaakulan teks, matematik, kod dan penyelidikan. Ia mengekalkan asas penaakulan R1 sambil menangani kekurangan respons dan memperhalus cara model mengendalikan topik sensitif.
- 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 MAI-DS-R1 | 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.00132 / 1K token Output · Token output $0.00506 / 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.00132 / 1K token Output · Token output $0.00506 / 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": "MAI-DS-R1",
"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': 'MAI-DS-R1', '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': 'MAI-DS-R1', '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 MAI-DS-R1
Alias laluan kaedah
/chat/completions
ID pemanggil berkaitan
FAQ · mai-ds-r1
- Apakah input dan hasil yang tersedia?
POST /v1/chat/completions·MAI-DS-R1:text→textPOST /v1/messages·MAI-DS-R1:text→json,sse- Apakah medan yang digunakan oleh permintaan?
POST /v1/chat/completions·MAI-DS-R1:model,messages,streamPOST /v1/messages·MAI-DS-R1:model,messages,max_tokens,stream- Apakah had yang terpakai?
POST /v1/chat/completions·MAI-DS-R1:messages.min_items:1