Senin, 05 Februari 2024

Tutorial n8n.io: Cara membuat Bot ChatGPT Discord

Discord tidak lagi hanya menjadi tempat bermain bagi para gamer. Platform ini telah menjadi alat kunci untuk berbagai komunitas, bahkan memperluas jangkauannya ke dunia bisnis. Salah satu kekuatannya terletak pada kemampuan otomatisasinya, menghilangkan tugas-tugas yang repetitif dan meningkatkan keterlibatan komunitas.


Dalam tutorial hari ini, kita akan menjelajahi proses menggabungkan kekuatan Discord dan kecerdasan buatan ChatGPT menggunakan n8n. Anda akan belajar cara menemukan peluang otomatisasi dan mengatur bot Discord ChatGPT yang ramah pengguna dan efisien (tanpa perlu pemrograman)!

Cara Membuat Bot ChatGPT Discord: Contoh Bot Discord Berbasis AI

Cara Membangun Bot ChatGPT Discord dengan n8n?

Sebelum melangkah lebih jauh dengan integrasi GPT-3/4 ke saluran Discord Anda, mari mundur sejenak dan berpikir tentang strategi otomatisasi.

Pertama-tama, webhook saluran Discord beroperasi sebagai jalur satu arah. Mereka dapat memposting konten ke saluran, tetapi balasan pengguna tidak dapat diperoleh. Bagaimana kita dapat memanfaatkannya sebaik mungkin?

  • Operasi bisnis seringkali melibatkan pengumuman rutin. Contoh meliputi pengingat timesheet, garis besar bulanan, atau ringkasan aktivitas harian;
  • Beberapa pemberitahuan juga dipicu oleh peristiwa tertentu: permintaan help desk, laporan status sistem, atau peringatan insiden.
  • Dalam skenario yang lebih sederhana, pengembang dapat mengotomatisasi posting ini tanpa perlu ChatGPT. Namun, penggunaan model kecerdasan buatan menawarkan keunggulan unik:
  • Model Bahasa Besar (LLM) seperti GPT dapat menghasilkan pengumuman yang lebih mirip manusia, menghindari nada robotik;
  • GPT dapat melakukan penalaran dasar, bertindak sebagai asisten yang berguna, membuat proses pengembangan Anda lebih efisien. Daripada berurusan dengan kode yang kompleks, Anda dapat memberikan instruksi dalam bahasa alami;

Dengan rekayasa prompt yang tepat, LLM dapat merespons dalam format JSON yang seragam yang dapat diproses secara otomatis pada langkah-langkah berikutnya.

Bayangkan sistem help desk. Pengguna mengirim pertanyaan, keluhan, atau umpan balik mereka yang kemudian harus ditriase oleh agen help desk. Mereka harus menentukan apakah akan merespons atau meneruskan permintaan ke tim TI atau manajer keberhasilan pelanggan.

Mengapa tidak mengotomatisasi proses triase dalam bot Discord ChatGPT? Lebih baik lagi, mengapa tidak mengirimkan pemberitahuan ramah kepada departemen yang relevan?

Langkah 1. Persiapkan Tools Anda

  • Automasi Discord hadir dalam beberapa varian. Pengembang dapat membuat:
  • Chatbot berukuran penuh yang dapat merespons pesan pengguna dan tindakan lainnya
  • Fungsionalitas perintah garis miring (pikirkan pendekatan Midjourney)
  • Kiriman saluran melalui webhook.
  • Pendekatan terakhir adalah yang paling sederhana untuk diimplementasikan. Ikuti instruksi ini dan atur integrasi webhook saluran Discord.

Setelah Anda mendapatkan webhook untuk saluran Discord Anda, ada beberapa langkah persiapan lain yang perlu diambil:

  • Pilih versi cloud n8n atau coba versi enterprise yang kuat.
  • Daftar di platform OpenAI dan dapatkan kunci API baru.

Langkah 2. Terima Umpan Balik Pengguna

Karena ada banyak sistem help desk, kita menggunakan webhook sederhana untuk mensimulasikan permintaan pengguna yang masuk.

Cara Membuat Bot ChatGPT DiscordBuat webhook sederhana dengan Metode HTTP POST

Cukup taruh node Webhook baru di kanvas dan sesuaikan Metode HTTP menjadi POST. Ini diperlukan karena kita akan mengirimkan permintaan pengguna dalam format JSON.

Setelah membuat webhook baru, Anda dapat mengujinya di Reqbin, Postman, atau platform serupa.

Contoh permintaan POST ke webhook n8n

Isi URL webhook yang baru Anda buat (jangan lupa periksa URL tes vs produksi), ubah Metode HTTP menjadi POST, dan tulis JSON dengan satu kunci "feedback".

Dalam skenario dunia nyata, permintaan yang masuk akan memiliki informasi tambahan, seperti nama pengguna, URL dalam sistem help desk, dll. Saat ini, kita hanya tertarik pada teks pengguna saja.

Jika Anda melakukan semuanya dengan benar, Anda akan melihat pesan masuk baru dalam riwayat eksekusi.

Webhook berhasil menerima umpan balik pengguna simulasi

Langkah 3. Analisis Permintaan Masuk

Biasanya, sistem help desk memiliki jenis daftar drop-down di mana pengguna dapat memilih kategori permintaan. Namun, beberapa isu harus ditingkatkan atau diteruskan ke suatu departemen tertentu. Dan di sinilah ChatGPT masuk.

