Mengendalikan Perilaku Model dengan Parameter
Bereksperimenlah dengan temperature, max_tokens, dan top_p untuk melihat pengaruhnya terhadap gaya, panjang, dan kreativitas keluaran, lalu pilih pengaturan yang sesuai untuk kasus penggunaan Anda.
Mengendalikan Perilaku Model dengan Parameter adalah pelajaran AI Engineering Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Engineering Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Engineering Academy mencakup 4 pelajaran total.
Parameter Inti yang Penting
Beberapa parameter paling memengaruhi keluaran Anda: temperature, max_tokens, top_p, frequency_penalty, dan presence_penalty. Kuasai kelimanya agar Anda dapat mengendalikan model.
Temperature: Mengendalikan Keacakan
Temperature mengendalikan keacakan. Mendekati 0, model memilih kata yang paling aman dan tetap konsisten—cocok untuk fakta. Di sekitar 0,7–1,0, hasilnya lebih beragam dan kreatif. Lihat kodenya.
from openai import OpenAI
client = OpenAI()
for temp in [0.0, 0.7, 1.5]:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Name a color.'}],
temperature=temp,
max_tokens=5
)
print(f'Temp {temp}: {response.choices[0].message.content}')
# Temp 0.0: Red (always most common)
# Temp 0.7: Blue (varied but sensible)
# Temp 1.5: Vermillion (surprising choices)max_tokens: Mengendalikan Panjang Respons
max_tokens membatasi panjang maksimum balasan—ini adalah batas pengaman, bukan sasaran. Jika terlalu rendah, jawaban terpotong; jika terlalu tinggi, waktu dan biaya terbuang. Tambahkan ruang cadangan dan perhatikan finish_reason.
# Different max_tokens for different use cases
# Classification: short answer expected
classification_response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Is this positive or negative? "Great product!"'}],
max_tokens=5 # Only need 1-2 words
)
# Detailed analysis: longer output needed
analysis_response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Analyze the pros and cons of microservices.'}],
max_tokens=800 # Need space for detailed explanation
)top_p: Pengambilan Sampel Nukleus
top_p adalah pengatur keacakan lainnya: model hanya mengambil sampel dari token teratas yang jumlah probabilitasnya mencapai top_p. Kiat: sesuaikan temperature atau top_p saja, bukan keduanya sekaligus.
# top_p usage example
response_narrow = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Continue: The sky is...'}],
top_p=0.1, # only very likely tokens (conservative, predictable)
temperature=1.0 # keep temperature at 1 when using top_p
)
response_wide = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Continue: The sky is...'}],
top_p=0.95, # most tokens eligible (creative, varied)
temperature=1.0
)Frequency Penalty: Mengurangi Pengulangan
frequency_penalty mengurangi kecenderungan model mengulang kata yang sama, dengan tingkat penalti yang meningkat sesuai frekuensi kemunculannya. Gunakan saat jawaban panjang menjadi repetitif—coba nilai 0,3 hingga 0,7.
# Frequency penalty to reduce repetition in long outputs
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{
'role': 'user',
'content': 'Write 5 tips for better sleep.'
}],
max_tokens=300,
frequency_penalty=0.5 # reduces repeating the same words/phrases
)
print(response.choices[0].message.content)Presence Penalty: Mendorong Keberagaman Topik
presence_penalty mendorong model menuju topik baru: parameter ini memberikan penalti pada setiap kata yang sudah muncul, bahkan jika baru muncul sekali. Cocok untuk curah gagasan saat Anda menginginkan ide yang segar dan beragam.
# Presence penalty for diverse brainstorming output
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{
'role': 'user',
'content': 'List 10 creative ways to use AI in a small business.'
}],
max_tokens=400,
presence_penalty=0.8 # encourages introducing different topics per item
)
print(response.choices[0].message.content)Urutan stop: Titik Berhenti Khusus
Parameter stop berisi string yang menghentikan pembuatan teks saat string tersebut muncul (dan string itu tidak disertakan). Hentikan pada baris baru untuk memperoleh jawaban satu baris yang rapi. Lihat kodenya.
# Use stop sequences to get clean single-line output
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{
'role': 'user',
'content': 'What is the Python keyword for a function definition?\nAnswer:'
}],
max_tokens=20,
stop=['\n', '.'] # stop at newline or period - gets just the keyword
)
print(repr(response.choices[0].message.content)) # 'def'seed: Keluaran yang Dapat Direproduksi
Parameter seed membuat keluaran dapat direproduksi: seed yang sama ditambah temperature 0 menghasilkan balasan yang sama. Cocok untuk pengujian—namun perhatikan system_fingerprint jika terjadi perubahan pada sistem pendukung.
# Reproducible output with seed parameter
response1 = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Pick a random number from 1 to 10.'}],
temperature=0,
seed=42
)
response2 = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Pick a random number from 1 to 10.'}],
temperature=0,
seed=42
)
print(response1.choices[0].message.content) # same
print(response2.choices[0].message.content) # same
print('Fingerprint:', response1.system_fingerprint)Memilih Parameter untuk Kasus Penggunaan Umum
Hindari menebak-nebak dengan prasetel cepat: temperature 0 untuk klasifikasi, 0,2 untuk tanya jawab faktual, dan 0,8–1,0 untuk penulisan kreatif. Mulailah dari sana, lalu sesuaikan dengan tugas Anda. Lihat kodenya.
# Parameter presets for different task types
PRESETS = {
'classify': {'temperature': 0, 'max_tokens': 20},
'factual_qa': {'temperature': 0.2, 'max_tokens': 400},
'creative': {'temperature': 0.9, 'max_tokens': 1000, 'frequency_penalty': 0.3},
'code': {'temperature': 0.1, 'max_tokens': 2000},
'summary': {'temperature': 0.3, 'max_tokens': 300, 'frequency_penalty': 0.2},
}
def complete(prompt, task_type='factual_qa', **overrides):
params = {**PRESETS[task_type], **overrides}
return client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
**params
)Logprobs: Memahami Keyakinan Model
logprobs mengembalikan tingkat keyakinan model terhadap setiap token, beserta alternatif yang dipertimbangkannya. Keyakinan rendah terhadap suatu fakta merupakan peringatan halusinasi—berguna untuk sistem yang lebih aman.
import math
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'The capital of France is?'}],
max_tokens=3,
logprobs=True,
top_logprobs=3 # show top 3 alternative tokens at each position
)
for token_log in response.choices[0].logprobs.content:
prob = math.exp(token_log.logprob) # convert log prob to probability
print(f'Token: {token_log.token!r} | Probability: {prob:.2%}')
for alt in token_log.top_logprobs:
print(f' Alt: {alt.token!r} -> {math.exp(alt.logprob):.2%}')Menguji Dampak Parameter Secara Sistematis
Jangan menebak parameter—ujilah. Buat pencarian grid kecil yang menjalankan prompt yang sama dengan berbagai kombinasi dan memberi skor pada setiap hasil. Dengan demikian, penyetelan berubah dari seni menjadi rekayasa. Lihat kodenya.
from itertools import product
# Systematic parameter grid search
temperatures = [0.0, 0.3, 0.7]
max_tokens_options = [100, 300]
test_prompt = 'Summarize the benefits of unit testing in 2 sentences.'
results = []
for temp, max_tok in product(temperatures, max_tokens_options):
resp = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': test_prompt}],
temperature=temp,
max_tokens=max_tok
)
results.append({
'temperature': temp,
'max_tokens': max_tok,
'output': resp.choices[0].message.content,
'actual_tokens': resp.usage.completion_tokens
})Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep Rekayasa AI dari pelajaran ini.
Rangkuman Pelajaran
Anda telah mempelajari cara mengarahkan model: temperature menetapkan keacakan, max_tokens membatasi panjang (perhatikan finish_reason!), sedangkan penalti mengurangi pengulangan dan menambah keberagaman. Berikutnya: penanganan kesalahan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengendalikan Perilaku Model dengan Parameter” gratis?
Ya — teks lengkap “Mengendalikan Perilaku Model dengan Parameter” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Engineering Academy, upgrade ke CoddyKit PRO. Kursus AI Engineering Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengendalikan Perilaku Model dengan Parameter”?
Bereksperimenlah dengan temperature, max_tokens, dan top_p untuk melihat pengaruhnya terhadap gaya, panjang, dan kreativitas keluaran, lalu pilih pengaturan yang sesuai untuk kasus penggunaan Anda. Kamu berlatih AI Engineering Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Engineering Academy?
Tidak diperlukan pengalaman sebelumnya. AI Engineering Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Mengendalikan Perilaku Model dengan Parameter” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Engineering Academy ini?
Ya. Setiap pelajaran AI Engineering Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menyiapkan Lingkungan Python Anda
- Titik Akhir Penyelesaian Obrolan
- Mengendalikan Perilaku Model dengan Parameter
- Penanganan Kesalahan dan Batas Laju