claude-opus-4-20250514-thinking
Claude Opus 4 Thinking күрделі бағдарлама өзгерістеріне, ұзақ агенттік жұмыс барысына және зерттеуге бастапқы Opus 4 моделінің кеңейтілген ойлану режимін қолданады. Ол қолдау көрсетілетін құрал қадамдарының арасында пайымдап, мәтіндік нәтиже бермес бұрын күрделі тапсырмадағы дәлелдерді байланыстыра алады.
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
Claude Opus 4 Thinking бастапқы Claude Opus 4 моделіне кеңейтілген пайымдауды қолданады. Anthropic бұл буынды күрделі бағдарламалау жұмысына, зерттеуге, жазуға және көптеген қадам бойы бағытты сақтауды қажет ететін тапсырмаларға арнайды. Thinking атауы модельдің жауапқа қалай келетінін білдіреді; ол бастапқы Opus 4 моделін кейінгі Opus нұсқасына айналдырмайды.
Күрделі тапсырма бойы пайымдау
Claude Opus 4 қалыпты жауап режимін кеңейтілген ойлану режимімен біріктіреді. Кеңейтілген ойлануда жауап бермес бұрын мәселені ұзағырақ зерттей алады. Өндіруші күрделі тапсырмалармен ұзақ жұмыс істеуді негізгі артықшылық ретінде сипаттайды, әсіресе жеке сұрауларды шешуден гөрі тұжырымдар тізбегін байланыстыру қажет болғанда.
Зерттеу сұрағы үшін салыстырылатын материалдарды, олар негіздеуі тиіс шешімді және маңызды шарттарды беріңіз. Анықталған жайттарды, жорамалдар мен ашық сұрақтарды ажырататын, дәлелдерге негізделген жинақталған талдау сұраңыз. Жазу тапсырмасына аудиторияны, бастапқы материалды, қажетті құрылымды және нәтиже түсіндіруі тиіс тұжырымдарды қосыңыз. Бұлар нақты нәтижеге берілген уәде емес, модельдің құжатталған зерттеу және жазу мүмкіндіктерінің практикалық қолданылуы.
Код базасындағы өзгерістер
Anthropic күрделі кодты түсінуді, өңдеуді, жөндеуді және бірнеше файлға таралатын өзгерістерді атап көрсетеді. Модельге тиісті модульдерді, интерфейс талаптарын, күтілетін әрекетті және бар тесттерді не қате шығысын беріңіз. Сұралған өзгерістің ауқымын анықтап, ұсынылған түзетулерді қажет ететін тәуелділіктерді түсіндіруді сұраңыз.
Пайдалы инженерлік нәтиже үш нәрсені байланыстырады: мәселе себебін, өзара үйлесімді іске асыруды және шыққан әрекетті тексеру тәсілін. Қайта құрылымдауда қандай сыртқы интерфейстер мен байқалатын әрекеттер тұрақты қалуы тиіс екенін айтыңыз. Мүмкіндік жасағанда пайдаланушы жолын және оның сәтсіздік жағдайларын сипаттаңыз. Бұл модельдің ұзақ пайымдауын жай ғана ұзын жауапқа емес, жобаға пайдалы етеді.
Құралдар, қатар жұмыс істеу және жалғастыру
Бастапқы Claude 4 буыны Anthropic құжаттаған кеңейтілген ойлану жұмысында құрал шақыруларының арасында пайымдауды қосады. Модель құрал нәтижесін тексеріп, тәсілін қайта қарап, келесі әрекетті таңдай алады. Өндіруші құралдарды қатар пайдалануды және қолданба модель оқып, жаңарта алатын жергілікті файлдарды бергенде жұмыс жалғастығының жақсаруын да сипаттайды.
Бұл мүмкіндіктерді пайдаланатын агент үшін қолданба құралдарды беріп, сұралған әрекеттерді орындауы және нәтижелерін қайтаруы керек. Жад файлдары да қолданба ортасына жатады; олар байланыссыз әңгімелер арасында автоматты тасымалданатын шексіз қойма емес. Жұмыс барысын жобалағанда тиісті байқауларды модельге қайтарып, тапсырма мақсаты мен қабылдау критерийлерін қолжетімді сақтаңыз.
Визуалды талдау және мәтіндік шығыс
Claude Opus 4 визуалды талдауды да қолдайды. Экран суреттері, графиктер мен сызбалар мәтінмен бірге дәлел бере алады, ал модель жауабы мәтін күйінде қалады. Анық оқылатын суреттерді пайдаланып, түсіндірілуі тиіс байланыстарды көрсетіңіз. Тапсырма нақты санға не өлшемге байланысты болса, бастапқы мәндерді қосыңыз, себебі визуалды түсіндіру жуық болуы мүмкін.
Ailoot API тапсырмасы үшін қажет соңғы нәтижені көрсетіңіз: бірнеше файлды өзгерту ұсынысы, техникалық зерттеу, зерттеу қорытындыларын біріктіру немесе мұқият құрылымдалған құжат. Модель тәсіл таңдай алатындай дәлелдер мен шектеулерді қосыңыз. Өндіруші ұсынатын кеңейтілген ойланудың қысқаша мазмұны нәтижемен бірге түсініктеме береді, бірақ ол барлық пайымдаудың сөзбе-сөз жазбасы емес. Берілген кодты не талдауды тапсырма талаптарымен, соның ішінде әлі дәлел қажет ететін жорамалдармен салыстырып тексеріңіз.
Практикалық тапсырма
Практикалық тапсырма
Ағылшын тіліндегі техникалық мысал
Plan a coordinated order refactor
Review this proposed refactor. Module A emits {order_id, total_cents}; module B stores those fields; module C displays total_cents / 100. A developer proposes renaming only A to amount_cents. Identify affected contracts and propose a coordinated migration that preserves existing consumers, with checks for old and new records.Күтілетін нәтиже
A dependency map in text, a staged migration proposal and compatibility checks for each consumer.Нәтижені тексеру
Confirm the proposal covers B and C and does not silently reinterpret cents as whole currency units.Ailoot Ultra · OpenAI чаты POST /v1/chat/completions claude-opus-4-20250514-thinking
claude-opus-4-20250514-thinking
claude-opus-4-20250514-thinkingБастау
Claude Opus 4 Thinking күрделі бағдарлама өзгерістеріне, ұзақ агенттік жұмыс барысына және зерттеуге бастапқы Opus 4 моделінің кеңейтілген ойлану режимін қолданады. Ол қолдау көрсетілетін құрал қадамдарының арасында пайымдап, мәтіндік нәтиже бермес бұрын күрделі тапсырмадағы дәлелдерді байланыстыра алады.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Мәтін
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · OpenAI чаты POST /v1/chat/completions
- Кіріс
text- Шығыс
text- Шығыс пішімі
- json немесе SSE
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер claude-opus-4-20250514-thinking | Әдепкі— |
Өрісmessages | Түріmessage[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
Өрісmessages[].role | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Мысалдар: system, user, assistant, tool, function Шарттар: Бұл рөлдер бастапқы кодтағы үйлесімділік түрлерінде айқын көрсетілген; рөлдердің нақты жиыны әр модельге байланысты. Модельге байланысты | Әдепкі— |
Өрісmessages[].content | Түріstring|content_part[]|null | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].tool_calls | Түріtool_call[] | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].tool_call_id | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: role=tool; нақты қайтарылған ID мәнін пайдаланыңыз | Әдепкі— |
Өрісmessages[].name | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].reasoning_content | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: Модель пайымдауды пайдаланса, нақты қайтарылған пайымдауды қайта жіберіңіз | Әдепкі— |
Өрісmessages[].reasoning_details | Түріobject|array | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісmax_tokens | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
Өрісmax_completion_tokens | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
Өрісstream | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
Өрісstream_options.include_usage | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtemperature | Түріnumber | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtop_p | Түріnumber | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісstop | Түріstring|string[] | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtools | Түріfunction_tool[] | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtools[].type | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер function Модельге байланысты | Әдепкі— |
Өрісtools[].function.name | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Мына жағдайда қолданылады: функция құралы берілген | Әдепкі— |
Өрісtools[].function.description | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісtools[].function.parameters | ТүріJSON_schema | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісtool_choice | Түріstring|object | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісparallel_tool_calls | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісresponse_format | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісreasoning_effort | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісreasoning | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісservice_tier | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісinstructions | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Үйлесімділік өрісі | Әдепкі— |
Өрісfunctions | Түріfunction[] | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісfunction_call | Түріstring|object | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісprompt_cache_options | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісmodalities | Түріstring[] | ТалапМіндетті емес | Мәндер мен шектеулер text | Әдепкі— |
Өрісprovider | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Осы Ultra мәтіндік бағытында provider.options қабылданбайды | Әдепкі— |
Өрісcache_control.ttl | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Сұрау кэшінің нақты орындарында 1h қабылданбайды | Әдепкі— |
Кіріс материалдарының үйлесімдері
Мәтін · UTF8 мәтіні
messages[].content
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, messages |
Параметрmaterial_types | Параметр талаптарыtext |
Параметрmessages | Параметр талаптарыrole/content құрылымы бар хабарламалар жиымы |
Параметрfile_material | Параметр талаптарынақты UTF-8 құжаты сөзбе-сөз мәтін ретінде енгізіледі; файл ID-і болжанбайды |
Параметрoptional_controls | Параметр талаптарыstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Параметрcontrol_scope | Параметр талаптарымодельге байланысты; пайдаланушының функция құралдары қызмет жағында орындалатын құралдардан өзгеше |
Параметрoutput_modalities | Параметр талаптарыtext |
Параметрhosted_operations | Параметр талаптарыfalse |
Параметрmultimodal_input_binding | Параметр талаптарыnull |
Өмірлік цикл: synchronous_or_streamed
Модельдің дәл ID мәнін messages деректерімен бірге жіберіңіз.
Контекст ұзындығы шығыстың жоғарғы шегі емес.
Мәтіндік файл сөзбе-сөз мәтінді бере алады; кіріс суреттері, аудио және файл нысандары дәл байланыстыруды қажет етеді.
Тарифтер
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
Ailoot мөлшерлемелері
Баптаулар бойынша бағалар
| Баптау | Мөлшерлемелер кестесі | Төлем |
|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Төлем Кіріс · Кіріс токендері $0.03 / 1K токен Шығыс · Шығыс токендері $0.15 / 1K токен Кіріс · Кэшті оқу $0.0006 / 1K токен Кіріс · Кэшке жазу $0.0075 / 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": "claude-opus-4-20250514-thinking", "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='claude-opus-4-20250514-thinking',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='claude-opus-4-20250514-thinking',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")
Нәтижелерді алу және сақтау
Ailoot Ultra · OpenAI чаты
json немесе SSE
Барлық дайын нәтижені сақтау
Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.
Әр жауап нұсқасын оның мазмұнымен, құрал шақыруларымен және пайымдауымен бірге сақтаңыз. SSE өзгерістерін жауап нұсқасы мен құрал индексі бойынша жинап, соңғы аяқталу себебі мен пайдалану деректерін сақтаңыз.
Бастапқы жауапты тексеру қажет болса
Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ 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 claude-opus-4-20250514-thinking
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · claude-opus-4-20250514-thinking
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/chat/completions·claude-opus-4-20250514-thinking:text→text- Сұрау қандай өрістерді пайдаланады?
POST /v1/chat/completions·claude-opus-4-20250514-thinking:model,messages,stream,modalities,provider- Қандай шектеулер қолданылады?
POST /v1/chat/completions·claude-opus-4-20250514-thinking:messages.min_items:1