Kejuruteraan Arahan AI · Pelajaran

Memilih Parameter untuk Kes Penggunaan Anda

Tetapan disyorkan untuk soal jawab berfakta, penulisan kreatif, kod dan sembang.

Pelajaran 4 daripada 413 langkah

Memilih Parameter untuk Kes Penggunaan Anda ialah pelajaran Kejuruteraan Arahan AI percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kejuruteraan Arahan AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kejuruteraan Arahan AI merangkumi sejumlah 4 pelajaran.

Rangka Kerja Membuat Keputusan Parameter

Memilih parameter pensampelan bukanlah soal meneka — pemilihannya mengikut logik berdasarkan keperluan tugasan anda. Dua dimensi utama menentukan konfigurasi yang betul:

  1. Ketepatan keluaran: sejauh manakah pentingnya keluaran itu betul dan boleh dijangka?
  2. Kepelbagaian keluaran: sejauh manakah pentingnya keluaran berubah-ubah dan meneroka kemungkinan baharu?

Ketepatan tinggi → suhu rendah. Kepelbagaian tinggi → suhu tinggi. Kebanyakan tugasan berada di antara kedua-dua hujung ini.

Soal Jawab Berfakta: Ketepatan Adalah Segalanya

Untuk menjawab soalan berfakta, biasanya terdapat satu jawapan yang betul. Sebarang kerawakan meningkatkan kemungkinan jawapan yang salah. Gunakan:

  • suhu = 0: penyahkodan tamak, sepenuhnya deterministik
  • top_p = 1.0: biarkan tanpa sekatan; pada suhu=0, top-p tidak memberi kesan

Ini memastikan model sentiasa memilih jawapan yang paling diyakininya, yang paling berkemungkinan betul.

import openai
client = openai.OpenAI(api_key='sk-...')

# Factual Q&A configuration
def factual_qa(question):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'Answer factual questions concisely and accurately.'},
            {'role': 'user', 'content': question}
        ],
        temperature=0,
        top_p=1.0
    )
    return resp.choices[0].message.content

answer = factual_qa('What is the boiling point of water at sea level?')
print(answer)  # Always: '100 degrees Celsius (212 degrees Fahrenheit).'

Penjanaan Kod: Hampir Tamak

Kod mesti betul dari segi sintaks dan tepat dari segi semantik. Kerawakan menyebabkan ralat sintaks, nama pemboleh ubah yang salah atau logik yang tidak betul. Gunakan:

  • suhu = 0–0.2: hampir tamak — membenarkan sedikit variasi tetapi sangat mengutamakan pemilihan token yang betul
  • top_p = 0.95: menyingkirkan token pada ekor ekstrem yang boleh menyebabkan ralat sintaks
# Code generation configuration
def generate_code(task):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are an expert Python programmer. Write clean, correct code.'},
            {'role': 'user', 'content': task}
        ],
        temperature=0.1,
        top_p=0.95
    )
    return resp.choices[0].message.content

code = generate_code('Write a Python function that merges two sorted lists.')
print(code)

Peringkasan: Tetapan Sederhana

Peringkasan memerlukan ketepatan (jangan memesongkan fakta) tetapi mendapat manfaat daripada variasi ringan (proses yang berbeza boleh menekankan aspek yang berbeza). Gunakan:

  • suhu = 0.3–0.5: kerawakan ringan mengekalkan ungkapan yang semula jadi
  • top_p = 1.0: tiada sekatan nukleus diperlukan pada suhu rendah
# Summarization configuration
def summarize(text):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'Summarize the following text in 3 sentences.'},
            {'role': 'user', 'content': text}
        ],
        temperature=0.4,
        top_p=1.0
    )
    return resp.choices[0].message.content

summary = summarize(long_article)
print(summary)

Sembang Berbalas: Variasi Semula Jadi

Respons sembang mendapat manfaat daripada variasi semula jadi — soalan yang sama tidak sepatutnya sentiasa menghasilkan susunan kata yang sama. Terlalu banyak kerawakan menjadikan respons tidak koheren. Gunakan:

  • suhu = 0.7–0.9: perbualan yang semula jadi dan pelbagai
  • top_p = 0.9–0.95: menyingkirkan token ekor yang tidak berkemungkinan dan menghasilkan ungkapan yang tidak semula jadi
