Products and Features
- Membuka Akses Ping pada IP Public VM Cloud Raya
- Maximize Your Storage Raya Access Speed with Content Delivery Network (CDN)
- How to Create Project Tag in Cloud Raya for More Organized VM Billing Report
- Exporting Cloud Raya VM to outer Cloud Raya's Infrastructure using Acronis Cyber Protect
- SSO Management on Cloud Raya
- Easy Steps to Enable VPC in Cloud Raya
- Using the SSH key Feature in Cloud Raya Dashboard
- Cloud Raya Load Balancer, Solution to Distribute Load Equally
- Create your own VPN server with DNS-Level AdBlocker using PiVPN & PiHole in CloudRaya
- Fix Broken LetsEncrypt SSL Certificate due to Expired Root CA Certificate
- Storage Raya - Cloud Raya S3 Object Storage
- How to Make a Snapshot and Configure VM Backup in Cloud Raya
- How to Request Services or Licenses Products
- Adding, Attaching, and Resize Root Storage Disk in Cloud Raya VPS
- Managing your DNS Zone with DNS Bucket in Cloud Raya
- Create VM, Custom Package, Reinstall VM, and Adjusting Security Profile
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Backing-Up Cloud Raya Windows VM Using Acronis Cyber Protect
- Load Balancing in Cloud Raya
- Establishing a VPN in Cloud Raya
- Generating an API Token
- Generating an API key
- Deploying a Virtual Machine in Cloud Raya
- Show Remaining Articles ( 9 ) Collapse Articles
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Maximize Your Storage Raya Access Speed with Content Delivery Network (CDN)
- Managing Storage Raya from various tools and from various OS
- Binding NextCloud with Cloud Raya S3 Object Storage as External Storage Mount
- Storage Raya - Cloud Raya S3 Object Storage
- Exporting Cloud Raya VM to outer Cloud Raya's Infrastructure using Acronis Cyber Protect
- Using the SSH key Feature in Cloud Raya Dashboard
- Adding, Attaching, and Resize Root Storage Disk in Cloud Raya VPS
- Create VM, Custom Package, Reinstall VM, and Adjusting Security Profile
- How to backup Linux VM via Acronis in Cloud Raya
- Backing-Up Cloud Raya Windows VM Using Acronis Cyber Protect
- Deploying a Virtual Machine in Cloud Raya
Integration
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Panduan Menggunakan SSH Key pada VM Cloud Raya dengan PuTTY
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Replatforming Apps to K8s with RKE and GitLab CI
- Integrasi API OpenAI: Completions dalam PHP
- Membangun Email Server di Cloud Raya Menggunakan iRedMail
- Meningkatkan Pengiriman Email dengan Sendinblue SMTP Relay
- Bangun Self Hosted Password Manager menggunakan Passbolt
- How to Install Podman on Almalinux/Rocky Linux 9
- ElkarBackup: GUI Based backup Tools based on Rsync and Rsnapshot
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Otomatisasi Task dengan Cronjob
- Upgrade Zimbra and the OS Version
- Deploy Mailu on Rancher Kubernetes
- Export dan Import Database di MySQL atau MariaDB Menggunakan Mysqldump
- Backup & Sync Local and Remote Directories Using RSYNC
- Managing Storage Raya from various tools and from various OS
- Binding NextCloud with Cloud Raya S3 Object Storage as External Storage Mount
- Simple monitoring and alerting with Monit on Ubuntu 22.04 LTS
- VS Code on your browser! How to install code-server on a VM
- Implementing Redis HA and Auto-Failover on Cloud Raya
- Using XFCE Desktop Environment on Cloud Raya VM
- Installing Python 3.7-3.9 on Ubuntu 22.04 Jammy LTS using PPA
- Implementing Continuous Integration with Gitlab CI and Continuous Delivery with Rancher Fleet
- Using Collabora Online on Cloud Raya NextCloud's VM
- Installing NextCloud in Cloud Raya- Detail Steps from the Beginning to the Very End
- Set Up High Availability PostgreSQL Cluster Using Patroni on Cloud Raya
- Set Up WAF KEMP in Cloud Raya Part 2
- Set Up WAF KEMP in Cloud Raya Part 1
- Using the SSH key Feature in Cloud Raya Dashboard
- Monitor Your Services Uptime Using Uptime Kuma
- Hosting Static Website with Hugo on Cloud Raya
- Kubernetes Ingress Controller using SSL in CloudRaya
- Reverse Proxy management using Nginx Proxy Manager
- Create your own VPN server with DNS-Level AdBlocker using PiVPN & PiHole in CloudRaya
- How to deploy Portainer on Linux to easily manage your docker containers
- High Availability Kubernetes Using RKE in Cloud Raya Part 3
- High Availability Kubernetes Using RKE in Cloud Raya Part 2
- High Availability Kubernetes Using RKE in Cloud Raya Part 1
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Deploying Magento on Cloud Raya
- How to Install Nextcloud on Cloud Raya
- How to Install CWP in Cloud Raya
- How to Install Node.js and Launch Your First Node App
- How to install and secure MariaDB on Ubuntu 18.04 and 20.04 on Cloud Raya
- How to Install and Securing MongoDB on Ubuntu 18.04 and 20.04
- Classes: Post Installation on Ansible
- Classes: Install and Configure Ansible
- Classes: Introduction to Ansible for a robust Configuration Management
- How to Setup Active Directory Domain Service & DNS with Cloud Raya
- How to Host Your Own Docker Hub in Cloud Raya
- How to Setup Your Own Laravel with Nginx in Ubuntu 18.04
- How to Deploy Container in Cloud Raya using Docker
- Securing CentOS with iptables
- Install and Configure Squid Proxy in Ubuntu
- Installing Apache and Tomcat: A Quick Way
- Securing Ubuntu with UFW
- Install a Node.js and Launch a Node App on Ubuntu 18.04
- Installing LAMP in Ubuntu
- Installing LEMP Stack on Ubuntu 18.04
- Show Remaining Articles ( 50 ) Collapse Articles
- Articles coming soon
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Panduan Menggunakan SSH Key pada VM Cloud Raya dengan PuTTY
- Membangun Email Server di Cloud Raya Menggunakan iRedMail
- Meningkatkan Pengiriman Email dengan Sendinblue SMTP Relay
- Bangun Self Hosted Password Manager menggunakan Passbolt
- ElkarBackup: GUI Based backup Tools based on Rsync and Rsnapshot
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Upgrade Zimbra and the OS Version
- Deploy Mailu on Rancher Kubernetes
- Managing Storage Raya from various tools and from various OS
- Binding NextCloud with Cloud Raya S3 Object Storage as External Storage Mount
- Simple monitoring and alerting with Monit on Ubuntu 22.04 LTS
- VS Code on your browser! How to install code-server on a VM
- Implementing Redis HA and Auto-Failover on Cloud Raya
- Using XFCE Desktop Environment on Cloud Raya VM
- Implementing Continuous Integration with Gitlab CI and Continuous Delivery with Rancher Fleet
- Using Collabora Online on Cloud Raya NextCloud's VM
- Installing NextCloud in Cloud Raya- Detail Steps from the Beginning to the Very End
- Set Up WAF KEMP in Cloud Raya Part 2
- Set Up WAF KEMP in Cloud Raya Part 1
- Monitor Your Services Uptime Using Uptime Kuma
- Create your own VPN server with DNS-Level AdBlocker using PiVPN & PiHole in CloudRaya
- How to deploy Portainer on Linux to easily manage your docker containers
- High Availability Kubernetes Using RKE in Cloud Raya Part 3
- High Availability Kubernetes Using RKE in Cloud Raya Part 2
- High Availability Kubernetes Using RKE in Cloud Raya Part 1
- How to Install Nextcloud on Cloud Raya
- Classes: Post Installation on Ansible
- Classes: Install and Configure Ansible
- Classes: Introduction to Ansible for a robust Configuration Management
- Connect Windows Active Directory on Cloud Raya with Azure AD
- How to Host Your Own Docker Hub in Cloud Raya
- How to Deploy Container in Cloud Raya using Docker
- Show Remaining Articles ( 22 ) Collapse Articles
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Integrasi API OpenAI untuk Membangun Chatbot Interaktif dalam Proyek PHP
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Integrasi API OpenAI: Completions dalam PHP
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Otomatisasi Task dengan Cronjob
- How to Deploy Django App on Cloud Raya VM Using Gunicorn, Supervisor, and Nginx
- How to Install Node.js and Launch Your First Node App
- How to Setup Your Own Laravel with Nginx in Ubuntu 18.04
- Install a Node.js and Launch a Node App on Ubuntu 18.04
- Panduan Menggunakan SSH Key pada VM Cloud Raya dengan PuTTY
- Bangun Self Hosted Password Manager menggunakan Passbolt
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Export dan Import Database di MySQL atau MariaDB Menggunakan Mysqldump
- Backup & Sync Local and Remote Directories Using RSYNC
- How to Deploy Django App on Cloud Raya VM Using Gunicorn, Supervisor, and Nginx
- Set Up WAF KEMP in Cloud Raya Part 2
- Set Up WAF KEMP in Cloud Raya Part 1
- Using the SSH key Feature in Cloud Raya Dashboard
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Securing CentOS with iptables
- Securing Ubuntu with UFW
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Integrasi API OpenAI untuk Membangun Chatbot Interaktif dalam Proyek PHP
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Membangun Email Server di Cloud Raya Menggunakan iRedMail
- Bangun Self Hosted Password Manager menggunakan Passbolt
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Installing Python 3.7-3.9 on Ubuntu 22.04 Jammy LTS using PPA
- Reverse Proxy management using Nginx Proxy Manager
- Install and Configure Squid Proxy in Ubuntu
- Installing Apache and Tomcat: A Quick Way
- Installing LAMP in Ubuntu
- Installing LEMP Stack on Ubuntu 18.04
- Show Remaining Articles ( 1 ) Collapse Articles
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Integrasi API OpenAI untuk Membangun Chatbot Interaktif dalam Proyek PHP
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Integrasi API OpenAI: Completions dalam PHP
- Hosting Static Website with Hugo on Cloud Raya
- Deploying Magento on Cloud Raya
- How to Install CWP in Cloud Raya
- How to Setup Active Directory Domain Service & DNS with Cloud Raya
Integrasi API OpenAI: Completions dalam PHP
Belakangan ini, ChatGPT telah menjadi perbincangan hangat di kalangan pengembang dan pecinta teknologi. Kehadirannya yang mampu meniru percakapan manusia dengan cukup menakjubkan telah memikat banyak orang.
Di tengah kehebohan dan kepopuleran yang dihasilkan oleh teknologi kecerdasan buatan seperti ChatGPT ini, saatnya bagi Anda untuk merasakan dampaknya dalam proyek aplikasi Anda sendiri.
Dalam konteks ini, kita membahas integrasi API OpenAI dengan jenis Completions models pada proyek website dengan bahasa pemrograman PHP di dalam VM Cloud Raya, sehingga memungkinkan Anda dalam membuat Help Center menggunakan teknologi dari GPT OpenAI. (generative pre-trained transformer).
- Mendaftarkan Akun pada OpenAI
- Membuat API Key dari OpenAI
- Verifikasi Saldo dan Kredit OpenAI
- Jenis Tugas dan Model Bahasa Berbasis GPT
- Mengenal Prompt Engineering
- Integrasi API Request dengan PHP
- Hasil Implementasi
- Kesimpulan
Mendaftarkan Akun pada OpenAI
Langkah pertama yang harus kita lakukan tentunya adalah dengan mendaftarkan akun terlebih dahulu di OpenAI.
Akses https://platform.openai.com dan tentukan metode dalam membuat akun Anda.

