Chat Bot Scraper

Dalam dunia teknologi, chatbot telah menjadi alat yang semakin penting untuk berbagai aplikasi seperti layanan pelanggan, edukasi, dan hiburan.

Muhamad Nur Ibad

9 Januari 20251 menit baca

Membuat Chatbot dengan Model GPT-4 Menggunakan Node.js

Dalam dunia teknologi, chatbot telah menjadi alat yang semakin penting untuk berbagai aplikasi seperti layanan pelanggan, edukasi, dan hiburan. Pada artikel ini, kita akan membahas bagaimana cara membangun chatbot sederhana menggunakan Node.js dan model GPT-4 melalui sebuah API.

Berikut adalah kode programnya:

const axios = require("axios");

const chatbot = {
  send: async (message, model = "gpt-4o-mini") => {
    try {
      const modelx = [
        "gpt-3.5-turbo",
        "gpt-3.5-turbo-0125",
        "gpt-4o-mini",
        "gpt-4o",
      ];
      if (!modelx.includes(model)) {
        throw new Error(
          "Model nya kagak valid! Pilih salah satu: " + modelx.join(", "),
        );
      }
      const payload = {
        messages: message,
        model: model,
      };
      const response = await axios
        .post(
          "https://mpzxsmlptc4kfw5qw2h6nat6iu0hvxiw.lambda-url.us-east-2.on.aws/process",
          payload,
          {
            headers: {
              "Content-Type": "application/json",
              "User-Agent": "Postify/1.0.0",
            },
          },
        )
        .catch((e) => e.response);
      return response.data;
    } catch (error) {
      console.error(error);
      throw error;
    }
  },
};

module.exports = chatbot;

Penjelasan Kode

1. Mengimpor Modul Axios

const axios = require("axios");

Axios adalah library HTTP client berbasis Promise yang memudahkan komunikasi dengan API eksternal. Dalam kode ini, Axios digunakan untuk mengirim permintaan POST ke API chatbot.

2. Fungsi send

Fungsi utama untuk mengirim pesan ke API chatbot. Fungsi ini memiliki dua parameter:

  • message: Berisi pesan yang akan dikirim.

  • model: Model chatbot yang digunakan (default adalah gpt-4o-mini).

3. Validasi Model

const modelx = [
  "gpt-3.5-turbo",
  "gpt-3.5-turbo-0125",
  "gpt-4o-mini",
  "gpt-4o",
];
if (!modelx.includes(model)) {
  throw new Error(
    "Model nya kagak valid! Pilih salah satu: " + modelx.join(", "),
  );
}

Fungsi send memeriksa apakah model yang dimasukkan valid. Jika tidak, akan memunculkan pesan kesalahan.

4. Payload

const payload = {
  messages: message,
  model: model,
};

Payload adalah data yang dikirim ke API dalam format JSON. Field messages berisi input pengguna, sedangkan model menentukan versi model yang digunakan.

5. Permintaan ke API

const response = await axios.post(
  "https://mpzxsmlptc4kfw5qw2h6nat6iu0hvxiw.lambda-url.us-east-2.on.aws/process",
  payload,
  {
    headers: {
      "Content-Type": "application/json",
      "User-Agent": "Postify/1.0.0",
    },
  }
);

Permintaan dikirim ke URL API dengan payload dan header yang telah ditentukan.

6. Penanganan Kesalahan

.catch((e) => e.response);

Jika permintaan gagal, program akan menangkap dan mengembalikan respons kesalahan.

Cara Menggunakan Chatbot

1. Instalasi Dependensi Pastikan Node.js dan Axios telah terinstal. Anda bisa menginstal Axios dengan perintah berikut:

npm install axios

2. Memanggil Fungsi Chatbot Berikut adalah contoh penggunaan:

const chatbot = require('./path/to/chatbot');

(async () => {
  try {
    const message = [{ role: "user", content: "Apa itu chatbot?" }];
    const response = await chatbot.send(message, "gpt-4o-mini");
    console.log(response);
  } catch (error) {
    console.error("Terjadi kesalahan:", error.message);
  }
})();

Kesimpulan

Chatbot berbasis GPT adalah alat yang sangat kuat untuk menangani interaksi berbasis teks secara otomatis. Dengan menggunakan kode ini, Anda dapat dengan mudah membuat chatbot yang mendukung beberapa model GPT dan terhubung ke API eksternal. Integrasikan chatbot ini ke aplikasi Anda untuk meningkatkan pengalaman pengguna!

Creator: Axel
Sumber: https://github.com/AxellNetwork