AI Bahasa Alami Dalam Proyek Anda Berikutnya? Ini Lebih Mudah Dari yang Anda Pikirkan

Ingin proyek Anda berikutnya menjadi pembicaraan sampah? Secara dinamis menulis ulang pesan log yang membosankan sebagai sci-fi technobabble? Dengan senang hati (atau dengan enggan) menjawab pertanyaan? Melakukan hal semacam itu dan lebih banyak lagi dapat dilakukan dengan OpenAI’s GPT-3, model prediksi bahasa alami dengan API yang mungkin jauh lebih mudah digunakan daripada yang Anda kira.

Faktanya, jika Anda memiliki keterampilan pengkodean Python dasar, atau bahkan hanya kemampuan untuk membuat pernyataan curl, Anda memiliki hampir semua yang Anda butuhkan untuk menambahkan kemampuan ini ke proyek Anda berikutnya. Ini tidak gratis dalam jangka panjang, meskipun penggunaan awal gratis saat mendaftar, tetapi untuk proyek pribadi biayanya akan sangat kecil.

Konsep dasar

OpenAI memiliki API yang menyediakan akses ke GPT-3, model pembelajaran mesin dengan kemampuan untuk melakukan hampir semua tugas yang melibatkan pemahaman atau menghasilkan bahasa yang terdengar alami.

OpenAI menyediakan beberapa dokumentasi yang sangat baik serta alat web di mana seseorang dapat bereksperimen secara interaktif. Namun, pertama-tama, seseorang harus membuat akun dan menerima kunci API. Setelah itu selesai, pintu terbuka.

Membuat akun juga memberikan sejumlah kredit gratis yang dapat digunakan untuk bereksperimen dengan ide-ide. Setelah uji coba gratis habis atau kedaluwarsa, penggunaan API akan dikenakan biaya. Berapa banyak? Tidak banyak, terus terang. Semua yang dikirim ke (dan diterima dari) API dipecah menjadi token, dan harganya mulai dari $0,0008 hingga $0,06 per seribu token. Seribu token kira-kira 750 kata, jadi proyek kecil sebenarnya bukan komitmen finansial yang besar. Uji coba gratis saya datang dengan kredit 18 USD, yang sejauh ini saya hampir tidak berhasil menghabiskan 5%.

Mari kita lihat lebih dekat cara kerjanya, dan apa yang bisa dilakukan dengannya!

Bagaimana itu bekerja

API menerima permintaan dalam berbagai cara, dan jika Anda dapat membuat pernyataan curl, gunakan baris perintah, atau tulis beberapa kode Python (atau node.js) sederhana, kabar baik! Anda memiliki semua yang Anda butuhkan untuk mulai mencoba ide!

Saya akan menjelaskan menggunakan API dengan cara yang paling mendasar, yaitu penyelesaian. Itu berarti seseorang menyajikan API dengan prompt, dari mana ia akan memberikan penyelesaian teks yang mencoba mencocokkan prompt. Semua ini dilakukan sepenuhnya dalam teks, dan diformat sebagai bahasa alami.

Menggunakan API dengan cara ini dapat dianggap sebagai penerapan semacam pelengkapan otomatis yang sangat mampu. Mesin itu sendiri dapat dianggap sebagai semacam mesin negara yang sangat kompleks, sementara pada saat yang sama juga tidak seperti yang lainnya.

Jenis Barang Apa yang Mungkin?

Berikut adalah contoh yang sangat sederhana:

Penyelesaian Prompt (dikirim ke API) (tanggapan dari API)

Tulis pesan kesalahan cerdas untuk kondisi baterai lemah. “Kamu kehabisan uang!”

Prompt juga bagaimana seseorang “memprogram” model, dan merancang prompt yang baik adalah bagian besar untuk mendapatkan hasil yang baik.

Karena model tersebut mampu memahami struktur dan maksud bahasa, sebuah prompt dapat diucapkan seolah-olah seseorang sedang memberikan tugas menulis kepada seorang siswa sekolah menengah.

Berikut adalah contoh yang sedikit lebih kompleks yang melakukan hal itu:

Penyelesaian Cepat

Berikan komentar menarik untuk sebuah acara di game meja tentang kereta api.

Acara: Seorang pemain bernama Rob menjual sebuah perusahaan.
Komentar:

“Rob telah memutuskan untuk menjual perusahaan mereka. Ini adalah langkah besar dan akan berdampak besar pada permainan. Siapa yang akan membeli perusahaan? Apa yang akan mereka lakukan dengan itu? Hanya waktu yang akan memberitahu.”