Setelah menyelesaikan beberapa verifikasi harusnya akun kita sudah aktif dan berikut tampilan dari panel utama OpenAI.
Membuat API Key dari OpenAI
Sekarang kita sudah mulai bisa membuat API Key yang disediakan oleh OpenAI.

Klik pada thumbnail akun kita di pojok kanan atas kemudian pilih View API keys

Akan ditampilkan daftar API keys yang kita sudah pernah buat sebelumnya. API Key ini yang nantinya dipergunakan sebagai autentikasi di dalam proyek PHP kita.
Apabila belum memiliki, Anda bisa klik pada + Create new secret key


Masukkan nama dari key yang Anda ingin buat dan setelahnya API key akan dihasilkan. Harap simpan baik-baik key ini karena tidak akan ditampilkan lagi setelahnya.
Verifikasi Saldo dan Kredit OpenAI
Dalam penggunaan API, setiap permintaan akan mengurangi saldo kredit yang tersedia di akun OpenAI. Saat mendaftar di OpenAI, kita akan mendapatkan kredit penggunaan gratis dengan batas waktu tertentu sebelum kadaluwarsa.
Sebelum melanjutkan, penting untuk memastikan bahwa saldo kredit aktif masih tersedia di akun Anda.
Untuk melakukan pengecekan, akses pada halaman Usage.

