Tutorial Groq API: Inferensi LLM Super Cepat untuk Aplikasi AI
Introduction
Groq telah menjadi salah satu platform inferensi AI paling populer berkat kecepatan luar biasa yang ditawarkan oleh chip Language Processing Unit (LPU) milik mereka. Jika Anda pernah merasa frustrasi dengan latensi tinggi saat memanggil API model bahasa besar, Groq hadir sebagai solusi dengan kecepatan inferensi yang jauh melampaui GPU tradisional.
Dalam tutorial ini, kita akan mempelajari cara menggunakan Groq API secara menyeluruh mulai dari setup awal, penggunaan dasar untuk chat completion, hingga fitur-fitur lanjutan seperti streaming, tool use (function calling), vision model, dan integrasi dengan framework populer seperti LangChain dan LlamaIndex. Semua contoh kode dalam tutorial ini bisa langsung Anda jalankan di environment lokal.
Groq menyediakan akses ke berbagai model open-source populer termasuk Llama, Mixtral, dan Gemma dengan kecepatan output yang bisa mencapai ratusan token per detik. Yang menarik, Groq API menggunakan format yang kompatibel dengan OpenAI API, sehingga migrasi dari OpenAI ke Groq sangat mudah dilakukan.
Instalasi dan Setup
Mendapatkan API Key
Langkah pertama adalah mendaftar dan mendapatkan API key dari Groq:
Instalasi Library
Groq menyediakan Python SDK resmi yang bisa diinstal via pip:
pip install groq
Untuk proyek yang lebih lengkap, instal juga dependensi tambahan:
pip install groq python-dotenv httpx Pillow
Konfigurasi Environment
Buat file .env untuk menyimpan API key:
GROQAPIKEY=gskyourapikeyhere
Verifikasi instalasi dengan script sederhana:
import os
from dotenv import loaddotenv
from groq import Groq
loaddotenv()
client = Groq(apikey=os.environ.get("GROQAPIKEY"))
Test koneksi
models = client.models.list()
for model in models.data:
print(f"Model: {model.id}")
Jika berhasil, Anda akan melihat daftar model yang tersedia di Groq.
Basic Usage
Chat Completion Sederhana
Penggunaan paling dasar dari Groq API adalah chat completion:
from groq import Groq
client = Groq()
chatcompletion = client.chat.completions.create(
messages=[
{
"role": "system",
"content": "Kamu adalah asisten AI yang membantu dan ramah."
},
{
"role": "user",
"content": "Jelaskan apa itu machine learning dalam 3 kalimat."
}
],
model="llama-3.3-70b-versatile",
temperature=0.7,
maxtokens=1024,
)
print(chatcompletion.choices[0].message.content)
Model yang Tersedia
Groq menyediakan beberapa model populer. Berikut rekomendasi penggunaan:
# Model untuk tugas umum dan reasoning
MODELGENERAL = "llama-3.3-70b-versatile"
Model cepat untuk tugas sederhana
MODELFAST = "llama-3.1-8b-instant"
Model Mixtral untuk tugas multilingual
MODELMULTILINGUAL = "mixtral-8x7b-32768"
Model dengan context window besar
MODELLONGCONTEXT = "llama-3.3-70b-versatile" # 128K context
Model vision untuk gambar
MODELVISION = "llama-3.2-90b-vision-preview"
Mengatur Parameter
Anda bisa mengontrol output model dengan berbagai parameter:
response = client.chat.completions.create(
messages=[
{"role": "user", "content": "Tulis puisi pendek tentang koding."}
],
model="llama-3.3-70b-versatile",
temperature=0.9, # Kreativitas (0.0 - 2.0)
maxtokens=512, # Maksimum token output
topp=0.9, # Nucleus sampling
frequencypenalty=0.5, # Penalti pengulangan kata
presencepenalty=0.3, # Penalti topik yang sudah disebutkan
stop=["---"], # Stop sequence
)
Multi-turn Conversation
Untuk percakapan multi-turn, kirim seluruh riwayat percakapan: