Logit_bias adalah parameter opsional yang mengubah kemungkinan token tertentu muncul dalam output yang dihasilkan model.
Parameter ini menerima objek JSON yang memetakan token ke nilai bias terkait dari -100 (yang dalam sebagian besar kasus akan memblokir token tersebut agar tidak dihasilkan) hingga 100 (pemilihan eksklusif token yang membuatnya lebih mungkin dihasilkan). Nilai sedang seperti -1 dan 1 akan mengubah probabilitas sebuah token dipilih dalam tingkat yang lebih kecil.
Karena parameter ini menerima token, bukan teks, Anda sebaiknya menggunakan alat tokenizer untuk mengonversi teks menjadi ID token. Mari kita bahas beberapa contoh.
Contoh 1: Menghapus “time”
Jika kita memanggil endpoint Completions dengan prompt “Once upon a,” completion kemungkinan besar akan dimulai dengan “ time.”
Kata “time” dipecah menjadi token dengan ID 2435 dan kata “ time” (yang memiliki spasi di awal) dipecah menjadi token dengan ID 640. Kita dapat meneruskan keduanya melalui logit_bias dengan -100 untuk melarangnya muncul dalam completion, seperti berikut:
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You finish user's sentences."},
"role": "user", "content": "Once upon a"} ]
logit_bias={2435:-100, 640:-100}
)Sekarang, prompt “Once upon a” menghasilkan pelengkapan “midnight dreary, while I pondered, weak and weary.”
Perhatikan bahwa kata “time” sama sekali tidak ditemukan karena kita secara efektif telah melarang token tersebut menggunakan logit_bias.
Contoh 2: Memberikan arahan dengan nilai bias logit yang ditargetkan
Mari kita lihat contoh lain menggunakan prompt generator resep.
Banyak resep menyarankan penggunaan panci (pot), tetapi anggaplah kita tidak memilikinya. Kita perlu mencegah kata pot dihasilkan sebagai bagian dari pelengkapan. 'Pot' dipecah menjadi token dengan ID 1787 sehingga kita dapat menghapusnya dari hasil generasi dengan menetapkan logit_bias seperti di bawah ini.
logit_bias={1787:-100}Sekarang, completion kita mungkin menyertakan kata “saucepan” sebagai gantinya. Sempurna!
Contoh 3: Meningkatkan peluang munculnya sebuah kata
Misalkan kita ingin meningkatkan kemungkinan munculnya sebuah kata.
Misalnya, kita mengelola situs yang menawarkan resep masakan yang dapat dibuat dengan microwave sehingga kita ingin memastikan kata “microwave” muncul dalam resep. Microwave dipecah menjadi token dengan ID 27000. Kita dapat meningkatkan kemungkinan munculnya token ini dengan menetapkan logit_bias positif seperti berikut:
logit_bias={27000:5}Kini, pelengkapan kita lebih mungkin menyertakan kata 'microwave'.
Kita menetapkan logit_bias ke 5 karena berdasarkan pengujian, menetapkan logit_bias ke 1 sering kali tidak membuat kata “microwave” muncul dalam pelengkapan, sedangkan nilai logit_bias yang lebih tinggi seperti 10 membuat kata “ microwave” terlalu sering muncul dalam pelengkapan.