Pada akun saya, saya menggunakan Free trial credits yang diberikan oleh OpenAI dengan masa kadaluwarsa yaitu 1 Juli 2023.
Sedikit tambahan informasi, layanan API dan langganan ChatGPT Plus dikenai biaya secara terpisah.
Jika saldo OpenAI sudah kadaluwarsa atau telah habis, disarankan untuk melihat model harga yang ditawarkan oleh OpenAI pada halaman berikut untuk informasi lebih lanjut.
Sedangkan langganan ChatGPT Plus mencakup penggunaan di https://chat.openai.com/ saja dan memiliki biaya $20/bulan.
Jenis Tugas dan Model Bahasa Berbasis GPT
Menurut dokumentasi referensi API dari OpenAI, beberapa jenis tugas yang dapat dilakukan adalah melalui model Completions dan model Chats.

Secara sederhana, Completions memungkinkan model menghasilkan output berdasarkan prompt yang kita berikan.
Sementara itu, Chat memungkinkan kita untuk berinteraksi secara langsung dengan model. Dengan memberikan daftar pesan berupa pertanyaan atau pernyataan, model akan merespons setiap pesan secara berurutan, seolah-olah kita sedang berkomunikasi dengan orang lain. Metode ini berguna jika kita ingin menjalani percakapan yang lebih alami dan dinamis dengan model.

