Pengenalan: Mengapa Membuat Bot Otomatisasi ChatGPT dengan Selenium dan Streamlit?

Di era digital saat ini, dukungan pelanggan yang responsif menjadi kunci utama untuk mempertahankan kepuasan pengguna. Dengan kemampuan Otomatisasi AI yang semakin maju, mengintegrasikan ChatGPT ke dalam alur kerja dapat mengurangi beban tim support sekaligus meningkatkan kecepatan respons. Artikel ini akan membahas langkah‑langkah lengkap untuk membuat bot otomatisasi ChatGPT menggunakan Selenium dan Streamlit, serta bagaimana mengoptimalkannya untuk Scripting & Automation yang efisien.

Prasyarat & Lingkungan Pengembangan

Software dan Library yang Diperlukan

  • Python 3.9+ (direkomendasikan 3.11)
  • pip (manajer paket Python)
  • Google Chrome atau Chromium (versi terbaru)
  • ChromeDriver yang cocok dengan versi browser
  • OpenAI API key (untuk mengakses ChatGPT)

Instalasi Library

pip install selenium streamlit openai python-dotenv

Gunakan python-dotenv untuk mengelola variabel lingkungan secara aman.

Mengatur Selenium untuk Interaksi Web

1. Mengunduh ChromeDriver

Unduh ChromeDriver yang sesuai dengan versi Chrome Anda di situs resmi. Simpan file chromedriver.exe (atau chromedriver untuk Linux/macOS) di folder proyek.

2. Membuat Helper Selenium

import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

def init_driver():
    chrome_options = Options()
    chrome_options.add_argument("--headless")          # Jalankan tanpa UI
    chrome_options.add_argument("--disable-gpu")
    chrome_options.add_argument("--no-sandbox")
    service = Service(executable_path=os.getenv("CHROMEDRIVER_PATH"))
    driver = webdriver.Chrome(service=service, options=chrome_options)
    return driver

def get_chatgpt_response(prompt: str) -> str:
    driver = init_driver()
    driver.get("https://chat.openai.com/")
    # Logika login & menunggu elemen muncul (disederhanakan)
    # ...
    # Kirim prompt dan ambil balasan
    # ...
    driver.quit()
    return "Balasan simulasi dari ChatGPT"

Catatan: Pada implementasi produksi, gunakan API OpenAI langsung (openai.ChatCompletion.create) untuk kecepatan dan stabilitas. Selenium di sini berfungsi sebagai contoh scraping bila API tidak tersedia.

Membangun Antarmuka Pengguna dengan Streamlit

1. Struktur Dasar Aplikasi Streamlit

import streamlit as st
import openai
from dotenv import load_dotenv
import os

load_dotenv()  # Membaca .env

openai.api_key = os.getenv("OPENAI_API_KEY")

st.title("🤖 Bot Dukungan Pelanggan AI")
st.caption("Integrasi ChatGPT dengan Selenium & Streamlit")

user_input = st.text_area("Tulis pertanyaan Anda:", height=150)

