📌 Baca Juga (Scripting & Automation): Bongkar Rahasia Bot UI Pintar: Automasi Desktop Lintas Platform Pakai Python & PyAutoGUI dengan AI & OCR!
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_stateuntuk 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_cacheatau Redis. - Batasi panjang konteks (prompt) agar tidak melebihi token limit.
Keamanan & Privasi Data
Karena bot berinteraksi dengan data pelanggan, terapkan langkah berikut:
- Enkripsi log percakapan bila disimpan di basis data.
- Hapus data sensitif (mis. nomor kartu kredit) sebelum mengirim ke API.
- Gunakan HTTPS pada server Streamlit (mis. dengan
streamlit run --server.enableCORS falsedi 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 --versionuntuk 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_keyterisi dan tidak melewati kuota penggunaan.
Best Practices untuk SEO & AdSense
Untuk memastikan artikel ini ramah Google AdSense dan SEO, perhatikan hal berikut:
- Gunakan kata kunci utama (Scripting & Automation, Pemrograman, Otomatisasi AI) secara natural di judul, sub‑judul, dan paragraf pertama.
- Sisipkan internal link ke artikel terkait di
kodeai.my.id(mis. Tutorial Selenium). - Pastikan kecepatan loading dengan mengoptimalkan gambar dan men‑minify CSS/JS pada tema Streamlit.
- 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.
Posting Komentar