Tiap tugas ini memiliki API Endpoint yang berbeda.
Dalam tutorial ini, kita akan membahas terlebih dahulu mengenai Completions.
Mengenal Prompt Engineering

Dalam Completions, terdapat sebuah parameter yang sangat penting, yaitu prompt, sebagaimana telah dijelaskan sebelumnya. Apakah maksud dari prompt?
Prompt adalah teks atau instruksi yang Anda berikan kepada bot sebagai masukan awal. Ini memberikan panduan atau arahan kepada bot tentang apa yang diharapkan dari responsnya.
Ketika kita menggunakan kecerdasan buatan (AI), Anda akan mendapatkan hasil yang lebih diinginkan jika Anda mengatur prompt (instruksi) dengan sejelas dan sebaik mungkin.
Sebagai contoh, kita dapat melihat berbagai macam skenario yang telah disediakan oleh OpenAI di halaman Example ini.

Kita coba ambil contoh dari skenario penggunaan Grammar Correction ini.

Jadi, kita menyatakan prompt terlebih dahulu di awal, di mana kita ingin agar model dapat memperbaiki input yang kita berikan sehingga menjadi bahasa Inggris dengan standar yang baik. Dengan demikian, hasilnya akan lebih sesuai tergantung pada prompt yang kita berikan.
Sebenarnya, masih ada banyak sekali skenario penggunaan lain yang dapat kita lakukan selain dari yang tercantum dalam halaman example ini, selama prompt yang kita nyatakan tersebut terperinci.
Integrasi API Request dengan PHP