# Chat configuration
def chat_response(user_message, history):
    messages = history + [{'role': 'user', 'content': user_message}]
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are a friendly, helpful assistant.'},
            *messages
        ],
        temperature=0.8,
        top_p=0.9
    )
    reply = resp.choices[0].message.content
    history.append({'role': 'user', 'content': user_message})
    history.append({'role': 'assistant', 'content': reply})
    return reply, history

Penulisan Kreatif: Kepelbagaian Tinggi

Penulisan kreatif mengutamakan keaslian dan perkara yang tidak dijangka. Suhu rendah menghasilkan keluaran yang klise dan boleh dijangka. Suhu tinggi menghasilkan pilihan yang segar dan tidak dijangka — walaupun suhu yang terlalu tinggi menyebabkan ketidakkoherenan. Gunakan:

  • suhu = 0.9–1.2: kosa kata yang pelbagai, pilihan perkataan yang tidak lazim
  • top_p = 0.95: menghalang token ekor yang tidak koheren sambil membenarkan penerokaan yang luas
# Creative writing configuration
def write_story_opening(prompt):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are a creative fiction writer. Write vivid, original prose.'},
            {'role': 'user', 'content': f'Write a story opening for: {prompt}'}
        ],
        temperature=1.1,
        top_p=0.95
    )
    return resp.choices[0].message.content

opening = write_story_opening('A detective discovers her partner is the killer.')
print(opening)

Sumbang Saran dan Pencetusan Idea

Untuk sumbang saran, matlamatnya ialah kepelbagaian idea yang maksimum — termasuk idea yang luar biasa atau tidak dijangka. Gunakan suhu praktikal yang paling tinggi:

  • suhu = 1.0–1.5: penerokaan ruang idea yang luas
  • top_p = 0.95–1.0: sekatan minimum

Jalankan beberapa kali dan kumpulkan semua keluaran — kemudian tapis idea terbaik secara manual. Arahan sumbang saran mendapat manfaat daripada permintaan yang jelas untuk kepelbagaian: ‘Berikan saya 10 pendekatan yang berbeza, termasuk yang luar biasa.’

# Brainstorming: run multiple times for variety
def brainstorm(topic, n_runs=5):
    ideas = []
    for _ in range(n_runs):
        resp = client.chat.completions.create(
            model='gpt-4o',
            messages=[
                {'role': 'system', 'content': 'Generate creative, diverse ideas. Include unusual approaches.'},
                {'role': 'user', 'content': f'Give me 3 ideas for: {topic}'}
            ],
            temperature=1.3,
            top_p=0.95
        )
        ideas.append(resp.choices[0].message.content)
    return ideas

all_ideas = brainstorm('reducing customer churn')

Pengujian Kepekaan Parameter

Sebelum menetapkan parameter, jalankan ujian kepekaan parameter: kekalkan arahan, ubah satu parameter pada satu-satu masa dan nilai kualiti keluaran pada setiap tetapan.

def sensitivity_test(prompt, evaluator, temperatures, n_samples=5):
    results = {}
    for temp in temperatures:
        scores = []
        for _ in range(n_samples):
            resp = client.chat.completions.create(
                model='gpt-4o',
                messages=[{'role': 'user', 'content': prompt}],
                temperature=temp
            )
            score = evaluator(resp.choices[0].message.content)
            scores.append(score)
        results[temp] = sum(scores) / len(scores)

    for temp, score in sorted(results.items()):
        print(f'T={temp}: avg score = {score:.2f}')
    best_temp = max(results, key=results.get)
    print(f'Best temperature: {best_temp}')
    return best_temp

Bila Hendak Mengekalkan Tetapan Lalai

Bukan setiap aplikasi memerlukan parameter tersuai. Kekalkan tetapan lalai apabila:

  • Kes penggunaan ialah sembang umum — suhu lalai (1.0 untuk kebanyakan API) dilaraskan dengan baik
  • Anda sedang membina prototaip dan masih belum mengetahui tetapan yang betul
  • Tugasan berada pada keseimbangan antara ketepatan dan kreativiti (contohnya, menggubal e-mel)

Panduan umum: sesuaikan parameter hanya apabila tingkah laku lalai menyebabkan masalah kualiti yang boleh diukur semasa pengujian. Penalaan parameter terlalu awal menambah kerumitan tanpa manfaat yang boleh diukur.

