กลับไปที่บล็อก

AI สำหรับผู้เริ่มต้นคู่มือ

System prompt และ temperature: ทำอะไรและตั้งค่าอย่างไร

ข้อความ system และ temperature ทำอะไรในคำขอที่เข้ากันได้กับ OpenAI พร้อมตัวอย่าง Python และ curl ที่คุณส่งไปยังโมเดล CheapTokens ได้

โดย CheapTokens Teamเผยแพร่เมื่อ อัปเดตเมื่อ ใช้เวลาอ่าน 6 นาที

แผนภาพคำขอแชท: ข้อความ system พร้อมกฎ ข้อความ user พร้อมงาน และปุ่มปรับ temperature
ในหน้านี้
  1. System prompt คืออะไร?
  2. วิธีเขียน system prompt ที่มีประโยชน์
  3. Temperature ทำอะไร?
  4. ส่งคำขอด้วยทั้งสองอย่าง
  5. ดู temperature ทำงาน
  6. ลองกับโมเดลไหน
  7. หากใช้งานไม่ได้
  8. ขั้นตอนถัดไป

System prompt คือข้อความที่มี role เป็น system ที่บอกโมเดลว่าต้องปฏิบัติตัวอย่างไรในทุกคำตอบ: มันคือใคร ใช้รูปแบบใด หลีกเลี่ยงอะไร Temperature คือตัวเลข โดยปกติอยู่ระหว่าง 0 ถึง 2 (ช่วงขึ้นอยู่กับโมเดล) ที่กำหนดว่าถ้อยคำสามารถแปรผันได้มากน้อยเพียงใด: ค่าต่ำให้คำตอบที่โฟกัสและทำซ้ำได้ ค่าสูงให้คำตอบที่หลากหลายขึ้น ทั้งสองอย่างใส่ไว้ในคำขอ Chat Completions เดียวกัน ซึ่งคุณส่งไปที่ https://api.cheaptokens.dev/v1

ด้านล่าง: แต่ละอย่างคืออะไร ค่าใดควรเริ่มต้นด้วย และคำขอที่คุณรันได้ใน Python หรือ curl หากคุณยังไม่เคยส่งคำขอ เริ่มจาก คำขอ API แรกของคุณกับ CheapTokens

System prompt คืออะไร?#

คำขอแชทคือรายการข้อความ และทุกข้อความมี role เอกสารอ้างอิง Chat Completions ระบุสี่ role: system, user, assistant และ tool (เอกสารอ้างอิง DeepSeek API ตรวจสอบเมื่อ 22 ตุลาคม 2026) สำหรับคำขอแรกคุณต้องใช้สาม role:

  • system — คำสั่งถาวรจากคุณในฐานะนักพัฒนา โมเดลถือเป็นกฎของบทสนทนา
  • user — สิ่งที่ผู้ใช้ถามหรือให้มาในเทิร์นนี้
  • assistant — คำตอบก่อนหน้าของโมเดล คุณเพิ่มเองเมื่อสนทนาต่อ

ข้อความ system ต้องตั้ง role เป็น system และ content เป็นสตริง ฟิลด์ name เป็นทางเลือก

json
"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."}
]

ข้อความ system ต้องมาก่อน ข้อความ user คืองานจริง

วิธีเขียน system prompt ที่มีประโยชน์#

  • บอกว่าโมเดลทำอะไรในหนึ่งประโยค: "You are an editor", "You classify support tickets"
  • ระบุรูปแบบเอาต์พุต: "Return only the rewritten text", "Answer in two sentences", "Reply with valid JSON"
  • ให้กฎเป็นประโยคสั้น ตรงประเด็น หลายบรรทัดที่ชัดเจนได้ผลดีกว่าย่อหน้ายาวหนึ่งย่อหน้า
  • เขียนให้สั้น system prompt ถูกส่งไปกับทุกคำขอและนับเป็น input tokens ดังนั้นอันยาวจะเสียค่าใช้จ่ายทุกครั้ง วิธีคิดค่าบริการ input และ output อยู่ใน input vs output tokens

Temperature ทำอะไร?#

โมเดลเลือกโทเคนถัดไปแต่ละตัวจากชุดตัวเลือกที่น่าจะเป็น Temperature ควบคุมว่าโมเดลจะยึดตัวที่น่าจะเป็นที่สุดอย่างเคร่งครัดเพียงใด ตามเอกสารอ้างอิง 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

สามสิ่งที่ควรรู้:

  1. Temperature ต่ำทำซ้ำได้มากกว่า ไม่ใช่เหมือนกันทุกไบต์ อย่าพึ่งพาคำตอบที่เท่ากันทุกไบต์
  2. เปลี่ยน temperature หรือ top_p อย่างใดอย่างหนึ่ง ไม่ใช่ทั้งคู่ นี่คือคำแนะนำของ DeepSeek; top_p เป็นพารามิเตอร์การสุ่มตัวที่สองที่มีค่าเริ่มต้น 1 ปล่อยไว้ก่อนในระหว่างเรียนรู้
  3. บางโหมดไม่สนใจ temperature เอกสารอ้างอิง DeepSeek ระบุว่า temperature ไม่มีผลในโหมด thinking และ top_p ถูกกำหนดตายตัวที่ 1.0 ในโหมด non-thinking หากคุณเปลี่ยนค่าแล้วไม่เห็นความแตกต่าง ให้ตรวจสอบโหมดของโมเดลก่อน

