Reasoning
قابلیتهای استدلال پیشرفته با Responses API؛ توانایی مدل در نمایش فرایند استدلال داخلی با سطوح تلاش قابلتنظیم.
Responses API آشا از قابلیتهای استدلال پیشرفته پشتیبانی میکند و به مدل اجازه میدهد فرایند استدلال داخلی خود را با سطوح تلاش قابلتنظیم نشان دهد.
پیکربندی استدلال
رفتار استدلال را با پارامتر reasoning تنظیم کنید:
const response = await fetch('https://app.asha-ai.ir/v1/responses', {
method: 'POST',
headers: {
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/o4-mini',
input: 'What is the meaning of life?',
reasoning: {
effort: 'high'
},
max_output_tokens: 9000,
}),
});
const result = await response.json();
console.log(result);
import requests
response = requests.post(
'https://app.asha-ai.ir/v1/responses',
headers={
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
json={
'model': 'openai/o4-mini',
'input': 'What is the meaning of life?',
'reasoning': {
'effort': 'high'
},
'max_output_tokens': 9000,
}
)
result = response.json()
print(result)
curl -X POST https://app.asha-ai.ir/v1/responses
-H "Authorization: Bearer <ASHA_API_KEY>"
-H "Content-Type: application/json"
-d '{
"model": "openai/o4-mini",
"input": "What is the meaning of life?",
"reasoning": {
"effort": "high"
},
"max_output_tokens": 9000
}'
سطوح تلاش استدلال
پارامتر effort تعیین میکند مدل چقدر تلاش محاسباتی برای
استدلال صرف میکند:
| سطح تلاش | توضیح |
|---|---|
minimal | استدلال پایه با حداقل تلاش محاسباتی |
low | استدلال سبک برای مسائل ساده |
medium | استدلال متوازن برای پیچیدگی متوسط |
high | استدلال عمیق برای مسائل پیچیده |
نمونهٔ استدلال پیچیده
برای مسائل پیچیدهٔ ریاضی یا منطقی:
const response = await fetch('https://app.asha-ai.ir/v1/responses', {
method: 'POST',
headers: {
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/o4-mini',
input: [
{
type: 'message',
role: 'user',
content: [
{
type: 'input_text',
text: 'Was 1995 30 years ago? Please show your reasoning.',
},
],
},
],
reasoning: {
effort: 'high'
},
max_output_tokens: 9000,
}),
});
const result = await response.json();
console.log(result);
import requests
response = requests.post(
'https://app.asha-ai.ir/v1/responses',
headers={
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
json={
'model': 'openai/o4-mini',
'input': [
{
'type': 'message',
'role': 'user',
'content': [
{
'type': 'input_text',
'text': 'Was 1995 30 years ago? Please show your reasoning.',
},
],
},
],
'reasoning': {
'effort': 'high'
},
'max_output_tokens': 9000,
}
)
result = response.json()
print(result)
استدلال در بافتار گفتگو
استدلال را در گفتگوهای چندنوبته بگنجانید:
const response = await fetch('https://app.asha-ai.ir/v1/responses', {
method: 'POST',
headers: {
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/o4-mini',
input: [
{
type: 'message',
role: 'user',
content: [
{
type: 'input_text',
text: 'What is your favorite color?',
},
],
},
{
type: 'message',
role: 'assistant',
id: 'msg_abc123',
status: 'completed',
content: [
{
type: 'output_text',
text: "I don't have a favorite color.",
annotations: []
}
]
},
{
type: 'message',
role: 'user',
content: [
{
type: 'input_text',
text: 'How many Earths can fit on Mars?',
},
],
},
],
reasoning: {
effort: 'high'
},
max_output_tokens: 9000,
}),
});
const result = await response.json();
console.log(result);
import requests
response = requests.post(
'https://app.asha-ai.ir/v1/responses',
headers={
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
json={
'model': 'openai/o4-mini',
'input': [
{
'type': 'message',
'role': 'user',
'content': [
{
'type': 'input_text',
'text': 'What is your favorite color?',
},
],
},
{
'type': 'message',
'role': 'assistant',
'id': 'msg_abc123',
'status': 'completed',
'content': [
{
'type': 'output_text',
'text': "I don't have a favorite color.",
'annotations': []
}
]
},
{
'type': 'message',
'role': 'user',
'content': [
{
'type': 'input_text',
'text': 'How many Earths can fit on Mars?',
},
],
},
],
'reasoning': {
'effort': 'high'
},
'max_output_tokens': 9000,
}
)
result = response.json()
print(result)
استریمینگ استدلال
با استریمینگ، شکلگیری استدلال را بهصورت بلادرنگ ببینید:
const response = await fetch('https://app.asha-ai.ir/v1/responses', {
method: 'POST',
headers: {
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/o4-mini',
input: 'Solve this step by step: If a train travels 60 mph for 2.5 hours, how far does it go?',
reasoning: {
effort: 'medium'
},
stream: true,
max_output_tokens: 9000,
}),
});
const reader = response.body?.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value);
const lines = chunk.split('n');
for (const line of lines) {
if (line.startsWith('data: ')) {
const data = line.slice(6);
if (data === '[DONE]') return;
try {
const parsed = JSON.parse(data);
if (parsed.type === 'response.reasoning.delta') {
console.log('Reasoning:', parsed.delta);
}
} catch (e) {
// Skip invalid JSON
}
}
}
}
import requests
import json
response = requests.post(
'https://app.asha-ai.ir/v1/responses',
headers={
'Authorization': 'Bearer <ASHA_API_KEY>',
'Content-Type': 'application/json',
},
json={
'model': 'openai/o4-mini',
'input': 'Solve this step by step: If a train travels 60 mph for 2.5 hours, how far does it go?',
'reasoning': {
'effort': 'medium'
},
'stream': True,
'max_output_tokens': 9000,
},
stream=True
)
for line in response.iter_lines():
if line:
line_str = line.decode('utf-8')
if line_str.startswith('data: '):
data = line_str[6:]
if data == '[DONE]':
break
try:
parsed = json.loads(data)
if parsed.get('type') == 'response.reasoning.delta':
print(f"Reasoning: {parsed.get('delta', '')}")
except json.JSONDecodeError:
continue
پاسخ همراه با استدلال
هنگامی که استدلال فعال باشد، پاسخ شامل اطلاعات استدلال میشود:
JSON
response with reasoning
{
"id": "resp_1234567890",
"object": "response",
"created_at": 1234567890,
"model": "openai/o4-mini",
"output": [
{
"type": "reasoning",
"id": "rs_abc123",
"encrypted_content": "gAAAAABotI9-FK1PbhZhaZk4yMrZw3XDI1AWFaKb9T0NQq7LndK6zaRB...",
"summary": [
"First, I need to determine the current year",
"Then calculate the difference from 1995",
"Finally, compare that to 30 years"
]
},
{
"type": "message",
"id": "msg_xyz789",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Yes. In 2025, 1995 was 30 years ago. In fact, as of today (Aug 31, 2025), it's exactly 30 years since Aug 31, 1995.",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 15,
"output_tokens": 85,
"output_tokens_details": {
"reasoning_tokens": 45
},
"total_tokens": 100
},
"status": "completed"
}
بهترین روشها
- سطح تلاش مناسب انتخاب کنید: برای مسائل پیچیده از
highو برای کارهای ساده ازlowاستفاده کنید. - مصرف توکن را در نظر بگیرید: استدلال مصرف توکن را افزایش میدهد.
- از استریمینگ استفاده کنید: برای زنجیرههای طولانی استدلال، استریمینگ تجربهٔ کاربری بهتری فراهم میکند.
- بافتار کافی فراهم کنید: بافتار کافی در اختیار مدل بگذارید تا بتواند بهشکل مؤثر استدلال کند.
قدمهای بعدی
- فراخوانی ابزار را همراه با استدلال بررسی کنید
- با یکپارچگی جستوجوی وب آشنا شوید
- اصول کاربرد پایه را مرور کنید