Ada beberapa hal yang perlu diperhatikan dalam contoh di atas. Baris pertama prompt menjelaskan apa yang harus dilakukan. Dua baris berikutnya (“Acara:” dan “Komentar:”) mengatur model tentang bagaimana pernyataan harus diselesaikan. Perhatikan bahwa baris “Komentar:” dibiarkan kosong pada prompt; model akan menyelesaikan apa yang dimulai.

Praktik membuat prompt yang efektif disebut desain prompt, dan ini adalah kunci untuk mendapatkan semua jenis respons yang berguna dan berbeda dari API. Mari kita lihat lebih dekat bagaimana desain yang cepat memengaruhi hasil.

Mendapatkan Respon yang Lebih Baik

Jika seseorang mengalami kesulitan untuk membuat model merespons dengan cara yang berguna, akan sangat membantu untuk memasukkan beberapa contoh dari apa yang diinginkan dalam prompt itu sendiri untuk memberi model ide yang lebih baik tentang apa yang diharapkan.

Dokumentasi API memiliki demonstrasi yang sangat baik dari ide ini, dan saya akan menyatakan kembali secara singkat di bawah ini:

Penyelesaian Prompt (dikirim ke API) (tanggapan dari API)

Sarankan tiga nama untuk kuda yang merupakan pahlawan super. Superman, Batman, Spiderman

Hasil ini sebenarnya bukan yang kita inginkan. Namun, memasukkan beberapa contoh dalam prompt itu sendiri menghasilkan hasil yang jauh lebih baik:

Penyelesaian Prompt (dikirim ke API) (tanggapan dari API)

Sarankan tiga nama untuk hewan yang merupakan pahlawan super.

Hewan: Kucing
Nama: Kapten Sharpclaw, Agen Fluffball, Kucing yang Luar Biasa
Hewan: Anjing
Nama: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Hewan: Kuda
Nama:

Kuda Perkasa, Blaze the Wonder Horse, Thunderhoof

Melakukan hal ini meningkatkan biaya — ingat bahwa seseorang membayar per token, baik dalam prompt maupun di output — tetapi memberikan banyak contoh dalam prompt dapat menjadi kunci untuk mendapatkan hasil terbaik dalam beberapa kasus, karena memberikan model yang jauh lebih jelas gagasan tentang apa yang diminta, dan bagaimana formatnya.

Sekali lagi, akan sangat membantu untuk menganggap prompt sebagai tugas menulis untuk anak sekolah menengah; seorang siswa sekolah menengah yang pada gilirannya dapat dianggap sebagai mesin negara yang sangat kompleks dan agak bervariasi.

Prompt yang Sama, Penyelesaian Berbeda

Untuk prompt yang identik, API tidak selalu mengembalikan hasil yang sama. Sementara sifat prompt dan data yang telah dilatih model berperan, keragaman respons juga dapat dipengaruhi oleh pengaturan suhu dalam permintaan.

Suhu adalah nilai antara 0 dan 1, dan merupakan ekspresi tentang seberapa deterministik model seharusnya ketika membuat prediksi tentang penyelesaian yang valid ke prompt. Suhu 0 berarti mengirimkan prompt yang sama akan menghasilkan respons yang sama (atau sangat mirip) setiap kali. Suhu di atas nol akan menghasilkan penyelesaian yang berbeda setiap kali.

Dengan kata lain, suhu yang lebih rendah berarti model mengambil risiko lebih sedikit, menghasilkan penyelesaian yang lebih deterministik. Ini berguna ketika seseorang menginginkan penyelesaian yang dapat diprediksi secara akurat, seperti respons yang bersifat faktual. Di sisi lain, meningkatkan suhu — 0,7 adalah nilai default yang umum — menghasilkan lebih banyak keragaman dalam penyelesaian.

Menyesuaikan Model dengan Baik

Model bahasa alami di balik API telah dilatih sebelumnya, tetapi masih memungkinkan untuk menyesuaikan model dengan kumpulan data terpisah yang disesuaikan untuk aplikasi tertentu.

Fungsi ini, yang disebut fine tuning, memungkinkan seseorang untuk secara efisien menyediakan model dengan lebih banyak contoh daripada yang praktis untuk disertakan dalam setiap prompt. Bahkan, setelah dataset fine tuning telah disediakan, kita tidak perlu lagi menyertakan contoh dalam prompt itu sendiri. Permintaan juga akan diproses lebih cepat.