Jika masih melihat pada dialog example di atas, komunikasi dengan API OpenAI masih terbatas pada lingkungan Python, Node JS, cURL, dan JSON. Namun kita bisa memanfaatkan sintaks cURL tersebut agar dapat mengirim permintaan HTTP menggunakan cURL dalam PHP.
Kita memerlukan fungsi-fungsi cURL seperti curl_init()
, curl_setopt()
, curl_exec()
, dan lainnya. Dengan menggunakan fungsi-fungsi ini, kita dapat mengatur opsi-opsi permintaan seperti URL, header, tipe konten, metode, dan data permintaan yang diperlukan.
Hasil konversi dan modifikasinya akan menjadi kurang lebih seperti ini:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$openaiApiKey = "YOUR_API_KEY";
$data = array(
"model" => "text-davinci-003",
"prompt" => "Correct this to standard English:\n\nShe no went to the market.",
"temperature" => 0,
"max_tokens" => 60,
"top_p" => 1,
"frequency_penalty" => 0.0,
"presence_penalty" => 0.0
);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.openai.com/v1/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer " . $openaiApiKey,
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
$content = $result['choices'][0]['text'];
echo $content;
?>
Untuk Completions, Kita gunakan Endpoint https://api.openai.com/v1/completions
.
Sintaks error_reporting(E_ALL)
dan ini_set('display_errors', 1)
digunakan untuk mengatur pelaporan dan tampilan kesalahan dalam PHP. Dengan menggunakan kedua sintaks ini, semua jenis kesalahan PHP akan ditampilkan dan pesan kesalahan akan muncul di browser. Sintaks ini sangat berguna dalam memantau adanya kesalahan, seperti ketika terjadi masalah dengan API key atau saat credit usage kita sudah habis atau telah melewati batas waktu yang ditentukan.
Tampilan hasil dari sintaks API request tersebut di browser akan terlihat seperti berikut.
She did not go to the market.
Dari konteks tampilan yang sederhana ini, kita sudah dapat memulai mengintegrasikannya dengan antarmuka pengguna yang lebih menarik, lengkap, dan sesuai dengan tujuan aplikasi PHP kita.
▶️ Parameter Kunci
Namun sebelum itu, pastikan Anda sudah memahami beberapa parameter kunci yang berguna untuk mengontrol hasil dari percakapan yang dihasilkan oleh model.
⏭️ YOUR_OPENAI_API_KEY
Parameter ini adalah kunci API yang diperlukan untuk melakukan autentikasi dan otorisasi saat mengakses layanan API OpenAI.
⏭️ model
Parameter ini menentukan model yang digunakan dalam generasi chat.
Untuk Completions, model terbaik saat ini yang bisa digunakan adalah “text-davinci-003
“. Gunakan referensi berikut untuk melihat daftar model lainnya berdasarkan jenis endpoint-nya.
⏭️ prompt
Kita tuliskan instruksi yang diinginkan mengenai penggunaan model ini di sini. Untuk mendapatkan hasil yang optimal, pastikan untuk mengatur prompt dengan jelas dan terperinci.
⏭️ temperature
Dengan mengatur temperature
, kita dapat mempengaruhi tingkat keacakan dan variasi dalam respons yang dihasilkan oleh model. Temperatur tinggi dapat menghasilkan respons yang lebih bervariasi dan kreatif, sementara temperatur rendah cenderung menghasilkan respons yang lebih terprediksi dan konservatif. Nilai yang umum digunakan berkisar antara 0,1 hingga 1,0.
Skenario: Pemesanan Tiket Pesawat ke Bali
Pertanyaan: “Halo, saya ingin memesan tiket pesawat ke Bali.”
Temperatur Rendah (0.2):
- Chatbot: “Tentu, saya bisa membantu Anda dengan itu. Mohon berikan detail keberangkatan dan tanggal yang diinginkan.”
- Respons ini menampilkan respons yang lebih konservatif dan langsung ke intinya.
Temperatur Tinggi (0.8):
- Chatbot: “Halo! Selamat datang di layanan pemesanan tiket pesawat. Bali adalah surga tropis yang menakjubkan untuk dijelajahi. Berikan saya informasi keberangkatan dan tanggal yang diinginkan, dan saya akan mengeluarkan keajaiban penerbangan untuk Anda!”
- Memberikan respons yang lebih kreatif dan menghadirkan nuansa liburan yang menarik.
⏭️ max_tokens
max_tokens
adalah parameter yang menentukan jumlah maksimum token dalam respons model. Semakin tinggi nilainya, respons akan menjadi lebih panjang. Namun, perlu diingat bahwa setiap token mengonsumsi credit usage, sehingga semakin tinggi max_tokens, semakin cepat credit digunakan. Penting untuk memperhatikan nilai max_tokens agar sesuai dengan kebutuhan dan batas credit yang tersedia.
⏭️ top_p
top_p
(Top Probability) adalah parameter yang mengendalikan sejauh mana token-token dengan probabilitas tertinggi dipertimbangkan dalam generasi teks. Akan mempengaruhi variasi dan kejutan dalam respons yang dihasilkan oleh model. Semakin rendah nilai top_p, respons lebih konservatif dan gampang diprediksi, sementara semakin tinggi nilai top_p, respons lebih bervariasi.
Skenario: Rekomendasi destinasi terbaik di Bali.
Pertanyaan: “Apa destinasi terbaik di Bali?”
top_p
Rendah (0.2):
- Chatbot: “Destinasi terbaik di Bali adalah Pantai Kuta, Pantai Sanur, dan Ubud. Mereka menawarkan keindahan alam yang menakjubkan dan pengalaman budaya yang kaya.”
- Respons model cenderung lebih konservatif dan memilih opsi yang diprediksi sebagai destinasi terbaik.
top_p
Tinggi (0.8):
- Chatbot: “Destinasi terbaik di Bali bisa menjadi pilihan yang sulit! Pantai Kuta menawarkan keindahan pantai yang memesona, sementara Ubud menyuguhkan kehidupan seni yang berpadu dengan alam yang hijau. Jika Anda mencari petualangan, Anda dapat menjelajahi Nusa Penida dengan pemandangan tebing yang menakjubkan. Atau, Anda bisa mengunjungi Lovina dan menikmati keindahan matahari terbenam yang menenangkan. Pilih destinasi yang sesuai dengan minat dan preferensi Anda!”
- Respons model lebih bervariasi dan memberikan pilihan yang lebih kreatif dalam rekomendasinya.
⏭️ frequency_penalty
frequency_penalty
(penalti frekuensi) digunakan untuk mengatur sejauh mana model cenderung mengulangi kata-kata yang sering muncul dalam percakapan.
Penalti ini mengurangi probabilitas kata-kata umum sehingga model lebih cenderung menghasilkan kata-kata yang lebih unik dalam responsnya.
Skenario: Hobi favorit.
y Rendah (0.2):frequency_penalt
- Manusia: “Apa hobi favoritmu?”
- Chatbot: “Hobi favorit saya adalah bermain game.”
- Manusia: “Menarik. Apa hobi favoritmu selain bermain game?”
- Chatbot: “Hobi favorit saya adalah bermain game.”
frequency_penalty
Tinggi (0.8):
- Manusia: “Apa hobi favoritmu?”
- Chatbot: “Hobi favorit saya adalah bermain game.”
- Manusia: “Menarik. Apa hobi favoritmu selain bermain game?”
- Chatbot: “Hobi favorit saya adalah bermain game. Saya juga suka menghabiskan waktu bersama teman-teman dan keluarga.”
⏭️ presence_penalty
presence_penalty
(penalti kehadiran) mengatur sejauh mana model cenderung menghasilkan kata-kata yang sudah ada dalam input teks.
Penalti ini mengurangi probabilitas kata-kata yang sudah ada dalam input sehingga model lebih cenderung menghasilkan kata-kata yang belum ada dalam input, mendorong kebaruan dalam responsnya.
Skenario: Hobi favorit.
presence
y Rendah (0.2):_penalt
- Manusia: “Apa hobi favoritmu?”
- Chatbot: “Hobi favoritku adalah bermain game.”
- Model mengulangi kata “hobi favorit” yang sudah ada di dalam input teks.
presence
_penalty
Tinggi (0.8):
- Manusia: “Apa hobi favoritmu?”
- Chatbot: “Saya suka melakukan banyak hal. Salah satunya bermain game.”
- Model menghasilkan kata-kata yang belum ada dalam input.
Catatan: Baik frequency_penalty maupun presence_penalty bertujuan untuk meningkatkan keberagaman teks yang dihasilkan, namun keduanya melakukannya dengan cara yang berbeda. Frequency penalty menghindari pengulangan kata-kata umum, sedangkan presence penalty menghindari menghasilkan kata-kata yang sudah ada dalam input.
Akses dokumentasi berikut untuk mengetahui lebih lanjut mengenai kumpulan parameter-parameter tersebut.
Atau sebenarnya Anda juga bisa langsung mensimulasikan konfigurasi parameter yang diinginkan dengan mengakses halaman playground.