ส่งคำขอด้วยทั้งสองอย่าง#

ตั้งคีย์เป็นตัวแปรสภาพแวดล้อม เพื่อไม่ให้หลุดเข้าไปในโค้ด (ดู API key คืออะไรและวิธีเก็บอย่างปลอดภัย) ใช้ model id ที่ถูกต้องจาก เอกสาร CheapTokens: ผู้ให้บริการต่างกันตั้งชื่อโมเดลเดียวกันต่างกัน ตัวอย่างนี้ใช้ MiniMax-M2.7

python
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:

bash
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 หยุดกลางประโยค

ดู temperature ทำงาน#

วิธีที่ดีที่สุดในการเข้าใจ temperature คือถามคำถามเดิมหลายครั้ง ลูปนี้ส่งคำขอสั้นหนึ่งครั้งสามครั้งที่ค่า 0 และสามครั้งที่ค่า 1 โดยใช้ client จากตัวอย่างด้านบน:

python
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 ไปกับเหตุผลนั้น ดังนั้นตั้งขีดจำกัดให้เผื่อไว้แม้เป็นคำตอบคำเดียว จากนั้นเปลี่ยนเฉพาะ system prompt (เช่น "Answer with one word, in French") แล้วรันอีกครั้ง: กฎในข้อความ system มีผลในทุก temperature

การทดลองแบบนี้มีขนาดเล็ก เพื่อให้เห็นภาพคร่าวๆ นี่คือค่าใช้จ่ายของ 100 คำขอ ที่มี input ประมาณ 120 และ output 80 โทเคนต่อคำขอ (เป็นตัวอย่างภาระงาน จำนวนโทเคนขึ้นอยู่กับ prompt ของคุณ):

โมเดล ต่อคำขอ 100 คำขอ OpenRouter, 100 คำขอ
GLM-5.3-Flash $0.0000056 $0.00056 $0.0011
DeepSeek-V4-Flash $0.0000098 $0.00098 $0.0018
MiniMax-M2.7 $0.000018 $0.0018 $0.0132

120 โทเค็นอินพุตและ 80 โทเค็นเอาต์พุตต่อคำขอ ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน

ลองกับโมเดลไหน#

  • MiniMax-M2.7 เป็นตัวเลือกแรกที่ดีสำหรับคำขอทดสอบสั้นๆ หลายครั้ง และคุณสามารถใช้ system prompt เดิมซ้ำเพื่อเปรียบเทียบคำตอบ: context 180K, output สูงสุด 8,192 โทเคน, ถูกกว่าราคาอ้างอิงของ OpenRouter ทั้งฝั่ง input และ output ราคาปัจจุบัน: input $0.05, output $0.15 ต่อ 1M โทเคน

ยอดเงินเดียวครอบคลุมทั้งหมด ดังนั้นการสลับโมเดลคือการเปลี่ยน model บรรทัดเดียว ราคาปัจจุบันทั้งหมดอยู่ที่ หน้าราคา

หากใช้งานไม่ได้#

  • 401 หรือข้อผิดพลาดการยืนยันตัวตน: คีย์หาย พิมพ์ผิด หรือตัวแปรสภาพแวดล้อมไม่ได้ตั้งในเทอร์มินัลนี้ ตรวจสอบ echo $CHEAPTOKENS_API_KEY
  • ไม่พบโมเดล: คัดลอก model id จาก เอกสาร ให้ตรงทุกตัวอักษร รวมถึงคำนำหน้า
  • ข้อผิดพลาดเกี่ยวกับพารามิเตอร์ไม่ถูกต้อง: ให้ temperature อยู่ในช่วงที่โมเดลของคุณรองรับ (0 ถึง 1 ปลอดภัย) และส่งเป็นตัวเลข ไม่ใช่สตริง
  • โมเดลไม่สนใจกฎของคุณ: ทำให้เป็นประโยคสั้น ตรงประเด็นหนึ่งประโยค ย้ายไปไว้บนสุดของข้อความ system และระบุรูปแบบที่ต้องการให้ตรงเป๊ะ
  • เปลี่ยน temperature แล้วไม่มีอะไรเปลี่ยน: คุณอาจใช้โหมดที่ไม่สนใจค่านี้ (ดูด้านบน) หรือคำตอบถูกจำกัดมาก ("one word", "valid JSON") จนมีความแปรผันน้อย
  • คำตอบถูกตัด: เพิ่ม max_tokens; คู่มือ max_tokens อธิบายวิธี

ขั้นตอนถัดไป#

ใส่กฎชัดเจนหนึ่งข้อในข้อความ system เลือก temperature จากตาราง แล้วรันลูปด้านบนกับงานของคุณเอง เมื่อผลลัพธ์เป็นอย่างที่ต้องการ ให้เก็บ system prompt ให้สั้นและใช้ซ้ำ รับคีย์และตรวจสอบราคาปัจจุบันได้ที่ เอกสาร