پرش به محتوا
مفهوم‌ها

دما (Temperature) و Top-P در هوش مصنوعی؛ کِی پاسخ خلاق بخواهیم و کِی دقیق

دما، Top-P و سقف خروجی را بشناسید و برای هر کار، از استخراج داده تا ایده‌پردازی، عدد شروع درست را انتخاب کنید؛ در چت گیسو و در API.

تیم گیسو ۱۰ دقیقه مطالعه
دما (Temperature) و Top-P در هوش مصنوعی؛ کِی پاسخ خلاق بخواهیم و کِی دقیق

صاحب یک کافه، یک پرامپت ثابت برای معرفی منوی صبحانه می‌نویسد و دو بار پاسخ می‌گیرد: بار اول رسمی، بار دوم کمی بازیگوش و پر از ترکیب‌های تازه. توسعه‌دهنده‌ای هم همان درخواست استخراج داده از فاکتور را تکرار می‌کند و می‌بیند ترتیب جمله‌ها کمی عوض شده است. ریشهٔ این تفاوت، نمونه‌گیری (Sampling) است. در عمل، temperature در هوش مصنوعی همان تنظیم دمای مدل برای کنترل این انتخاب است.

نمونه‌گیری هسته‌ای (Top-P) هم دایرهٔ گزینه‌های مدل را تنگ یا باز می‌کند. این نوشته نشان می‌دهد دما (Temperature)، Top-P و سقف خروجی را برای کارهای دقیق، نوشتن خلاق، چت در گیسو و درخواست‌های API چطور تنظیم کنید.

temperature در هوش مصنوعی انتخاب بعدی مدل را تغییر می‌دهد

مدل زبانی پاسخ را یک‌باره نمی‌نویسد. در بیشتر مدل‌ها، پاسخ از زنجیره‌ای از توکن‌ها ساخته می‌شود. توکن (token) می‌تواند یک کلمه، بخشی از کلمه یا یک نشانه باشد. مدل در هر گام چند ادامهٔ محتمل می‌بیند و برای هرکدام یک احتمال می‌گذارد.

فرض کنید جمله با «برای تبلیغ این عطر، لحنی...» شروع شده است. ادامه‌های محتمل می‌توانند «لوکس»، «صمیمی»، «مینیمال» یا «احساسی» باشند. اگر احتمال «لوکس» از بقیه بیشتر باشد، مدل در حالت دقیق بیشتر به همان سمت می‌رود. وقتی دمای مدل را بالا می‌برید، گزینه‌های کم‌احتمال‌تر شانس بیشتری پیدا می‌کنند.

دمای پایین به معنی دانایی بیشتر مدل نیست. فقط انتخاب‌های مدل را محافظه‌کارتر می‌کند. اگر دادهٔ ورودی غلط باشد یا سؤال ابهام داشته باشد، دمای پایین هم می‌تواند پاسخ نادرست بسازد.

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

مدل فهرستی از ادامه‌های محتمل می‌سازد

تصویر ساده این است: مدل یک فهرست از نامزدهای بعدی دارد. کنار هر نامزد، احتمال می‌نویسد. دما شکل همین فهرست را عوض می‌کند. دمای پایین، نامزدهای پرامتیاز را پررنگ‌تر می‌کند. دمای بالا، فاصلهٔ میان گزینه‌ها را کمتر می‌کند و جواب متنوع‌تر می‌شود.

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

یک مثال کوتاه کمک می‌کند. اگر جملهٔ «عنوان این پست را …» نیمه‌کاره مانده باشد، با دمای پایین شاید مدل آن را با «کوتاه‌تر کنید» تمام کند. با دمای بالاتر، ادامه‌هایی مثل «به سبک تیتر مجله بنویسید» یا «با یک پرسش شروع کنید» هم شانس پیدا می‌کنند. هر دو پاسخ می‌توانند درست باشند، اما برای کار شما یکی مناسب‌تر است.

برای هر کار از این دما شروع کنید

