پرش به مطلب اصلی

حافظه نهان و استدلال

در Chat Completions دو قابلیت می‌توانند تجربه و هزینه را جدی تغییر دهند:

  • حافظه نهان برای پاسخ‌های تکراری یا مشابه.
  • استدلال برای مدل‌هایی که مسائل چندمرحله‌ای را بهتر حل می‌کنند.

این دو قابلیت مفیدند، اما باید آگاهانه فعال شوند. هر دو روی زمان پاسخ، مصرف توکن، هزینه و عیب‌یابی اثر می‌گذارند.

دو نوع حافظه نهان را جدا کنید​

وقتی درباره caching حرف می‌زنیم، دو مفهوم متفاوت داریم:

نوعتوضیح
حافظه نهان سمت ارائه‌دهندهبعضی ارائه‌دهنده‌ها بخشی از پرامپت یا ورودی تکراری را سبک‌تر پردازش می‌کنند.
حافظه نهان پاسخ در گدارAIگدارAI می‌تواند پاسخ کامل یک درخواست مناسب را ذخیره کند و در درخواست بعدی همان پاسخ را سریع‌تر برگرداند.

این دو را یکی فرض نکنید. تنظیم، اثر هزینه و محدودیت‌هایشان متفاوت است.

فعال‌کردن حافظه نهان پاسخ​

برای تنظیم حافظه نهان در هر درخواست، از سرآیند x-godarai-cache-config استفاده کنید.

نمونه simple:

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
"x-godarai-cache-config": "{\"type\":\"simple\",\"ttl\":600,\"namespace\":\"support\"}",
},
json={
"model": "openai:default:gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "چطور رمز عبورم را بازیابی کنم؟"
}
]
},
timeout=60,
)

response.raise_for_status()
print(response.json())

نمونه smart:

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
"x-godarai-cache-config": "{\"type\":\"smart\",\"ttl\":600,\"similarity_threshold\":0.9,\"namespace\":\"helpdesk\"}",
},
json={
"model": "openai:default:gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "روش بازیابی گذرواژه چیست؟"
}
]
},
timeout=60,
)

response.raise_for_status()
print(response.json())

انتخاب بین simple و smart​

حالتمناسب براینکته
simpleدرخواست‌های تقریباً یکسانقابل پیش‌بینی‌تر و سخت‌گیرانه‌تر است.
smartپرسش‌های مشابه با بیان متفاوتبه آستانه شباهت و کیفیت متن وابسته است.

برای شروع، simple امن‌تر و قابل آزمون‌تر است. بعد از اینکه رفتار را در گزارش رخدادها و سرآیندهای پاسخ دیدید، smart را روی سناریوهای کم‌ریسک‌تر آزمایش کنید.

چه درخواست‌هایی معمولاً از حافظه نهان عبور می‌کنند؟​

درخواست‌هایی از این جنس معمولاً برای حافظه نهان پاسخ مناسب نیستند یا از آن عبور می‌کنند:

  • stream: true
  • درخواست دارای tools
  • درخواست دارای tool_choice
  • ورودی چندرسانه‌ای
  • آخرین پیام غیرمتنی یا غیرکاربر
  • داده‌هایی که باید همیشه تازه و لحظه‌ای باشند

نکته آموزشی: حافظه نهان را برای پاسخ‌های قابل تکرار استفاده کنید، نه برای وضعیت سفارش، قیمت زنده، موجودی یا داده‌های حساس به زمان.

سرآیندهای پاسخ​

برای تحلیل رفتار حافظه نهان، این سرآیندها را در سرویس خود ثبت کنید:

سرآیندمعنی
x-godarai-cache-statusوضعیت‌هایی مثل hit، miss، bypass یا error.
x-godarai-cached-trace-idشناسه رد درخواست اصلی، وقتی پاسخ از حافظه نهان آمده باشد.
x-godarai-cache-similarity-scoreامتیاز شباهت در حالت smart.

این داده‌ها برای اعتماد به حافظه نهان ضروری‌اند. فقط سریع‌تر شدن پاسخ کافی نیست؛ باید بدانید چرا سریع‌تر شده است.

استدلال چیست؟​

بعضی مدل‌ها برای مسائل پیچیده می‌توانند زمان و توکن بیشتری صرف تحلیل کنند. در قراردادهای رایج، این رفتار با پارامترهایی مثل reasoning_effort یا فیلدهای خروجی مثل reasoning_content دیده می‌شود.

از استدلال استفاده کنید برای:

  • تحلیل چندمرحله‌ای.
  • برنامه‌ریزی.
  • استخراج پیچیده.
  • تصمیم‌گیری با چند شرط.
  • عامل‌هایی که ابزار صدا می‌زنند.

برای پرسش‌های ساده، استدلال عمیق معمولاً فقط هزینه و زمان پاسخ را بالا می‌برد.

نمونه reasoning_effort​

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
json={
"model": "openai:default:o4-mini",
"messages": [
{
"role": "user",
"content": "برای کاهش هزینه پاسخ‌های پرتکرار، یک برنامه سه‌مرحله‌ای پیشنهاد بده."
}
],
"reasoning_effort": "medium",
"max_tokens": 1200
},
timeout=60,
)

response.raise_for_status()
print(response.json())

مقدارهای رایج reasoning_effort به مدل و ارائه‌دهنده وابسته‌اند؛ مثل low، medium و high. همیشه با مقدار کمتر شروع کنید و فقط وقتی کیفیت بهتر می‌شود مقدار را بالا ببرید.

حافظه نهان و استدلال با هم​

این دو قابلیت مستقل‌اند، اما در عمل روی هم اثر می‌گذارند:

  • استدلال می‌تواند مصرف توکن و زمان پاسخ را افزایش دهد.
  • حافظه نهان می‌تواند درخواست‌های تکراری مناسب را کم‌هزینه‌تر کند.
  • اگر ابزار، پاسخ جریانی یا ورودی چندرسانه‌ای وارد شود، رفتار حافظه نهان تغییر می‌کند.

برای ارزیابی، این سناریوها را جداگانه بسنجید:

  • متن ساده بدون ابزار و بدون پاسخ جریانی.
  • متن ساده با استدلال.
  • استدلال همراه ابزار.
  • ورودی چندرسانه‌ای همراه استدلال.

مصرف و هزینه​

در پاسخ‌ها، فیلد usage را جدی بگیرید. وقتی استدلال یا حافظه نهان فعال است، فقط متن نهایی را نبینید؛ مصرف توکن، سرآیندهای حافظه نهان و گزارش رخدادها را کنار هم بررسی کنید.

برای محیط عملیاتی، بهتر است این سنجه‌ها را پایش کنید:

  • نرخ hit و miss.
  • زمان پاسخ قبل و بعد از فعال‌سازی حافظه نهان.
  • مصرف توکن در مدل‌های استدلالی.
  • خطاهای ناشی از ناسازگاری مدل با پارامترهای استدلال.

جمع‌بندی​

حافظه نهان برای کاهش هزینه و زمان پاسخ‌های تکراری مناسب است؛ استدلال برای مسئله‌هایی که واقعاً تحلیل چندمرحله‌ای می‌خواهند. هر دو را کوچک، قابل اندازه‌گیری و مرحله‌به‌مرحله فعال کنید تا رفتار گدارAI در محصول شما قابل اعتماد و قابل توضیح بماند.