# Defaults are often correct
default_resp = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Draft a professional email declining a meeting.'}]
    # No temperature or top_p specified — API defaults apply
    # OpenAI default: temperature=1, top_p=1
)
print(default_resp.choices[0].message.content)

Kad Rujukan Pantas

Jadual ringkasan tetapan yang disyorkan mengikut kes penggunaan:

PARAMETER_PRESETS = {
    # task: (temperature, top_p, notes)
    'factual_qa':        (0.0, 1.0, 'greedy, max accuracy'),
    'classification':    (0.0, 1.0, 'deterministic labels'),
    'code_generation':   (0.1, 0.95, 'near-greedy, avoid tail tokens'),
    'data_extraction':   (0.2, 1.0, 'slight variation for robustness'),
    'summarization':     (0.4, 1.0, 'preserve facts, vary phrasing'),
    'translation':       (0.3, 1.0, 'accurate but natural'),
    'chat':              (0.8, 0.9, 'natural conversation'),
    'email_drafting':    (0.7, 0.9, 'professional but varied'),
    'creative_writing':  (1.1, 0.95, 'vivid, original'),
    'brainstorming':     (1.3, 0.95, 'maximum diversity'),
}

for task, (temp, top_p, notes) in PARAMETER_PRESETS.items():
    print(f'{task:22} temp={temp}, top_p={top_p} | {notes}')

Penalti Kekerapan dan Kehadiran

Dua parameter tambahan melengkapi suhu dan top-p:

  • frequency_penalty (0–2): mengurangkan kebarangkalian token berkadar dengan kekerapan token tersebut muncul dalam keluaran setakat ini — mencegah pengulangan perkataan
  • presence_penalty (0–2): mengurangkan kebarangkalian mana-mana token yang pernah muncul — menggalakkan kepelbagaian topik

Untuk penulisan kreatif: tambahkan frequency_penalty=0.5 bagi mengurangkan pilihan perkataan yang berulang tanpa mengubah suhu.

resp = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Write a paragraph about coffee.'}],
    temperature=1.0,
    top_p=0.95,
    frequency_penalty=0.5,  # discourage repeating the same words
    presence_penalty=0.3    # encourage introducing new topics/aspects
)
print(resp.choices[0].message.content)

Semakan Pengetahuan

Untuk tugasan yang menjana kod Python yang akan dilaksanakan dalam produksi, konfigurasi parameter manakah paling sesuai?

Imbas Kembali: Memilih Parameter Pensampelan

Padankan parameter dengan keperluan ketepatan berbanding kepelbagaian anda:

  • Fakta/kod: temp=0–0.2, top_p=0.95 — ketepatan diutamakan
  • Peringkasan: temp=0.3–0.5 — keseimbangan
  • Sembang: temp=0.7–0.9, top_p=0.9 — variasi semula jadi
  • Kreatif: temp=0.9–1.2, top_p=0.95 — kepelbagaian
  • Sumbang saran: temp=1.3, top_p=0.95 — penerokaan maksimum

Jalankan ujian kepekaan parameter. Kekalkan tetapan lalai apabila tiada masalah kualiti diperhatikan. Tambahkan frequency_penalty untuk masalah pengulangan. Ini menamatkan Kursus 19. Seterusnya: Pengujian Arahan dan Regresi.

Percuma untuk bermula

Pelajari Kejuruteraan Arahan AI dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
199

Soalan Lazim

Adakah pelajaran “Memilih Parameter untuk Kes Penggunaan Anda” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kejuruteraan Arahan AI, termasuk “Memilih Parameter untuk Kes Penggunaan Anda”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kejuruteraan Arahan AI merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Memilih Parameter untuk Kes Penggunaan Anda”?

Tetapan disyorkan untuk soal jawab berfakta, penulisan kreatif, kod dan sembang. Anda berlatih Kejuruteraan Arahan AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kejuruteraan Arahan AI?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kejuruteraan Arahan AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Memilih Parameter untuk Kes Penggunaan Anda” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kejuruteraan Arahan AI ini?

Ya. Setiap pelajaran Kejuruteraan Arahan AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Apakah Suhu dalam LLM?
  2. Pensampelan Nukleus Top-p
  3. Pensampelan Top-k
  4. Memilih Parameter untuk Kes Penggunaan Anda
← Kembali ke Kejuruteraan Arahan AI