Cara Membuat ChatBot Canggih Dengan Api Gemini Punyanya Google Ai Studio
PERBANDINGAN PENULISAN KODE requests DAN google.generativeai PADA PEMBUATAN CHATBOT CANGGIH DENGAN API GEMINI - GOOGLE AI STUDIO
(Oleh: SR.Pakpahsn,SST)
Bagaimana cara membuat ChatBot pintar seperti ChatGPT buatan Amerika, atau DeepSeek buatan China? Lebih baik mana, menggunakan requests atau google.generativeai?
Jika ingin membuat ChatBot canggih untuk pribadi sendiri dimana kita tidak ingin data kita diketahui oleh orang lain, dengan menggunakan API Gemini dari Google AI Studio dengan Python, kita bisa menggunakan Google Generative AI API, berikut ini caranya:
1. Daftar & Dapatkan API Key
- Buka Google AI Studio.
- Login dengan akun Google.
- Masuk ke tab API Keys.
- Klik Create API Key → Simpan API Key yang diberikan.
2. Instalasi Paket yang Diperlukan
Jalankan perintah berikut di terminal atau command prompt untuk menginstal pustaka google-generativeai
:
pip install google-generativeai
3. Membuat ChatBot Sederhana dengan API Gemini
Berikut adalah kode dasar untuk menghubungkan Python ke Gemini API:
import google.generativeai as genai
# Gantilah dengan API Key Anda
API_KEY = "YOUR_API_KEY_HERE"
genai.configure(api_key=API_KEY)
# Menggunakan model Gemini Pro
model = genai.GenerativeModel("gemini-pro")
# Fungsi untuk berinteraksi dengan ChatBot
def chat_with_gemini(prompt):
response = model.generate_content(prompt)
return response.text # Mengambil teks dari respons API
# Contoh penggunaan
while True:
user_input = input("Anda: ")
if user_input.lower() in ["exit", "keluar", "quit"]:
print("ChatBot: Terima kasih, sampai jumpa!")
break
response = chat_with_gemini(user_input)
print("ChatBot:", response)
4. Penjelasan Kode
✅ Menggunakan API Key untuk autentikasi.
✅ Menggunakan model gemini-pro
untuk merespons pertanyaan.
✅ Looping chat interaktif sampai pengguna mengetik "exit" atau "keluar".
✅ Mendapatkan & menampilkan respons dari Gemini API.
5. Fitur Lanjutan (Opsional)
Jika ingin membuat ChatBot lebih canggih, kita bisa:
- Menyimpan Riwayat Percakapan agar lebih kontekstual.
- Menggunakan Flask atau FastAPI untuk membuat API ChatBot.
- Integrasi dengan Telegram atau WhatsApp untuk membuat ChatBot berbasis pesan.
- Integrasi ke Website menggunakan Streamlit atau Flask.
Contoh ChatBot berbasis Web dengan Flask:
from flask import Flask, request, jsonify
import google.generativeai as genai
app = Flask(__name__)
API_KEY = "YOUR_API_KEY_HERE"
genai.configure(api_key=API_KEY)
model = genai.GenerativeModel("gemini-pro")
@app.route("/chat", methods=["POST"])
def chat():
data = request.json
user_input = data.get("message", "")
if not user_input:
return jsonify({"error": "Pesan kosong"}), 400
response = model.generate_content(user_input)
return jsonify({"response": response.text})
if __name__ == "__main__":
app.run(debug=True)
Cara menggunakannya:
- Jalankan dengan
python chatbot_flask.py
. - Kirim request dengan
POST
ke endpoint/chat
menggunakan Postman atau frontend.
Kesimpulan
Membuat ChatBot dengan API Gemini sangat mudah dengan Python. Dengan pendekatan ini, kita bisa membangun ChatBot canggih yang bisa diintegrasikan dengan aplikasi lainnya seperti Telegram, WhatsApp, atau Website.
Anda bisa lanjut ke fitur lain seperti penyimpanan memori percakapan atau integrasi ke WhatsApp?
CHATBOT DI HP ANDROID
ChatBot canggih dengan API Gemini bisa dibuat dan dijalankan di HP Android tanpa membebani memori terlalu banyak, karena:
- ChatBot hanya mengirim dan menerima teks ke API Gemini, sehingga tidak membutuhkan pemrosesan berat di HP.
- Pemrosesan AI dilakukan di server Google, jadi HP hanya berperan sebagai antarmuka pengguna (frontend)
- Bisa dijalankan dalam aplikasi ringan seperti Termux (CLI), Flask (Web), atau dalam Aplikasi Android dengan Kivy, PyQt, atau Flutter + Python API.
Cara Menjalankan ChatBot di HP Android
Tergantung pada cara implementasi yang diinginkan, ada beberapa opsi:
1. Jalankan di Termux (Tanpa Aplikasi Khusus)
Jika ingin menjalankan chatbot langsung di Android tanpa membuat aplikasi khusus:
- Install Termux di HP Android dari F-Droid atau Play Store.
- Install Python & Pip di Termux:
pkg update && pkg upgrade pkg install python pip install google-generativeai
- Jalankan kode chatbot di Termux
(Pastikan menggantipython chatbot.py
chatbot.py
dengan script chatbot yang kita buat).
2. Buat ChatBot dalam Aplikasi Android dengan Kivy (Python)
Jika ingin membuat aplikasi Android dengan UI (GUI), kita bisa gunakan Kivy.
- Install Kivy di HP Android (melalui Termux):
pip install kivy google-generativeai
- Kode ChatBot dengan Kivy (GUI Sederhana):
from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.textinput import TextInput from kivy.uix.button import Button from kivy.uix.label import Label import google.generativeai as genai genai.configure(api_key="YOUR_API_KEY_HERE") model = genai.GenerativeModel("gemini-pro") class ChatBotApp(App): def build(self): self.layout = BoxLayout(orientation="vertical") self.chat_output = Label(text="Selamat datang di ChatBot!") self.user_input = TextInput(hint_text="Tulis pesan di sini...") self.send_button = Button(text="Kirim", on_press=self.send_message) self.layout.add_widget(self.chat_output) self.layout.add_widget(self.user_input) self.layout.add_widget(self.send_button) return self.layout def send_message(self, instance): user_text = self.user_input.text if user_text.strip(): response = model.generate_content(user_text) self.chat_output.text = "ChatBot: " + response.text self.user_input.text = "" if __name__ == "__main__": ChatBotApp().run()
- Jalankan dengan:
python chatbot_kivy.py
- Jika ingin membuat APK Android, gunakan buildozer
APK bisa diinstal dan dijalankan langsung di HP.pip install buildozer buildozer init buildozer -v android debug
3. Gunakan API Backend dan Flutter/Kotlin untuk Aplikasi Android
Jika ingin chatbot lebih profesional, buat backend dengan Flask/FastAPI di Python, lalu buat aplikasi Android dengan Flutter/Kotlin.
-
Backend API di Python (Flask):
from flask import Flask, request, jsonify import google.generativeai as genai app = Flask(__name__) genai.configure(api_key="YOUR_API_KEY_HERE") model = genai.GenerativeModel("gemini-pro") @app.route("/chat", methods=["POST"]) def chat(): data = request.json user_message = data.get("message", "") response = model.generate_content(user_message) return jsonify({"response": response.text}) if __name__ == "__main__": app.run(debug=True, host="0.0.0.0", port=5000)
- Jalankan dengan
python chatbot_api.py
- Bisa diakses dari Android lewat Flutter/Kotlin.
- Jalankan dengan
-
Integrasi dengan Flutter Android App:
- Buat Flutter App dan gunakan HTTP request
- Flutter akan mengirim request ke API Python, dan menampilkan balasannya di aplikasi Android.
Kesimpulan
✅ Ringan & Tidak Membebani HP karena pemrosesan dilakukan di server Google.
✅ Bisa dijalankan langsung di Termux (CLI), Kivy (Aplikasi Python), atau Backend-Android App (Profesional).
✅ Mudah dikembangkan dan bisa diperluas dengan fitur tambahan seperti memori percakapan, suara (TTS), dan integrasi Telegram/WhatsApp.
Anda bisa lanjut dengan cara mana? Termux (CLI), Kivy (Aplikasi Python), atau API Flask untuk Android?
JUMLAH FILE DALAM PEMBUATAN CHATBOT
Dalam pembuatan kode dasar yang kita tulis, lalu menghubungkan kode tersebut ke Gemini API, maka ada beberapa buah file yang dibutuhkan agar supaya chatbot siap untuk dipakai.
Untuk membuat chatbot yang siap dipakai dengan API Gemini, jumlah file yang dibutuhkan tergantung pada pendekatan yang digunakan. Berikut adalah tiga pendekatan utama:
1️⃣ Chatbot Sederhana (1 File - CLI dengan Termux/Python)
π File yang dibutuhkan:
✅ chatbot.py
→ Script utama yang langsung menghubungkan ke API Gemini dan menjalankan chatbot di terminal.
π Cocok untuk:
- Jalankan langsung di Termux atau PC tanpa antarmuka GUI.
- Tidak perlu aplikasi tambahan, cukup Python + Gemini API.
Kode (chatbot.py)
import google.generativeai as genai
# Konfigurasi API Key
genai.configure(api_key="YOUR_API_KEY_HERE")
model = genai.GenerativeModel("gemini-pro")
def chatbot():
print("π€ ChatBot Gemini - Ketik 'exit' untuk keluar")
while True:
user_input = input("Anda: ")
if user_input.lower() == "exit":
break
response = model.generate_content(user_input)
print("ChatBot:", response.text)
if __name__ == "__main__":
chatbot()
π Cara menjalankan di Android (Termux) atau PC:
python chatbot.py
2️⃣ Chatbot dengan GUI (2 File - Kivy Python)
π File yang dibutuhkan:
✅ chatbot.py
→ Script utama dengan Kivy sebagai antarmuka GUI.
✅ requirements.txt
→ Daftar pustaka Python yang diperlukan.
π Cocok untuk:
- Membuat aplikasi ringan berbasis GUI yang berjalan langsung di HP Android (dengan Kivy) atau di PC.
- Bisa dikonversi ke APK dengan Buildozer.
Kode (chatbot.py)
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.label import Label
import google.generativeai as genai
# Konfigurasi API Gemini
genai.configure(api_key="YOUR_API_KEY_HERE")
model = genai.GenerativeModel("gemini-pro")
class ChatBotApp(App):
def build(self):
self.layout = BoxLayout(orientation="vertical")
self.chat_output = Label(text="Selamat datang di ChatBot!")
self.user_input = TextInput(hint_text="Tulis pesan...")
self.send_button = Button(text="Kirim", on_press=self.send_message)
self.layout.add_widget(self.chat_output)
self.layout.add_widget(self.user_input)
self.layout.add_widget(self.send_button)
return self.layout
def send_message(self, instance):
user_text = self.user_input.text
if user_text.strip():
response = model.generate_content(user_text)
self.chat_output.text = "ChatBot: " + response.text
self.user_input.text = ""
if __name__ == "__main__":
ChatBotApp().run()
π Tambahkan file requirements.txt
untuk memastikan semua pustaka terinstal:
kivy
google-generativeai
π Cara menjalankan di Android (Termux) atau PC:
pip install -r requirements.txt
python chatbot.py
π Cara membuat APK Android:
pip install buildozer
buildozer init
buildozer -v android debug
3️⃣ Chatbot API + Aplikasi Android (3-4 File - Backend Flask + Frontend Android)
π File yang dibutuhkan:
✅ app.py
→ Backend Flask untuk menangani request dari Android.
✅ requirements.txt
→ Daftar pustaka Python yang diperlukan.
✅ index.html
→ Jika ingin akses chatbot dari web.
✅ Aplikasi Android (Flutter/Kotlin) → Bisa dibuat terpisah untuk menghubungkan ke Flask API.
π Cocok untuk:
- Membuat aplikasi Android yang lebih profesional.
- Backend Flask menangani chatbot, Flutter/Kotlin sebagai antarmuka aplikasi Android.
1️⃣ Backend Flask - API untuk Chatbot (app.py
)
from flask import Flask, request, jsonify
import google.generativeai as genai
app = Flask(__name__)
# Konfigurasi API Gemini
genai.configure(api_key="YOUR_API_KEY_HERE")
model = genai.GenerativeModel("gemini-pro")
@app.route("/chat", methods=["POST"])
def chat():
data = request.json
user_message = data.get("message", "")
response = model.generate_content(user_message)
return jsonify({"response": response.text})
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=5000)
π Tambahkan file requirements.txt
untuk menginstal pustaka Python:
flask
google-generativeai
π Cara menjalankan Flask di HP/PC:
pip install -r requirements.txt
python app.py
2️⃣ Frontend Android (Flutter/Kotlin)
π Flutter HTTP Request ke Flask API
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<String> getChatResponse(String message) async {
final response = await http.post(
Uri.parse("http://IP_ADDRESS:5000/chat"),
headers: {"Content-Type": "application/json"},
body: jsonEncode({"message": message}),
);
if (response.statusCode == 200) {
return jsonDecode(response.body)["response"];
} else {
throw Exception("Gagal mendapatkan respons");
}
}
π Ganti IP_ADDRESS
dengan alamat backend Flask di HP/PC.
π Flutter bisa dibuat untuk chat UI seperti WhatsApp.
Kesimpulan
✅ Pilih cara mana?
1️⃣ Mau langsung jalan di Termux (tanpa GUI)? Gunakan CLI Chatbot (1 file).
2️⃣ Mau ada tampilan sederhana di Android? Gunakan Kivy GUI (2 file).
3️⃣ Mau bikin chatbot profesional dengan aplikasi Android? Gunakan Flask + Flutter/Kotlin (4 file).
PERANAN GCP (Google Cloud Platform) DALAM PEMBUATAN CHATBOT
Ada hubungan/kaitan dan peranan penggunaan GCP (Google Cloud Platform) pada pembuatan kode dasar ChatBot yang akan kita buat.
Penggunaan Google Cloud Platform (GCP) dalam pembuatan chatbot dengan Gemini API adalah sangat membantu dalam deployment, scalability, dan pengelolaan API. Berikut adalah beberapa hubungan, peranan, dan manfaat GCP dalam proyek chatbot:
π Hubungan dan Peranan GCP dalam Chatbot dengan API Gemini
1️⃣ Google AI Studio & Gemini API (Layanan AI)
- Hubungan: Gemini API yang digunakan dalam kode chatbot kita adalah bagian dari Google AI Studio, yang di-host di Google Cloud Platform (GCP).
- Peranan: Tanpa GCP, kita tidak bisa mengakses Gemini API secara langsung. GCP menyediakan server yang menjalankan model AI, sehingga kita cukup mengirim request API tanpa harus melatih model sendiri.
- Layanan GCP yang Digunakan:
✅ Vertex AI → Layanan AI untuk API Gemini
✅ AI Studio → Tempat mengelola dan mendapatkan API Key
π Tanpa GCP, kita harus menyediakan server dan model AI sendiri, yang jauh lebih kompleks dan mahal.
2️⃣ Google Cloud Functions (Backend Serverless untuk API Chatbot)
- Hubungan: Jika kita ingin chatbot berbasis web atau mobile app, kita memerlukan backend untuk menangani permintaan dari client.
- Peranan: Google Cloud Functions memungkinkan kita menjalankan backend API tanpa harus menyewa server.
- Layanan GCP yang Digunakan:
✅ Cloud Functions → Menjalankan backend serverless
✅ Cloud Run → Menjalankan backend Flask/Django secara otomatis
π Cloud Functions cocok untuk chatbot sederhana, sementara Cloud Run cocok untuk backend chatbot yang lebih kompleks.
π Contoh kode menggunakan Google Cloud Functions sebagai backend untuk chatbot:
from flask import Flask, request, jsonify
import google.generativeai as genai
app = Flask(__name__)
# Konfigurasi API Gemini
genai.configure(api_key="YOUR_API_KEY_HERE")
model = genai.GenerativeModel("gemini-pro")
@app.route("/chat", methods=["POST"])
def chat():
data = request.json
user_message = data.get("message", "")
response = model.generate_content(user_message)
return jsonify({"response": response.text})
def chatbot(request):
return app(request)
π Cara Deploy ke Google Cloud Functions:
gcloud functions deploy chatbot --runtime python39 --trigger-http --allow-unauthenticated
π Setelah deploy, kita mendapatkan URL API yang bisa dipakai di aplikasi Android atau web.
3️⃣ Google Cloud Firestore (Database untuk Chatbot)
- Hubungan: Jika chatbot ingin menyimpan riwayat percakapan atau profil pengguna, kita memerlukan database.
- Peranan: Firestore adalah database NoSQL di GCP yang mudah digunakan untuk menyimpan data chatbot.
- Layanan GCP yang Digunakan:
✅ Firestore → Database real-time yang fleksibel
π Contoh cara menyimpan dan mengambil riwayat chat di Firestore:
from google.cloud import firestore
db = firestore.Client()
def save_chat(user, message, response):
doc_ref = db.collection("chats").document(user)
doc_ref.set({"user_message": message, "bot_response": response})
π Firestore cocok untuk menyimpan data chat pengguna agar chatbot lebih pintar dan personal.
4️⃣ Google Cloud App Engine (Hosting Backend Chatbot)
- Hubungan: Jika chatbot membutuhkan backend yang selalu berjalan, kita bisa menggunakan Google App Engine.
- Peranan: Menyediakan server Python/Flask untuk chatbot tanpa harus menyewa server sendiri.
- Layanan GCP yang Digunakan:
✅ App Engine → Hosting otomatis untuk Flask/Django backend
π Perbandingan layanan hosting di GCP:
| Layanan GCP | Cocok untuk | Kelebihan | Kekurangan |
| Cloud Functions | Chatbot API sederhana | Tidak perlu server | Kurang fleksibel |
| Cloud Run | Backend API chatbot | Skalabilitas otomatis | Perlu sedikit konfigurasi |
| App Engine
π Jika ingin chatbot profesional untuk Android/Web, gunakan App Engine atau Cloud Run.
5️⃣ Google Dialogflow (Alternatif untuk Chatbot AI)
- Hubungan: Dialogflow adalah layanan chatbot berbasis Natural Language Processing (NLP) dari GCP.
- Peranan: Jika tidak ingin menggunakan Gemini API langsung, kita bisa pakai Dialogflow untuk membuat chatbot cerdas dengan lebih mudah.
- Layanan GCP yang Digunakan:
✅ Dialogflow CX/ES → Platform chatbot NLP yang bisa digunakan tanpa coding
π Kapan menggunakan Dialogflow?
✅ Jika chatbot lebih berbasis percakapan dengan banyak skenario
✅ Jika tidak ingin menulis banyak kode AI sendiri
π Contoh API Request ke Dialogflow dari Python:
import dialogflow_v2 as dialogflow
session_client = dialogflow.SessionsClient()
session = session_client.session_path("PROJECT_ID", "SESSION_ID")
text_input = dialogflow.TextInput(text="Halo, bagaimana kabarmu?", language_code="id")
query_input = dialogflow.QueryInput(text=text_input)
response = session_client.detect_intent(session=session, query_input=query_input)
print(response.query_result.fulfillment_text)
π
π ️ Kesimpulan: Kapan Kita Butuh GCP?
π₯ Kapan Perlu Menggunakan GCP dalam Proyek Chatbot?
✅ Jika hanya ingin menggunakan Gemini API, tidak perlu banyak GCP, cukup Google AI Studio.
✅ Jika ingin chatbot terintegrasi dengan database atau punya backend API sendiri, maka GCP sangat membantu.
✅ Jika ingin chatbot bisa digunakan banyak orang di web atau aplikasi Android, GCP menyediakan server dan hosting yang skalabel.
✅ Jika ingin chatbot lebih kompleks dengan AI NLP tanpa coding banyak, gunakan Dialogflow.
✅ Mau chatbot yang sederhana atau yang kompleks?
Jika hanya ingin chatbot dengan API Gemini, cukup gunakan Python + Gemini API saja.
Jika mau chatbot online dan bisa diakses banyak orang, GCP akan sangat membantu!
Anda bisa meng-implementasikan-nya lebih lanjut.
PERBANDINGAN PENULISAN KODE BAGIAN requests (API MANUAL) DENGAN google.generativeai (GEMINI SDK)
Berikut adalah kode dasar untuk menghubungkan Python ke Gemini API dengan menggunakan penulisan kode requests:
# Kode pembuatan ChatBot
import requests
api = open("api_key.txt").read()
endpoint = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest: generateContent?key={api}"
headers = {
"Content-type": "application/json"
}
data_input= input("Masukkan Pertanyaan Anda: ")
data = {
"contents": [{
"parts": [{
"text": data_input
}]
}]
}
response = requests.post(endpoint, headers= headers, json= data)
if response.status_code == 200:
respon_data = response.json()
print("Respon Bot:\n", respon_data["candidates"][0]["content"]["parts"][0]["text"])
else:
print("Error", response.status_code)
Sedangkan kode dasar untuk menghubungkan Python ke Gemini API dengan menggunakan penulisan kode bagian google.generativeai, berikut ini:
import google.generativeai as genai
# Gantilah dengan API Key Anda
API_KEY = "YOUR_API_KEY_HERE"
genai.configure(api_key=API_KEY)
# Menggunakan model Gemini Pro
model = genai.GenerativeModel("gemini-pro")
# Fungsi untuk berinteraksi dengan ChatBot
def chat_with_gemini(prompt):
response = model.generate_content(prompt)
return response.text # Mengambil teks dari respons API
# Contoh penggunaan
while True:
user_input = input("Anda: ")
if user_input.lower() in ["exit", "keluar", "quit"]:
print("ChatBot: Terima kasih, sampai jumpa!")
break
response = chat_with_gemini(user_input)
print("ChatBot:", response)
Perbedaan utama antara kedua kode dasar pembuatan ChatBot tersebut adalah cara mengakses API Gemini dan pengelolaan respons dari API. Berikut adalah perbedaan utama antara kedua metode:
- Kode dengan requests (API Manual):
Metode Akses API: menggunakan permintaan HTTP langsung (requests.post) ke endpoint API Google Gemini.
Cara Konfigutasi API: API key dibaca dari file eksternal (api_key.txt) dan disisipkan ke URL secara manual.
Format Data Permintaan: Data harus dikonversi ke JSON secara manual dengan format yang sesuai dengan API.
Pemrosesan Respons: Harus mengambil data JSON dari resoons.json() secara manual dan menavigasi strukturnya.
Kemudahan Penggunaan: Lebih rumit karena harus mengelola HTTP request, headers, dan parsing JSON.
Error Handling: Perlu menangani kode status HTTP (response.status_code) secara manual.
- Kode dengan google.generativeai (Gemini SDK)
Metode Akses API:
Menggunakan library resmi Google (google.generativeai) untuk mengakses Gemini API dengan lebih sederhana.
Cara Konfigurasi API:
API key dikonfigurasi langsung menggunakan genai.configure(api_key = API_KEY)
Format Data Permintaan: Data bisa langsung dikirim sebagai string ke fungsi generate_content()
Pemrosesan Respons: Library SDK langsung mengembalikan teks respon dengan .text
Kemudahan Penggunaan: Lebih mudah, karena SDK sudah menangani semua proses HTTP dan parsing data.
Error Handling: Error Handling lebih mudah karena SDK otomatis menangani banyak skenario error.
π Analisis Kode 1: Menggunakan requests
(Manual HTTP Request)
✅ Kelebihan:
- Lebih fleksibel, karena kita bisa menyesuaikan endpoint, headers, dan format JSON sesuai kebutuhan.
- Dapat digunakan untuk API lain, bukan hanya API Gemini.
- Bisa menjalankan chatbot di lingkungan tanpa library tambahan, cukup
requests
.
❌ Kekurangan:
- Lebih kompleks, karena kita harus mengelola permintaan HTTP dan parsing JSON sendiri.
- Rentan kesalahan, jika struktur JSON berubah atau ada kesalahan dalam menangani respons.
- Lebih lambat dibandingkan SDK, karena tidak dioptimalkan oleh Google.
πΉ Contoh Peningkatan Kode untuk Respons Lebih Baik:
import requests
api_key = open("api_key.txt").read().strip()
endpoint = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key={api_key}"
headers = {"Content-type": "application/json"}
while True:
data_input = input("Masukkan Pertanyaan Anda: ")
if data_input.lower() in ["exit", "keluar", "quit"]:
print("ChatBot: Terima kasih, sampai jumpa!")
break
data = {"contents": [{"parts": [{"text": data_input}]}]}
response = requests.post(endpoint, headers=headers, json=data)
if response.status_code == 200:
respon_data = response.json()
try:
bot_response = respon_data["candidates"][0]["content"]["parts"][0]["text"]
print("ChatBot:", bot_response)
except KeyError:
print("ChatBot: Maaf, saya tidak mengerti.")
else:
print(f"Error {response.status_code}: {response.text}")
π Peningkatan yang dilakukan:
✅ Menambahkan perulangan agar chatbot bisa berinteraksi terus-menerus.
✅ Menangani error KeyError
jika struktur JSON API berubah.
✅ Menangani input "exit", "keluar", "quit" agar pengguna bisa keluar dari chatbot.
π Analisis Kode 2: Menggunakan google.generativeai
(Gemini SDK)
✅ Kelebihan:
- Lebih sederhana, karena API diakses langsung melalui SDK tanpa perlu menangani HTTP request secara manual.
- Lebih cepat, karena SDK sudah dioptimalkan oleh Google untuk bekerja dengan Gemini API.
- Error handling lebih mudah, karena SDK sudah memiliki mekanisme bawaan untuk menangani kesalahan.
- Tidak perlu parsing JSON secara manual, cukup panggil
generate_content()
dan ambil .text
.
❌ Kekurangan:
- Kurang fleksibel, karena bergantung pada struktur SDK Google. Jika ada perubahan di API, mungkin perlu pembaruan SDK.
- Harus menginstal library tambahan (
google-generativeai
).
πΉ Contoh Peningkatan Kode untuk Respons Lebih Baik:
import google.generativeai as genai
# Gantilah dengan API Key Anda
API_KEY = "YOUR_API_KEY_HERE"
genai.configure(api_key=API_KEY)
# Menggunakan model Gemini Pro
model = genai.GenerativeModel("gemini-pro")
# Fungsi untuk berinteraksi dengan ChatBot
def chat_with_gemini(prompt):
try:
response = model.generate_content(prompt)
return response.text # Mengambil teks dari respons API
except Exception as e:
return f"Error: {str(e)}"
# Contoh penggunaan dalam loop
while True:
user_input = input("Anda: ")
if user_input.lower() in ["exit", "keluar", "quit"]:
print("ChatBot: Terima kasih, sampai jumpa!")
break
response = chat_with_gemini(user_input)
print("ChatBot:", response)
π Peningkatan yang dilakukan:
✅ Menambahkan perulangan agar chatbot bisa berinteraksi terus-menerus.
✅ Menangani error otomatis jika ada masalah dengan API atau koneksi.
✅ Lebih ringkas dibandingkan metode requests
.
π Kesimpulan: Mana yang Lebih Baik?
π Jika hanya ingin chatbot cepat dan sederhana, gunakan google.generativeai
.
π Jika ingin chatbot yang bisa disesuaikan untuk API lain, gunakan requests
.
✅ Mau chatbot yang lebih kompleks?
Jika perlu fitur multi-turn conversation, memory, atau koneksi ke database, kita bisa integrasikan dengan Google Cloud Firestore, Flask API, atau Firebase untuk chatbot yang lebih pintar! π
HASIL
Berikut contoh hasil dari chat (percakapan online) saya dengan ChatBot Gemini di hari Jumat 07-02-2025:
Isi File api_key.txt
File api_key.txt
biasanya berisi API Key dari Google AI Studio atau Google Cloud yang digunakan untuk mengakses layanan AI seperti Gemini API.
π Isi dari api_key.txt
(Contoh Format)
Isi file ini hanyalah API Key dalam bentuk string, misalnya:
AIzaSyD-EXAMPLE12345EXAMPLE67890EXAMPLE
⚠ API Key ini bersifat rahasia, jangan pernah membagikannya atau mengunggahnya ke repository publik seperti GitHub!
π Bagaimana Mendapatkan API Key dari Google AI Studio?
Jika ingin menggunakan Google Gemini API, ikuti langkah-langkah berikut untuk mendapatkan API Key:
1️⃣ Buat API Key di Google AI Studio
- Buka Google AI Studio
- Login dengan akun Google
- Klik "Get API Key"
- Salin API Key yang diberikan
π API Key ini dapat digunakan langsung untuk mengakses model Gemini AI.
2️⃣ Simpan API Key dalam File api_key.txt
Setelah mendapatkan API Key, buat file bernama api_key.txt
dan simpan API Key di dalamnya.
echo "AIzaSyD-EXAMPLE12345EXAMPLE67890EXAMPLE" > api_key.txt
Atau jika menggunakan Python:
with open("api_key.txt", "w") as file:
file.write("AIzaSyD-EXAMPLE12345EXAMPLE67890EXAMPLE")
3️⃣ Gunakan API Key dalam Kode Python
Di dalam kode Python, kita bisa membaca API Key ini dengan:
api_key = open("api_key.txt").read().strip()
print("API Key:", api_key) # Jangan tampilkan API Key dalam aplikasi nyata!
Lalu API Key ini digunakan untuk mengakses Gemini API seperti dalam contoh sebelumnya.
π Mengapa Menggunakan api_key.txt
?
✅ Keamanan – API Key tidak disimpan langsung di dalam kode, menghindari kebocoran jika kode dibagikan.
✅ Portabilitas – Bisa digunakan oleh beberapa skrip atau proyek tanpa harus menulis ulang API Key.
✅ Memudahkan pengelolaan – Jika API Key berubah, cukup ubah di satu tempat (file api_key.txt
).
π Alternatif Aman: Menggunakan Environment Variable
Jika tidak ingin menyimpan API Key dalam file, bisa menggunakan variabel lingkungan (.env
):
export GEMINI_API_KEY="AIzaSyD-EXAMPLE12345EXAMPLE67890EXAMPLE"
Lalu dalam Python:
import os
api_key = os.getenv("GEMINI_API_KEY")
πΉ Keuntungan: Tidak perlu menyimpan API Key dalam file, lebih aman di server atau aplikasi cloud.
Isi file api_key.txt
hanya berupa API Key Gemini yang kita dapat dari Google AI Studio, tanpa ada kode atau format tambahan.
π Contoh isi api_key.txt
:
AIzaSyD-EXAMPLE12345EXAMPLE67890EXAMPLE
Tidak ada tanda kutip, tidak ada tambahan teks lain—hanya API Key murni dalam bentuk string.
π Cara membaca API Key dari file api_key.txt
di Python:
with open("api_key.txt", "r") as file:
api_key = file.read().strip() # Menghilangkan spasi atau newline yang tidak perlu
print("API Key yang digunakan:", api_key) # Jangan tampilkan API Key dalam aplikasi nyata!
⚠ Ingat!
πΉ Jangan pernah membagikan API Key ini ke publik (misalnya mengunggah ke GitHub).
πΉ Jika API Key bocor, segera ganti dengan yang baru di Google AI Studio.
πΉ Bisa juga menggunakan environment variable (os.getenv()
) untuk keamanan lebih baik.
π Sekarang API Key sudah siap, tinggal hubungkan dengan kode chatbot!
π Kesimpulan
api_key.txt
berisi API Key dari Google AI Studio atau Google Cloud.
- Menggunakan file ini lebih aman dibandingkan langsung menulis API Key dalam kode.
- Alternatif lebih aman adalah menggunakan environment variable (
os.getenv()
).
π Siap untuk membuat ChatBot dengan Gemini API?
Ringkasan:Cukup praktis membuat ChatBot ini, caranya:- Instal Applikasi Pydroid3 di HP Android Anda, Pydroid3 cari di PlayStore, lalu install.- Buka Pydroid3, lalu klik tanda garis tiga yang di sebelah atas kiri, lalu klik Pip, lalu klik SEARCH LIBRARIES, lalu tuliskan google.generativeai, lalu klik INSTALL.- Jika sudah terinstal, lalu kembali ke halaman depan Pydroid, lanjut dengan meng-klik tanda Folder/file, lalu klik New, - Copy dan pastekan kode berikut, copas ke lembaran file (new) tersebut:
import google.generativeai as genai
# Gantilah dengan API Key Anda
API_KEY = "YOUR_API_KEY_HERE"
genai.configure(api_key=API_KEY)
# Menggunakan model Gemini Pro
model = genai.GenerativeModel("gemini-pro")
# Fungsi untuk berinteraksi dengan ChatBot
def chat_with_gemini(prompt):
response = model.generate_content(prompt)
return response.text # Mengambil teks dari respons API
# Contoh penggunaan
while True:
user_input = input("Anda: ")
if user_input.lower() in ["exit", "keluar", "quit"]:
print("ChatBot: Terima kasih, sampai jumpa!")
break
response = chat_with_gemini(user_input)
print("ChatBot:", response)
- Gantikan tulisan teks "YOUR_API_KEY_HERE" dengan tulisan kode API key Gemini yang Anda punya.- Sudah, lalu buat nama filenya dengan cara klik tanda Folder/file, lalu klik Save, lalu beri nama file Anda.- Selesai, Sekarang coba jalankan dengan cara klik tanda segitiga berwarna kuning, Anda sudah bisa Chattingan dan bertanya kepada ChatBot Asisten pribadi Anda secara Online.- Selanjutnya kode tinggal dikembangkan lebih lanjut dengan fitur-fitur lainnya.
Catatan:Cara mendapatkan kode API key Gemini:- Buka Google AI Studio.
- Login dengan akun Google.
- Masuk ke tab API Keys.
- Klik Create API Key → Simpan API Key yang diberikan.
Demikian, semoga bermanfaat.
Comments
Post a Comment