Namun, perlu dicatat bahwa penggunaan playground juga akan mengurangi kuota penggunaan Anda.
Hasil Implementasi
Setelah kita memahami parameter utama dan kerangka permintaan API dari OpenAI, kita dapat mengkreasikannya dalam contoh implementasi pada aplikasi.
Di sini, saya telah membuat sebuah aplikasi PHP sederhana di dalam VM Cloud Raya. Aplikasi akan berfungsi sebagai Trip Advisor, yang memungkinkan pengguna untuk meminta rekomendasi destinasi menarik di suatu lokasi.
Dalam prompt tersebut, saya telah menyatakan beberapa kondisi dan batasan masalah yang ingin diterapkan pada bot ini saat beroperasi.
Kesimpulan
Melalui tutorial ini kami berharap Anda mendapatkan pemahaman yang baik tentang integrasi API OpenAI dengan jenis tugas Completions pada proyek website dengan bahasa pemrograman PHP di dalam VM Cloud Raya.
Integrasi kecerdasan buatan seperti ini dapat membuka berbagai peluang untuk meningkatkan interaksi dan pengalaman pengguna di situs web.
Kunjungi halaman Knowledge Base Cloud Raya untuk tutorial menarik lainnya seputar aktifitas di dalam cloud computing. Atau, jika Anda lebih suka menyimak melalui video, silakan mengunjungi channel Youtube kami.