AI для початківцівПосібник
Системний промпт і температура: що вони роблять і як їх налаштувати
Що роблять системне повідомлення і температура в запиті, сумісному з OpenAI, з прикладами Python і curl, які можна надіслати моделі CheapTokens.

На цій сторінці
Системний промпт — це повідомлення з роллю system, яке каже моделі, як поводитися в кожній відповіді: ким вона є, який формат використовувати, чого уникати. Температура — це число, зазвичай від 0 до 2 (діапазон залежить від моделі), яке визначає, наскільки може варіюватися формулювання: низькі значення дають сфокусовані, повторювані відповіді, високі — більш різноманітні. Обидва параметри входять до одного запиту Chat Completions, який ви надсилаєте на https:/.
Далі: що таке кожен із них, з яких значень почати та запит, який можна виконати в Python або curl. Якщо ви ще не надсилали запит, почніть із першого запиту до API з CheapTokens.
Що таке системний промпт?#
Запит чату — це список повідомлень, і кожне повідомлення має роль. Довідник Chat Completions перелічує чотири: system, user, assistant і tool (довідник DeepSeek API, перевірено 22 жовтня 2026 року). Для першого запиту потрібні три:
system— постійні інструкції від вас, розробника. Модель сприймає їх як правила розмови.user— те, що людина запитує або надає в цьому ході.assistant— попередні відповіді моделі. Ви додаєте їх самостійно, коли продовжуєте розмову.
Системне повідомлення потребує role зі значенням system та content як рядка. Поле name необов'язкове.
"messages": [
{"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."}
]Системне повідомлення йде першим. Повідомлення користувача — це фактичне завдання.
Як написати корисний системний промпт#
- Скажіть, що робить модель, одним реченням: "Ви редактор", "Ви класифікуєте звернення до підтримки".
- Вкажіть формат виводу: "Поверніть лише переписаний текст", "Відповідайте двома реченнями", "Відповідайте валідним JSON".
- Давайте правила короткими, прямими реченнями. Кілька чітких рядків працюють краще, ніж один довгий абзац.
- Тримайте його коротким. Системний промпт надсилається з кожним запитом і зараховується як вхідні токени, тому за довгий платите щоразу. Як тарифікуються вхід і вихід, описано в вхідні та вихідні токени.
Що робить температура?#
Модель обирає кожен наступний токен із набору ймовірних кандидатів. Температура контролює, наскільки суворо вона дотримується найімовірнішого. Згідно з довідником DeepSeek API (перевірено 22 жовтня 2026 року), temperature приймає значення від 0 до 2 зі значенням за замовчуванням 1: вищі значення дають більш випадковий вивід, нижчі — більш сфокусований, детермінований. Діапазони відрізняються між моделями: DeepSeek документує 0–2, Z.ai документує 0–1 для GLM-5.3 (обидва перевірено 22 жовтня 2026 року), тому значення від 0 до 1 безпечні для обох. Перевірте діапазон для вашої моделі в документації.
Початкові значення, які працюють для більшості завдань. Це орієнтири, а не гарантії:
Прокрутіть таблицю праворуч →
| Завдання | Початкове значення |
|---|---|
| Витяг, класифікація, код, суворі формати | 0 до 0.3 |
| Питання-відповіді, підсумки, переписування | 0.3 до 0.7 |
| Мозковий штурм, назви, творчий текст | 0.8 до 1 |
Три речі, які варто знати:
- Низька температура робить відповіді більш повторюваними, але не ідентичними. Не покладайтеся на побайтово однакові відповіді.
- Змінюйте температуру або top_p, але не обидва. Це рекомендація DeepSeek;
top_p— другий параметр вибірки зі значенням за замовчуванням 1. Не чіпайте його, поки вчитеся. - Деякі режими ігнорують температуру. Довідник DeepSeek каже, що температура не має ефекту в режимі мислення, і що
top_pфіксований на 1.0 у режимі без мислення. Якщо ви змінюєте значення і не бачите різниці, спершу перевірте режим моделі.
Надішліть запит з обома параметрами#
Встановіть ключ як змінну середовища, щоб він ніколи не потрапив у код (див. що таке API-ключ і як його безпечно зберігати). Візьміть точний ідентифікатор моделі з документації CheapTokens: різні провайдери називають ту саму модель по-різному. У цьому прикладі використовується MiniMax-M2.7.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[
{"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."},
],
temperature=0.3,
max_tokens=1000,
)
print(response.choices[0].message.content)
print(response.choices[0].finish_reason)Той самий запит із curl:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "system", "content": "You are an editor. Rewrite the user'\''s text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."}
],
"temperature": 0.3,
"max_tokens": 1000
}'Що ви маєте побачити: коротшу, дружнішу версію речення та stop як finish_reason. Якщо finish_reason дорівнює length, відповідь досягла ліміту max_tokens; див. чому відповідь AI обривається на півслові.
Подивіться на температуру в дії#
Найкращий спосіб зрозуміти температуру — поставити те саме питання кілька разів. Цей цикл надсилає один короткий запит тричі з температурою 0 і тричі з температурою 1, використовуючи client з прикладу вище:
for temp in (0, 1):
print("temperature", temp)
for _ in range(3):
r = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[
{"role": "system", "content": "Answer with one word."},
{"role": "user", "content": "Name a fruit."},
],
temperature=temp,
max_tokens=500,
)
print(" ", r.choices[0].message.content)При 0 три рядки зазвичай однакові; при 1 ви зазвичай побачите більше різних слів. Моделі, які міркують перед відповіддю, можуть витрачати частину max_tokens на ці міркування, тому тримайте ліміт щедрим навіть для відповіді одним словом. Потім змініть лише системний промпт (наприклад, "Відповідай одним словом французькою") і запустіть знову: правила в системному повідомленні діють за будь-якої температури.
Такі експерименти невеликі. Для приблизної оцінки ось вартість 100 запитів приблизно по 120 вхідних і 80 вихідних токенів кожен (приклад робочого навантаження; кількість токенів залежить від ваших промптів):
| Модель | Вхід $/1М | Вихід $/1М | За запит | 100 запитів | OpenRouter, 100 запитів |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0000056 | $0.00056 | $0.0011 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0000098 | $0.00098 | $0.0018 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000018 | $0.0018 | $0.0132 |
120 вхідних і 80 вихідних токенів на запит. Ціни за 1 млн токенів актуальні та змінюються разом із нашими тарифами; стовпець OpenRouter показує довідкові ціни для того самого навантаження.
На якій моделі спробувати#
- MiniMax-M2.7 — хороший перший вибір для багатьох коротких тестових запитів, і ви можете повторно використовувати той самий системний промпт, щоб порівняти відповіді: контекст 180K, до 8 192 вихідних токенів, дешевше за довідкову ціну OpenRouter з обох боків. Поточна ціна: вхід $0.05, вихід $0.15 за 1M токенів.
Один баланс покриває їх усі, тому перемикання моделі — це зміна model в одному рядку. Усі поточні ціни на сторінці цін.
Якщо не працює#
- 401 або помилка автентифікації: ключ відсутній, введений неправильно або змінна середовища не встановлена в цьому терміналі. Перевірте
echo $CHEAPTOKENS_.API_ KEY - Модель не знайдено: скопіюйте ідентифікатор моделі з документації точно, включно з префіксом.
- Помилка про недійсний параметр: тримайте
temperatureу межах діапазону, який підтримує ваша модель (0 до 1 безпечно), і передавайте числа, а не рядки. - Модель ігнорує ваше правило: зробіть його одним коротким, прямим реченням, перемістіть на початок системного повідомлення та повторіть точний формат, який хочете.
- Зміна температури нічого не змінює: можливо, ви використовуєте режим, який її ігнорує (див. вище), або відповідь настільки обмежена ("одне слово", "валідний JSON"), що варіацій мало.
- Відповідь обрізана: збільште
max_tokens; посібник із max_tokens пояснює як.
Наступний крок#
Покладіть одне чітке правило в системне повідомлення, виберіть температуру з таблиці та запустіть наведений вище цикл для свого завдання. Коли результат вас влаштує, тримайте системний промпт коротким і повторно використовуйте його. Отримайте ключ і перевірте поточні ціни в документації.



