Era Chatbot AI Sudah Dimulai
Di 2026, mengintegrasikan kemampuan AI ke dalam aplikasi bukan lagi hak eksklusif perusahaan besar. Dengan OpenAI API dan Python, seorang developer solo pun bisa membangun chatbot cerdas dalam hitungan jam.
Persiapan Lingkungan
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
pip install openai python-dotenv fastapi uvicorn
File .env:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_MODEL=gpt-4o-mini
Chatbot Dasar dengan Memory Percakapan
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def chatbot():
messages = [
{
"role": "system",
"content": "Kamu adalah ReyBot, asisten IT berbahasa Indonesia."
}
]
print("ReyBot aktif! Ketik 'keluar' untuk berhenti.\n")
while True:
user_input = input("Kamu: ").strip()
if user_input.lower() == "keluar":
break
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
max_tokens=800
)
reply = response.choices[0].message.content
messages.append({"role": "assistant", "content": reply})
print(f"\nReyBot: {reply}\n")
Membungkus sebagai REST API dengan FastAPI
from fastapi import FastAPI
from pydantic import BaseModel
from openai import OpenAI
app = FastAPI(title="ReyBot API")
client = OpenAI()
sessions = {}
class ChatRequest(BaseModel):
session_id: str
message: str
@app.post("/chat")
async def chat(req: ChatRequest):
if req.session_id not in sessions:
sessions[req.session_id] = [
{"role": "system", "content": "Kamu adalah ReyBot."}
]
sessions[req.session_id].append({"role": "user", "content": req.message})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=sessions[req.session_id]
)
reply = response.choices[0].message.content
sessions[req.session_id].append({"role": "assistant", "content": reply})
return {"reply": reply}
Tips Produksi
- Jangan hardcode API key — selalu gunakan environment variable
- Simpan riwayat chat di Redis untuk produksi
- Gunakan streaming response agar user tidak menunggu lama
- Monitor penggunaan token di dashboard OpenAI untuk kontrol biaya
Kesimpulan
Dengan Python dan OpenAI API, membangun chatbot AI yang fungsional membutuhkan waktu kurang dari satu hari kerja. Kembangkan lebih jauh dengan menambahkan knowledge base perusahaan atau integrasikan dengan database produksi.