تنظیمات مدل زبانی را با یک عدد ثابت برای همهٔ کارها نبندید. کار استخراج داده با کار نام‌گذاری محصول فرق دارد. جدول زیر نقطهٔ شروع می‌دهد، نه قانون قطعی. بهتر است چند درخواست واقعی از کار خودتان را نگه دارید و هر تنظیم را روی همان‌ها بسنجید.

کاربازهٔ پیشنهادی دمادلیل
استخراج داده، JSON و کدنویسی۰ تا ۰٫۳پاسخ باید پایدار، قابل‌خواندن برای ماشین و کم‌حاشیه باشد.
پاسخ به مشتری و خلاصه‌سازی۰٫۳ تا ۰٫۶کمی انعطاف در جمله‌بندی لازم است، اما نباید از متن دور شود.
مقاله، کپشن و متن تبلیغاتی۰٫۷ تا ۱تنوع واژه و زاویهٔ بیان مهم می‌شود.
ایده‌پردازی نام، شعار و موضوعحدود ۱ یا کمی بیشترگزینه‌های غیرمنتظره بیشتر دیده می‌شوند و فهرست خشک نمی‌ماند.

برای نمونه، اگر می‌خواهید متن فاکتور را به JSON تبدیل کنید، دمای پایین بگذارید و قالب را دقیق بنویسید. چنین درخواستی را کپی کنید:

متن زیر را به JSON تبدیل کنید.
فقط JSON بدهید، بدون توضیح.
کلیدها: customer_name, invoice_date, items, total_amount
اگر مقداری در متن نبود، null بگذارید.

متن فاکتور:
...

در مقابل، برای کپشن اینستاگرام فروشگاه لباس، دمای بالاتر بهتر جواب می‌دهد:

برای معرفی کالکشن پاییزی یک مزون زنانه، ۵ کپشن کوتاه بنویسید.
لحن: شیک، گرم، غیرکلیشه‌ای
هر کپشن حداکثر ۲ جمله باشد.
از ادعای اغراق‌آمیز استفاده نکنید.

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

Top-P فهرست انتخاب‌ها را کوتاه می‌کند

پاسخ کوتاه به «top_p چیست» این است: Top-P تعیین می‌کند مدل فقط از چه سهمی از گزینه‌های محتمل انتخاب کند. وقتی مقدار آن را پایین می‌آورید، مدل نامزدهای دورتر را کنار می‌گذارد. وقتی آن را نزدیک به ۱ نگه می‌دارید، برش کمتری می‌زند و دما نقش اصلی را بازی می‌کند.

در عمل، هم‌زمان با دما و Top-P بازی نکنید. یکی را تغییر دهید و دیگری را ثابت نگه دارید. اگر هر دو را عوض کنید، نمی‌فهمید تفاوت خروجی از کجا آمده است. در استودیو هم همین منطق به کار می‌آید: برای تست سبک پاسخ، اول دما را تغییر دهید و Top-P را دست‌نخورده بگذارید.

برای بیشتر کارهای روزمره، Top-P نزدیک ۱ نقطهٔ خوبی برای شروع است. بعد اگر پاسخ‌ها زیادی پراکنده شدند، می‌توانید آن را کمی پایین‌تر بیاورید. اما اگر فقط دنبال پاسخ دقیق‌تر هستید، معمولاً کاهش دما اثر روشن‌تری دارد.

طول خروجی سقف پاسخ و مصرف اعتبار را کنترل می‌کند

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

در API، وقتی پاسخ به دلیل سقف توکن قطع شود، معمولاً مقدار finish_reason برابر length می‌آید. این علامت یعنی مدل هنوز می‌خواست ادامه دهد، اما به سقف رسیده است. برای گزارش، مقاله و پاسخ‌های چندبخشی، سقف را از ابتدا واقع‌بینانه‌تر بگذارید.

چند پیچ دیگر هم ارزش شناختن دارند. جریمهٔ تکرار (Frequency Penalty) احتمال تکرار عبارت‌های استفاده‌شده را کم می‌کند. جریمهٔ حضور (Presence Penalty) مدل را به آوردن موضوع‌های تازه‌تر هل می‌دهد. Seed برای تکرارپذیری بهتر به کار می‌آید، البته وقتی مدل و تنظیمات ثابت باشند. توالی توقف (Stop Sequence) هم به مدل می‌گوید کجا نوشتن را تمام کند.

برای یک کار جدی، یک فایل کوچک از درخواست‌های ثابت بسازید. هر بار فقط یک تنظیم را عوض کنید. سپس خروجی‌ها را کنار هم بگذارید و بر اساس معیار خودتان انتخاب کنید، نه بر اساس حس لحظه‌ای.

در گیسو این تنظیم‌ها در ساده و حرفه‌ای جدا شده‌اند

در حالت سادهٔ چت گیسو، لازم نیست عدد دما را مستقیم وارد کنید. گزینهٔ «سبک پاسخ» سه حالت دارد: «دقیق» با دمای ۰٫۲، «متعادل» با دمای ۰٫۷ و «خلاق» با دمای ۱٫۰. برای بیشتر کاربران، همین سه حالت شروع تمیزی می‌دهد.

همان‌جا «طول پاسخ» هم سقف خروجی را ساده می‌کند. «کوتاه» حدود ۸۰۰ توکن، «معمولی» حدود ۲۵۰۰ توکن و «بلند» حدود ۸۰۰۰ توکن می‌دهد. اگر جواب‌ها زیادی کوتاه می‌شوند، قبل از دستکاری دما، این بخش را بررسی کنید.

حالت «حرفه‌ای» کنترل‌های کامل‌تری نشان می‌دهد: دما، Top-P، حداکثر توکن خروجی، عمق استدلال، جریمه‌های تکرار و حضور، قالب پاسخ، Seed، توالی‌های توقف و دستور سیستمی. از صفحهٔ تنظیمات گیسو هم می‌توانید دربارهٔ خودتان و سبک پاسخ‌ها نکته‌های ثابت بنویسید تا مدل در چت‌ها آن‌ها را بخواند.

برای مدل‌های استدلالی که دما نمی‌پذیرند، کنترل دما و Top-P نمایش داده نمی‌شود. این پنهان شدن نشانهٔ خطا نیست. یعنی آن مدل از مسیر دیگری برای کنترل پاسخ استفاده می‌کند.

مدل‌های استدلالی را با عمق فکر کردن کنترل کنید

بعضی مدل‌های استدلالی، به‌جای دما، با میزان فکر کردن کنترل می‌شوند. در گیسو، خانوادهٔ gpt-5، gemini-3.8-flash، deepseek-v4-pro و openrouter/anthropic/claude-sonnet-5 توان استدلال دارند. در چنین مدل‌هایی، خروجی لزوماً با بالا و پایین کردن دما قابل هدایت نیست.

برای مسئلهٔ ریاضی، تحلیل حقوقی یک متن یا برنامه‌ریزی مرحله‌ای، معمولاً بهتر است به‌جای خلاقیت زبانی، عمق استدلال را تنظیم کنید. در حالت سادهٔ گیسو، «فکر کردن» با گزینه‌های سریع، معمولی و عمیق دیده می‌شود. در حالت حرفه‌ای، «عمق استدلال» با سطح‌های حداقلی، کم، متوسط و زیاد کنترل می‌شود.

اگر بین مدل معمولی و مدل استدلالی مانده‌اید، اول نوع کار را مشخص کنید. نوشتن کپشن و بازنویسی معمولاً به دما حساس‌تر است. حل مسئلهٔ چندمرحله‌ای بیشتر به استدلال وابسته می‌شود. برای جزئیات بیشتر، راهنمای مدل‌های استدلالی مسیر انتخاب را روشن‌تر می‌کند.

برای API یک آزمایش ثابت بسازید

