MiniMax: MiniMax M2-her
MiniMax M2-her هو نموذج نصي فقط لتقمص الشخصيات والحوار المدفوع بالقصة والمحادثات متعددة الجولات. تشكّل صيغ الأدوار والرسائل النموذجية المخصصة جانبي التفاعل، مع سياق لدى المنتج يبلغ 64K وحد أقصى للإكمال 2,048 رمز.
- Ailoot Ultra · محادثة OpenAI
POST /v1/chat/completionsM2-her - Ailoot Ultra · رسائل Anthropic
POST /v1/messagesM2-her
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
MiniMax M2-her هو نموذج MiniMax النصي المركّز على الحوار لتقمص الأدوار ومحادثات الشخصيات والتفاعل المدفوع بالقصة. وهو ملف منفصل عن نموذج MiniMax M2 العام الموجّه للبرمجة والوكلاء. يطوّره المصنّع حول عوالم خيالية متماسكة وتقدم نشط للقصة ومواءمة تفضيلات المستخدم الحوارية. مدخلاته ومخرجاته نصية؛ ولا يدعم الدليل المخصص المدخلات المختلطة من نص وصورة.
عرّف العالم وكلا الدورين
تتضمن صيغة محادثة المنتج أكثر من رسائل system وuser وassistant المعتادة. يعرّف دور system هوية النموذج وشخصيته وسلوكه. ويعرّف دور user_system شخصية المستخدم أو هويته التمثيلية، بينما يحدد group السيناريو أو مجموعة المحادثة. وضّح هذه الفروق عندما تشمل القصة أشخاصاً عدة أو معارف مختلفة أو علاقة معينة.
أعطِ النموذج البيئة ودوافع الشخصية والحقائق التي يجب أن تبقى صحيحة. صِف من يتحكم في أفعال المستخدم والخيارات التي ينبغي أن تظل مفتوحة للرد. مثال موجز مشهد: «تابع بدور أمين الأرشيف، وحافظ على اللغز القائم، وقدّم دليلاً جديداً واحداً دون تقرير رد فعل شخصيتي». يجهّز ذلك تبادلاً متجاوباً بدلاً من مطالبة النموذج بكتابة جانبي التفاعل.
الأمثلة والأسلوب
يدعم M2-her رسائل sample_message_user وsample_message_ai لإظهار نمط الحوار المطلوب. يوصي المصنّع باستخدام ما بين مثال واحد وثلاثة أمثلة موجزة. استخدمها لترسيخ الصوت والإيقاع وعلاقة السرد بالحوار، مع تجنب مثال طويل يستهلك السياق دون توضيح الأسلوب. تُحتسب الأمثلة ضمن ميزانية المدخلات مثل سائر الرسائل.
يركز اتجاه تطوير MiniMax على هوية الشخصية وقواعد العالم وحركة الحبكة المتنوعة وحرية المستخدم في اتخاذ القرار. حدّد الإيقاع المقصود عندما يهم، مثل تبادل هادئ أو كشف تدريجي أو تعقيد جديد. للتنقيح، حدّد العبارة أو الحدث الدقيق الذي يخل بالشخصية أو التسلسل الزمني، واطلب تصحيحاً يحافظ على بقية المشهد.
حافظ على سياق المحادثة
يشمل المسار الموثّق سجل المستخدم والمساعد كاملاً بترتيب زمني للحوار متعدد الجولات. يوفّر هذا السجل للاستجابة التالية أدلة على الأحداث السابقة والعلاقات الراسخة. أبقِ الأسماء الأساسية والتطورات الحديثة صريحة عند إعداد قصة مستمرة. يُقدّم سجل السياق إلى النموذج؛ ولا ينبغي الخلط بينه وبين ذاكرة غير محدودة خارج المحادثة.
يستخدم بحث تقمص الأدوار لدى المصنّع توليف الحوار وتعلّم التفضيلات عبر الإنترنت لتحسين التنوع والاستمرارية والتجاوب. تصف أساليب التدريب هذه نموذج المنتج، ولا تضمن خلو كل قصة فردية من الأخطاء. راجع ما إذا كانت الاستجابة تنسب الحوار إلى الشخصية الصحيحة وتحترم القواعد الفيزيائية أو الخيالية للبيئة.
الحدود والفقرة الناتجة
يذكر دليل M2-her المخصص سياقاً 64K وحداً أقصى للإكمال 2,048 رمز. ويوثّق أيضاً المخرجات المتدفقة وإعدادات أخذ العينات الافتراضية temperature 1.0 وtop-p 0.95. اختر طول استجابة يلائم جولة في المحادثة؛ فقد تزيح فقرة طويلة جداً قرار المستخدم التالي أو تُقطع بسبب ميزانية الإكمال.
النتيجة المفيدة رد شخصية أو فقرة سردية أو مشهد مستكمل يلائم البيئة المقدمة ويدعو إلى التفاعل التالي. تحقّق من وجهة النظر وحرية الشخصية واتساق الإحالات والنهاية المطلوبة. تظل صيغة تقمص الأدوار المسماة وحدود M2-her منفصلة عن نماذج اللغة والرؤية والوسائط الأخرى لدى MiniMax.
Ailoot Ultra · محادثة OpenAI POST /v1/chat/completions M2-her
M2-herالبداية
MiniMax M2-her هو نموذج نصي فقط لتقمص الشخصيات والحوار المدفوع بالقصة والمحادثات متعددة الجولات. تشكّل صيغ الأدوار والرسائل النموذجية المخصصة جانبي التفاعل، مع سياق لدى المنتج يبلغ 64K وحد أقصى للإكمال 2,048 رمز.
- المدخلات المقبولة
- النص
- النتائج
- النص
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · محادثة OpenAI POST /v1/chat/completions
- الإدخال
text- الإخراج
text- صيغة الإخراج
- json أو SSE
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود M2-her | القيمة الافتراضية— |
الحقلmessages | النوعmessage[] | المتطلبمطلوب | القيم والحدود الحد الأدنى للعناصر: 1 | القيمة الافتراضية— |
الحقلmessages[].role | النوعstring | المتطلبمطلوب | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
الحقلmessages[].content | النوعstring | المتطلباختياري | القيم والحدود ينطبق عندما: محادثة نصية | القيمة الافتراضية— |
الحقلstream | النوعboolean | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |
تركيبات مواد الإدخال
النص · نص UTF8
messages[].content
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, messages |
المعلمةmaterial_types | المواصفاتtext |
المعلمةmessages | المواصفاتمصفوفة رسائل ببنية role/content |
المعلمةfile_material | المواصفاتمستند UTF-8 الفعلي مُدرج كنص حرفي؛ لا يُستنتَج معرّف ملف |
المعلمةoptional_controls | المواصفاتstream |
المعلمةcontrol_scope | المواصفاتمحادثة نصية؛ stream قيمة منطقية، وقيمتها الافتراضية false. |
المعلمةoutput_modalities | المواصفاتtext |
المعلمةhosted_operations | المواصفاتfalse |
المعلمةmultimodal_input_binding | المواصفاتnull |
الأسماء البديلة للطريقة: /chat/completions
دورة الحياة: synchronous_or_streamed
أرسل معرّف النموذج الدقيق مع messages.
طول السياق ليس حدًا أقصى للإخراج.
يمكن لملف نصي تقديم نص حرفي؛ وتحتاج مدخلات الصور/الصوت/كائنات الملفات إلى ربط دقيق.
الباقات
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات Ailoot
الأسعار حسب الإعدادات
| الإعدادات | جدول التعرفة | الرسوم |
|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الرسوم الإدخال · رموز الإدخال $0.0006 / 1K من الرموز الإخراج · رموز الإخراج $0.0024 / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت $0 / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت $0 / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة — / 1K من الرموز |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · محادثة OpenAI
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"M2-her","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="M2-her", 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"))
استلام النتائج وحفظها
Ailoot Ultra · محادثة OpenAI
json أو SSE
الاحتفاظ بكل النتائج المكتملة
احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.
احتفظ بكل اختيار ومحتواه واستدعاءات أدواته واستدلاله. في SSE، جمّع التحديثات بحسب فهرس الاختيار/الأداة، واحتفظ بسبب الإنهاء النهائي والاستخدام.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلchoices[].index | النوعinteger |
الحقلchoices[].message.content | النوعstring|null |
الحقلchoices[].message.tool_calls | النوعtool_call[] |
الحقلchoices[].message.reasoning_content | النوعstring |
الحقلchoices[].message.reasoning_details | النوعobject|array |
الحقلchoices[].finish_reason | النوعstring|null |
الحقلusage | النوعobject |
الأخطاء والخطوات التالية
| الاستجابة | الشرط | الخطوة التالية |
|---|---|---|
الاستجابة400 · invalid_request_error | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra M2-her
الأسماء البديلة لمسارات الطرائق
/chat/completions
معرّفات النماذج ذات الصلة IDs
Ailoot Ultra · رسائل Anthropic POST /v1/messages M2-her
M2-herالبداية
MiniMax M2-her هو نموذج نصي فقط لتقمص الشخصيات والحوار المدفوع بالقصة والمحادثات متعددة الجولات. تشكّل صيغ الأدوار والرسائل النموذجية المخصصة جانبي التفاعل، مع سياق لدى المنتج يبلغ 64K وحد أقصى للإكمال 2,048 رمز.
- المدخلات المقبولة
- النص
- النتائج
- json · sse
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · رسائل Anthropic POST /v1/messages
- الإدخال
text- الإخراج
json,sse- صيغة الإخراج
- JSON أو SSE
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود M2-her | القيمة الافتراضية— |
الحقلmessages | النوعmessage[] | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
الحقلmessages[].role | النوعstring | المتطلبمطلوب | القيم والحدود user, assistant | القيمة الافتراضية— |
الحقلmessages[].content | النوعstring | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
الحقلmax_tokens | النوعinteger | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
الحقلstream | النوعboolean | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |
تركيبات مواد الإدخال
النص · نص UTF-8
سلسلة نصية messages[].content
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, messages, max_tokens |
المعلمةoptional_controls | المواصفاتstream |
المعلمةmaterial_types | المواصفاتtext |
المعلمةtext_file_material | المواصفاتاقرأ مستند UTF-8 الفعلي وضع نصه في الإدخال المحدد أو السلسلة النصية لمحتوى الرسالة. |
دورة الحياة: synchronous_or_streamed
الباقات
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات Ailoot
الأسعار حسب الإعدادات
| الإعدادات | جدول التعرفة | الرسوم |
|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الرسوم الإدخال · رموز الإدخال $0.0006 / 1K من الرموز الإخراج · رموز الإخراج $0.0024 / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت $0 / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت $0 / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة — / 1K من الرموز |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · رسائل Anthropic
{
"model": "M2-her",
"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': 'M2-her', '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': 'M2-her', '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))
استلام النتائج وحفظها
Ailoot Ultra · رسائل Anthropic
JSON أو SSE
الاحتفاظ بكل النتائج المكتملة
احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.
احتفظ بكل كتل المحتوى وتوقيعات التفكير ومعرّفات استخدام الأدوات الفعلية. جمّع جميع تحديثات كتل SSE؛ فأول كتلة نصية ليست الإخراج الكامل.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلid | النوعstring |
الحقلmodel | النوعstring |
الحقلcontent[] | النوعtext|thinking|tool_use|other content block |
الحقلstop_reason | النوعstring|null |
الحقلusage | النوعobject |
الأخطاء والخطوات التالية
| الاستجابة | الشرط | الخطوة التالية |
|---|---|---|
الاستجابة400 · invalid_request_error | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra M2-her
الأسماء البديلة لمسارات الطرائق
/chat/completions
معرّفات النماذج ذات الصلة IDs
FAQ · MiniMax: MiniMax M2-her
- ما المدخلات والنتائج المتاحة؟
POST /v1/chat/completions·M2-her:text→textPOST /v1/messages·M2-her:text→json,sse- ما الحقول التي يستخدمها الطلب؟
POST /v1/chat/completions·M2-her:model,messages,streamPOST /v1/messages·M2-her:model,messages,max_tokens,stream- ما الحدود المطبقة؟
POST /v1/chat/completions·M2-her:messages.min_items:1