Mari letakkan node OpenAI tepat setelah Webhook dan konfigurasikan dengan cara berikut:

  • Node OpenAI diatur dalam mode penyelesaian obrolan dengan model GPT-4
  • Jumlah Maksimum Token tergantung pada tugas Anda. Anda mungkin ingin meningkatkannya jika Anda mengharapkan balasan panjang dari GPT.

Suhu sampling biasanya disesuaikan melalui uji coba dan kesalahan. Jika nilai terlalu tinggi, model akan berperilaku tidak terduga, dan jika nilai terlalu rendah, hasilnya terlalu repetitif. Kami telah menemukan bahwa suhu untuk tugas kategorisasi dapat diatur sekitar 0,5, sehingga struktur JSON dipertahankan dan variasi jawaban tidak terlalu terbatas. Anda dapat membaca lebih lanjut tentang parameter GPT di halaman dokumentasi API.

Cara Membuat Bot ChatGPT Discord: Berperan Sebagai Penyedia Layanan Help Desk

Selanjutnya, ada satu peran sistem sederhana: "Berperan sebagai agen pusat layanan dan membantu mengategorikan pesan pengguna. Kembalikan hanya JSON tanpa tanda kutip. Jangan kembalikan yang lain." Kami meminta model GPT untuk hanya mengembalikan JSON tanpa tanda kutip, ini penting untuk pemrosesan otomatis lebih lanjut.

Terakhir, ada juga satu pesan di bawah peran Pengguna dengan instruksi lebih rinci:

"Berikut umpan balik pengguna: "{{ $json.body.feedback }}". Tolong analisis dan masukkan ke salah satu kategori berikut:

"cerita-sukses" untuk apresiasi atau cerita keberhasilan pengguna. Ini akan diproses oleh departemen keberhasilan pelanggan

"masalah-urgensi" untuk ketidakpuasan ekstrem atau masalah mendesak. Ini akan ditingkatkan ke tim TI. Harap pertimbangkan, apakah permintaan benar-benar mendesak dan apakah memiliki dampak langsung pada klien. Jika tiket tidak terlihat seperti masalah langsung atau ketidakpuasan ekstrem, lanjutkan sebagai tiket normal.

"tiket" untuk segala hal lain. Ini akan diproses seperti biasa oleh tim dukungan pelanggan.

Tolong kembalikan JSON dengan struktur berikut: kategori (string), umpan balik (string), instruksi (string).

"Kategori" harus sesuai dengan kategori yang dianalisis. "Umpan balik" harus sesuai dengan teks asli. "Instruksi" harus berisi teks untuk departemen sesuai kategori dengan ringkasan umpan balik satu kalimat. Tolong bersikap sopan dan ramah kepada rekan-rekan Anda."

Perhatikan bahwa kami meminta GPT untuk melakukan tugas klasifikasi dan kemudian kami menjelaskan bagaimana kami ingin melihat balasannya. Ini adalah rekayasa prompt sederhana yang ditulis dalam bahasa Inggris yang sederhana. Jika Anda pernah bekerja pada proyek pembelajaran mesin klasik, Anda bisa membayangkan seberapa sulitnya tugas yang sama persis pada masa lalu.

Bagian terbaik dari rekayasa prompt dengan GPT adalah bahwa Anda dapat dengan mudah menyesuaikan tugas Anda. Misalnya, Anda mungkin ingin menambahkan kategori tambahan atau memberikan konteks lebih lanjut ke model (misalnya, waktu hari ketika permintaan diajukan).

Langkah 4. Kirim Tugas ke Saluran Discord

Sekarang, setelah kita telah memberi instruksi kepada GPT dan menerima JSON, kita perlu melakukan beberapa langkah pemrosesan lebih lanjut.

Pertama, mari kita lihat Parse JSON. GPT mengembalikan balasan JSON dengan kunci "content". Di dalam kunci ini, ada JSON yang di-stringify yang kita minta. Seperti yang Anda lihat, ada tiga kunci: kategori, umpan balik, dan instruksi.

Perlu kita parse JSON yang datang dari GPT

Sekarang kita perlu mengurai teks ini dengan menggunakan ekspresi berikut: {{ JSON.parse( $json.message.content.replace(/\n(?=[^"]"(?:[^"]"[^"]")[^"]*$)/g, '\n')) }}

Mengapa kita menggunakan fungsi replace()? Terkadang GPT mengembalikan JSON yang tidak valid dengan karakter khusus di dalam tanda kutip. Karakter pemisah baris adalah kasus paling umum. Kami perlu menyamarkan karakter tersebut sebelum mengurai JSON, itulah mengapa kami menggunakan ekspresi reguler generik yang mencari simbol \n yang tidak tersembunyi dalam tanda kutip dan mengonversinya menjadi \n. Dengan trik kecil ini, kami mengurangi kemungkinan kegagalan alur kerja.

Kedua, setelah kita membuat kunci JSON "gpt_reply" yang baru dengan balasan yang diurai, sekarang kita dapat memutuskan di saluran mana bot Discord ChatGPT baru kita akan memposting pesan. Ini dilakukan dalam Pilih kategori:

Node Switch mengarahkan balasan berdasarkan kategori yang ditugaskan oleh GPT

Terakhir, kita memerlukan beberapa node Discord untuk setiap saluran di mana Anda ingin memposting.

Contoh umpan balik pengguna simulasi kami diklasifikasikan sebagai cerita sukses pelanggan

0 komentar:

Posting Komentar