در API، تنظیمات را با حدس زدن نهایی نکنید. یک مجموعهٔ کوچک از ورودی‌های واقعی بسازید، خروجی مطلوب را تعریف کنید و هر بار فقط یک پارامتر را تغییر دهید. برای شروع، دما را پایین، Top-P را روی ۱ و Seed را ثابت بگذارید.

نمونهٔ زیر با کتابخانهٔ رسمی OpenAI کار می‌کند و فقط آدرس پایه را به گیسو تغییر می‌دهد. کلید را از متغیر محیطی بخوانید و آن را در کد سمت کاربر یا اپ موبایل نگذارید. جزئیات بیشتر درخواست‌ها در مستندات چت API آمده است.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GISOO_API_KEY"],
    base_url="https://gisoo.pro/api/v1",
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    temperature=0.2,
    top_p=1,
    max_tokens=600,
    seed=42,
    messages=[
        {"role": "system", "content": "You are a precise Persian assistant."},
        {"role": "user", "content": "سه نکتهٔ کلیدی این متن را خلاصه کنید: ..."},
    ],
)

message = response.choices[0].message.content
finish_reason = response.choices[0].finish_reason

print(message)
print("finish_reason:", finish_reason)

برای خروجی JSON، دما را پایین نگه دارید و قالب را روشن بنویسید. برای ایده‌پردازی، همان کد را با دمای بالاتر تکرار کنید، اما Top-P را ثابت بگذارید. اگر finish_reason برابر length شد، اول max_tokens را بازبینی کنید، نه دما را.

اولین تنظیم پیشنهادی برای امروز ساده است: یک درخواست پرتکرار خودتان را بردارید، سه بار با دمای ۰٫۲، ۰٫۷ و ۱ اجرا کنید و تفاوت را یادداشت کنید. بعد همان تنظیم را روی چند نمونهٔ واقعی دیگر امتحان کنید. وقتی الگو را دیدید، عددها از حالت اسلایدرهای مبهم خارج می‌شوند و به ابزار کنترل کار شما تبدیل می‌شوند.

امتحان در گیسو چت با هوش مصنوعی حساب رایگان است؛ برای استفاده از مدل‌ها اعتبار لازم دارید. برای برنامه‌نویس‌ها مستندات وب‌سرویس (API) یک کلید و یک نشانی برای صدها مدل از شرکت‌های مختلف، سازگار با کتابخانهٔ OpenAI.

پرسش‌های پرتکرار

دمای مدل را چند بگذارم؟

برای کار دقیق از ۰ تا ۰٫۳ شروع کنید. برای پاسخ‌های معمولی و خلاصه‌سازی، ۰٫۳ تا ۰٫۶ مناسب‌تر است. برای کپشن، مقاله و ایده‌پردازی، ۰٫۷ تا حدود ۱ را امتحان کنید.

top_p چیست؟

Top-P دایرهٔ گزینه‌هایی را مشخص می‌کند که مدل اجازه دارد از میان آن‌ها انتخاب کند. مقدار پایین‌تر، گزینه‌های کم‌احتمال‌تر را کنار می‌گذارد. در بیشتر تست‌ها، بهتر است اول دما را تغییر دهید و Top-P را ثابت نگه دارید.

چرا هوش مصنوعی به یک سؤال دو جواب متفاوت می‌دهد؟

چون مدل هنگام ساخت پاسخ از نمونه‌گیری استفاده می‌کند. حتی با یک پرامپت ثابت، چند ادامهٔ محتمل وجود دارد. دما، Top-P و گاهی Seed روی این تفاوت اثر می‌گذارند.

max_tokens یعنی چه؟

max_tokens سقف طول پاسخ خروجی را تعیین می‌کند. اگر سقف کم باشد، جواب ممکن است وسط جمله قطع شود و در API مقدار finish_reason برابر length برگردد. این تنظیم را بر اساس نوع خروجی انتخاب کنید، نه بر اساس دما.

نوشتهٔ تیم گیسو همهٔ مطالب وبلاگ خوراک RSS