Ini mungkin tidak akan diperlukan kecuali untuk aplikasi yang sempit, tetapi jika Anda menemukan bahwa mendapatkan hasil yang solid untuk proyek Anda bergantung pada prompt besar dan Anda ingin lebih efisien, fine tuning adalah di mana Anda perlu mencari. OpenAI menyediakan alat untuk membuat proses ini semudah mungkin, jika Anda membutuhkannya.

Seperti Apa Kodenya?

Ada alat web interaktif (taman bermain, memerlukan akun) di mana seseorang dapat menggunakan model untuk menguji ide tanpa harus membuat kode sesuatu, tetapi juga memiliki fitur praktis untuk menghasilkan potongan kode berdasarkan permintaan, untuk menyalin dengan mudah dan menempelkan ke dalam proyek.

Berikut adalah contoh pertama dalam artikel ini, diformat sebagai permintaan ikal sederhana:

curl https://api.openai.com/v1/engines/text-davinci-002/completions \ -H “Content-Type: application/json” \ -H “Authorization: Bearer $OPENAI_API_KEY” \ -d ‘{ ” prompt”: “Tulis pesan kesalahan cerdas untuk kondisi baterai lemah.”, “temperature”: 0,7, “max_tokens”: 256, “top_p”: 1, “frequency_penalty”: 0, “presence_penalty”: 0 }’

Dan sama, kali ini dengan Python:

import os import openai openai.api_key = os.getenv(“OPENAI_API_KEY”) response = openai.Completion.create( engine=”text-davinci-002″, prompt=”Tulis pesan kesalahan cerdas untuk kondisi baterai lemah.”, suhu=0,7, max_token=256, top_p=1, frekuensi_penalti=0, kehadiran_penalti=0 )

Menginstal paket python juga akan menginstal utilitas yang dapat digunakan langsung dari baris perintah untuk kenyamanan maksimal:

$ openai api completes.create -e text-davinci-002 -p “Tulis puisi sederhana tentang bunga aster.” –stream -M 128

(Catatan: –stream menampilkan hasil saat diterima, dan -M 128 membatasi balasan hingga maksimum 128 token.)

Prompt “tulis puisi sederhana tentang bunga aster” menghasilkan teks berikut untuk saya, yang akan berbeda setiap saat:

Bunga aster adalah bunga yang indah Yang tumbuh di padang rumput dan di padang rumput Memiliki bagian tengah berwarna kuning dan kelopak putih yang membuatnya terlihat seperti matahari Bunga aster adalah simbol kepolosan Dan kemurnian dan dicintai oleh semua orang

Semua contoh di atas bekerja dengan cara yang sama: mereka menjalankan prompt ke OpenAI API (menggunakan kunci API seseorang untuk akses, yang diasumsikan oleh contoh di atas telah ditetapkan sebagai variabel lingkungan bernama OPENAI_API_KEY), dan menerima balasan dengan respons .

Penggunaan yang Bertanggung Jawab

Yang patut disoroti adalah komitmen OpenAI untuk penggunaan yang bertanggung jawab, termasuk panduan tentang praktik terbaik keselamatan untuk aplikasi. Ada banyak informasi bijaksana di tautan itu, tetapi versi singkatnya adalah selalu diingat bahwa ini adalah alat yang:

  • Mampu membuat segalanya di sebuah cara yang sangat bisa dipercayadan
  • Mampu berinteraksi dengan orang.
  • Tidak sulit untuk melihat bahwa kombinasi tersebut berpotensi membahayakan jika digunakan secara tidak bertanggung jawab. Seperti kebanyakan alat, seseorang harus berhati-hati terhadap penyalahgunaan, tetapi alat juga bisa menjadi hal yang luar biasa.

    Apakah Anda Sudah Mendapatkan Ide?

    Menggunakan API tidak gratis dalam jangka panjang, tetapi membuat akun akan memberi Anda satu set kredit gratis yang dapat digunakan untuk bermain-main dan mencoba beberapa ide, dan bahkan menggunakan mesin paling mahal untuk proyek pribadi membutuhkan biaya sedikit sekali Semua eksperimen antusias saya sejauh ini hanya menggunakan uji coba gratis senilai hampir dua dolar USD.

    Butuh inspirasi? Kami telah membahas beberapa proyek yang telah mengarungi arah ini. Game puter robot ini menggunakan AI bahasa alami untuk menghasilkan pembicaraan sampah, dan podcast Deep Dreams seluruhnya terdiri dari dongeng yang dihasilkan mesin sebagai alat bantu tidur, dan dibuat dengan OpenAI API.

    Sekarang setelah Anda mengetahui hal-hal seperti apa yang mungkin dan seberapa mudahnya, mungkin Anda sudah mendapatkan beberapa ide? Beri tahu kami tentang mereka di komentar!