if st.button("Kirim"):
    if user_input.strip():
        with st.spinner("Memproses..."):
            # Pilihan: gunakan API atau Selenium
            response = openai.ChatCompletion.create(
                model="gpt-4o-mini",
                messages=[{"role": "user", "content": user_input}]
            )
            answer = response.choices[0].message.content
        st.success("Balasan Bot:")
        st.markdown(f"
{answer}
", unsafe_allow_html=True) else: st.warning("Silakan masukkan pertanyaan terlebih dahulu.")

Kode di atas menampilkan antarmuka sederhana yang dapat dijalankan dengan perintah streamlit run app.py. Pengguna mengetik pertanyaan, dan bot mengembalikan jawaban dalam format blockquote yang rapi.

2. Menambahkan Fitur Riwayat Percakapan

  • Gunakan st.session_state untuk menyimpan chat log.
  • Berikan tombol “Hapus Riwayat” untuk memulai percakapan baru.
if "history" not in st.session_state:
    st.session_state.history = []

if st.button("Kirim"):
    # ... proses seperti sebelumnya
    st.session_state.history.append({"user": user_input, "bot": answer})

st.subheader("Riwayat Percakapan")
for msg in st.session_state.history:
    st.markdown(f"**Anda:** {msg['user']}")
    st.markdown(f"> {msg['bot']}")

Strategi Scripting & Automation yang Efektif

Pengelolaan Token API

Pastikan OPENAI_API_KEY disimpan dalam file .env dan tidak pernah di‑commit ke repositori publik. Contoh isi .env:

OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXXXXXXXXXX
CHROMEDRIVER_PATH=./chromedriver

Optimasi Waktu Respons

  • Gunakan model ringan (mis. gpt-4o-mini) untuk pertanyaan umum.
  • Cache jawaban untuk pertanyaan berulang menggunakan functools.lru_cache atau Redis.
  • Batasi panjang konteks (prompt) agar tidak melebihi token limit.

Keamanan & Privasi Data

Karena bot berinteraksi dengan data pelanggan, terapkan langkah berikut:

  1. Enkripsi log percakapan bila disimpan di basis data.
  2. Hapus data sensitif (mis. nomor kartu kredit) sebelum mengirim ke API.
  3. Gunakan HTTPS pada server Streamlit (mis. dengan streamlit run --server.enableCORS false di belakang reverse proxy).

Deploy Bot ke Lingkungan Produksi

Gunakan Platform Cloud

Beberapa pilihan populer untuk men-deploy aplikasi Streamlit:

  • Streamlit Community Cloud – Gratis, cocok untuk prototipe.
  • Render.com atau Fly.io – Menyediakan container Docker dengan skala otomatis.
  • Google Cloud Run – Integrasi mudah dengan Secret Manager untuk menyimpan API key.

Contoh Dockerfile Sederhana

FROM python:3.11-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .

ENV PORT=8501
EXPOSE 8501

CMD ["streamlit", "run", "app.py", "--server.port", "8501", "--server.enableCORS", "false"]

Bangun image dengan docker build -t chatbot-ai . dan jalankan docker run -p 8501:8501 chatbot-ai.

Tips Pemecahan Masalah Umum

  • ChromeDriver tidak cocok: Pastikan versi Chrome dan ChromeDriver identik. Jalankan chromedriver --version untuk verifikasi.
  • API rate limit: Tambahkan jeda (time.sleep(1)) atau gunakan batching bila mengirim banyak permintaan sekaligus.
  • Streamlit tidak menampilkan UI: Periksa log console untuk error import atau konflik port.
  • Respons kosong dari ChatGPT: Pastikan openai.api_key terisi dan tidak melewati kuota penggunaan.

Best Practices untuk SEO & AdSense

Untuk memastikan artikel ini ramah Google AdSense dan SEO, perhatikan hal berikut:

  1. Gunakan kata kunci utama (Scripting & Automation, Pemrograman, Otomatisasi AI) secara natural di judul, sub‑judul, dan paragraf pertama.
  2. Sisipkan internal link ke artikel terkait di kodeai.my.id (mis. Tutorial Selenium).
  3. Pastikan kecepatan loading dengan mengoptimalkan gambar dan men‑minify CSS/JS pada tema Streamlit.
  4. Letakkan iklan AdSense di posisi above the fold dan di akhir artikel (sebelum <h2>Kesimpulan</h2>) untuk meningkatkan CPM.

💡 Baca Juga & Rekomendasi Jaringan AI Network:

  • Gunakan racikan prompt profesional di SolusiAI.my.id (Rekomendasi Tools & Otomatisasi AI).
  • Pelajari tutorial skrip dan otomatisasi teknis di PromptHack.my.id (Kumpulan AI Prompt & Content Growth).

Kesimpulan

Dengan menggabungkan Selenium untuk kontrol browser, OpenAI API untuk kecerdasan percakapan, dan Streamlit sebagai antarmuka interaktif, Anda dapat menciptakan bot dukungan pelanggan yang cepat, dapat di‑scale, dan mudah dipelihara. Ikuti langkah‑langkah di atas, perhatikan keamanan data, serta terapkan praktik Scripting & Automation yang baik untuk menghasilkan solusi Otomatisasi AI yang handal dan siap bersaing di pasar digital.

Post a Comment

Lebih baru Lebih lama