Aplikasi python flask sederhana, untuk memproses permintaan API endpoin from user
groq-API adalah aplikasi flask python sederhana yang menggunakan model AI Groq untuk memproses permintaan endpoint API dari pengguna.
Fitur utama aplikasi:
- Menerima input teks (
msg) melalui parameter query. - Memilih model AI berdasarkan parameter
model. - Mengembalikan respons JSON berisi hasil pemrosesan dari model AI.
- Sistem Operasi: Linux, macOS, atau Windows.
- Python: Versi 3.8 atau lebih baru (jika tidak menggunakan Docker).
- Unduh Python: https://www.python.org/
- Docker: Instal Docker Desktop (Windows/macOS) atau Docker Engine (Linux) jika ingin menggunakan Docker.
- Unduh Docker: https://www.docker.com/
- Git (opsional): Untuk mengunduh kode dari repository Git.
- Groq API Key: Diperlukan untuk mengakses layanan Groq.
- Dapatkan API key dari https://console.groq.com/ (lihat petunjuk di bawah).
- Sistem Operasi: Linux (Ubuntu/Debian lebih disarankan).
- Python: Versi 3.8 atau lebih baru (jika tidak menggunakan Docker).
- Docker: Instal Docker Engine jika ingin menggunakan Docker.
- Port 8080: Pastikan port 8080 tidak diblokir oleh firewall.
- Groq API Key: Diperlukan untuk mengakses layanan Groq.
Pastikan struktur direktori proyek Anda terlihat seperti ini:
project/
├── api.py # File utama aplikasi Flask
├── Dockerfile # File untuk membangun image Docker (opsional)
├── requirements.txt # Daftar dependensi Python
├── .env # File untuk menyimpan environment variable
├── docker-compose.yml # File untuk menjalankan aplikasi dengan Docker Compose (opsional)
├── .dockerignore # File untuk mengecualikan file dari image Docker (opsional)
└── .gitignore # File untuk mengecualikan file dari Git
Jika Anda menggunakan repository Git, clone proyek ke direktori lokal:
git clone https://github.com/MuhammadGagah/groq-api.git
cd groq-apiBuat file .env di direktori groq-api dan isi dengan nilai berikut:
FLASK_DEBUG=False
GROQ_API_KEY=your_groq_API_key_hereCatatan: Ganti
your_groq_API_key_heredengan API key Groq Anda. Jika belum memiliki API key, ikuti petunjuk di bawah untuk mendapatkannya.
Untuk menggunakan layanan Groq, Anda memerlukan API key. Berikut adalah langkah-langkah untuk mendapatkannya:
- Kunjungi https://console.groq.com/.
- Klik tombol Sign Up atau Log In jika Anda sudah memiliki akun.
- Isi formulir pendaftaran dengan alamat email dan kata sandi Anda.
Setelah berhasil mendaftar atau masuk, Anda akan diarahkan ke dashboard Groq.
- Di dashboard Groq, navigasikan ke bagian API Keys.
- Klik tombol Create API Key atau Generate API Key.
- Salin API key yang dihasilkan dan simpan di tempat yang aman.
Salin API key yang Anda dapatkan ke file .env di proyek Anda:
GROQ_API_KEY=your_groq_API_key_here-
Buat Virtual Environment (Opsional tapi Disarankan):
python3 -m venv venv
-
Aktifkan Virtual Environment:
- Linux/macOS:
source venv/bin/activate - Windows:
venv\Scripts\activate
- Linux/macOS:
-
Instal Dependensi: Gunakan file
requirements.txtuntuk menginstal semua dependensi yang diperlukan:pip install -r requirements.txt
Catatan: Pastikan file
requirements.txtberisi dependensi berikut:flask groq requests python-dotenv
Gunakan perintah berikut untuk menjalankan aplikasi Flask:
python api.pyOutputnya akan terlihat seperti ini:
* Serving Flask app 'api'
* Debug mode: off
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
Anda dapat menjalankan aplikasi menggunakan salah satu metode berikut:
-
Build Image:
docker build -t groq-api . -
Jalankan Container:
docker run -d -p 8080:8080 --restart unless-stopped \ --env-file .env \ --name groq-api-container groq-api
-
Verifikasi: Cek status container:
docker ps
-
Install Docker Compose: Pastikan Docker Compose sudah terinstal. Jika belum, instal dengan perintah berikut (Linux):
sudo apt-get install docker-compose-plugin
-
Jalankan Aplikasi: Gunakan perintah berikut untuk membangun image (jika belum tersedia) dan menjalankan container:
docker compose up -d
-
Verifikasi: Cek status container:
docker ps
API memiliki satu endpoint utama:
GET /
msg(wajib): Pesan atau pertanyaan yang ingin diproses oleh model AI.model(opsional): Nama model AI yang ingin digunakan. Default:llama.
Contoh nilai model yang valid:
deepseek-r1llamamixtralgemma2llama70b
Gunakan browser, Postman, atau curl untuk mengirim permintaan ke API.
http://localhost:8080/?msg=Halo%20AI&model=llama
curl "http://localhost:8080/?msg=Halo%20AI&model=llama"- Buka Postman.
- Pilih metode
GET. - Masukkan URL:
http://localhost:8080/?msg=Halo%20AI&model=llama - Klik tombol "Send".
Respons API berupa JSON dengan format berikut:
{
"developer": "Muhammad Gagah",
"model": "llama",
"message": "Halo! Ada yang bisa saya bantu?"
}Ikuti langkah-langkah di atas untuk menjalankan aplikasi di PC/laptop Anda.
-
Upload Proyek ke Server: Gunakan SCP atau Git untuk mengupload proyek ke server:
scp -r project/ user@server-ip:/path/to/destination
-
SSH ke Server:
ssh user@server-ip
-
Pilih Metode:
- Tanpa Docker: Ikuti langkah-langkah pada Metode 1.
- Dengan Docker: Ikuti langkah-langkah pada Metode 2.
-
Akses API: Ganti
localhostdengan alamat IP server:http://server-ip:8080/?msg=Halo%20AI&model=llama
-
Deploy di Instance Cloud:
- Buat instance VM di AWS, Google Cloud, atau Azure.
- Install Python dan dependensi (untuk metode tanpa Docker) atau Docker (untuk metode dengan Docker).
-
Upload Proyek: Gunakan SCP atau Git untuk mengupload proyek ke instance cloud.
-
Jalankan Aplikasi:
- Tanpa Docker: Ikuti langkah-langkah pada Metode 1.
- Dengan Docker: Ikuti langkah-langkah pada Metode 2.
-
Akses API: Gunakan alamat IP publik instance cloud:
http://public-ip:8080/?msg=Halo%20AI&model=llama
- Pastikan file
.envtidak termasuk dalam docker image (jika anda menggunakan docker, buat file.dockerignore, dan isi .env). - Gunakan HTTPS jika aplikasi diakses melalui internet.
- Tanpa Docker: Semua log akan ditampilkan di terminal tempat aplikasi berjalan.
- Dengan Docker: Gunakan perintah berikut untuk melihat log container:
docker logs groq-api-container
- Tanpa Docker:
nohup python api.py > app.log 2>&1 &
- Dengan Docker:
Gunakan
docker compose up -dataudocker run -duntuk menjalankan container di background.
- Tanpa Docker: Hentikan aplikasi dengan menekan
CTRL+Cdi terminal. - Dengan Docker:
docker compose down
Selamat mencoba aplikasi groq-API ini, jika menemukan bug atau ingin fix something, jangan ragu untuk create issue dan PR!