Last chance! 50% off DataCamp Premium
Sale ends in
Google Bard menghadapi persaingan yang semakin ketat dari ChatGPT, namun dengan peluncuran model AI Gemini terbaru, mereka berharap dapat kembali menguat di pasar. Untuk meningkatkan pengalaman pengguna, Google baru-baru ini merombak asisten Bard AI dengan model Gemini Pro, sehingga lebih mudah diakses bagi pengguna yang ingin memasukkan teks dan gambar untuk mendapatkan respons yang akurat dan natural.
Dalam tutorial ini, kita akan menjelajahi Google Gemini API, yang memungkinkan Anda membuat aplikasi berbasis AI tingkat lanjut. Dengan memanfaatkan kemampuannya yang kuat, Anda dapat dengan mudah menggabungkan masukan teks dan gambar untuk menghasilkan keluaran yang tepat dan relevan secara kontekstual. Gemini Python API mempermudah integrasi ke proyek yang sudah ada, sehingga Anda dapat menerapkan fitur kecerdasan buatan mutakhir dengan mulus.
Gemini AI adalah model kecerdasan buatan (AI) terkini dan mutakhir yang diciptakan melalui kolaborasi berbagai tim di Google, seperti Google Research dan Google DeepMind. Dirancang bersifat multimodal, Gemini AI dapat memahami dan memproses beragam bentuk data, termasuk teks, kode, audio, gambar, dan video.
Upaya Google DeepMind dalam pengembangan kecerdasan buatan sejak lama didorong oleh harapan untuk memanfaatkannya demi kebaikan bersama umat manusia. Sejalan dengan itu, Gemini AI telah membuat kemajuan signifikan dalam menciptakan generasi baru model AI yang terinspirasi dari cara manusia memersepsi dan berinteraksi dengan dunia.
Sebagai model AI paling canggih dan terbesar yang diproduksi Google sejauh ini, Gemini AI dirancang sangat fleksibel dan mampu menangani beragam jenis informasi. Fleksibilitasnya memungkinkan model ini berjalan efisien pada berbagai sistem, mulai dari server pusat data bertenaga tinggi hingga perangkat seluler.
Berikut tiga versi model Gemini yang dilatih untuk kasus penggunaan spesifik:

Sumber gambar
Di antara varian tersebut, Gemini Ultra menunjukkan performa luar biasa, melampaui GPT-4 pada banyak kriteria. Ini adalah model pertama yang mengungguli pakar manusia pada tolok ukur Massive Multitask Language Understanding, yang menilai pengetahuan dunia dan kemampuan pemecahan masalah di 57 bidang. Capaian ini menunjukkan keunggulan pemahaman dan kemampuan problem-solving Gemini Ultra.
Jika Anda baru di bidang Kecerdasan Buatan, jelajahi jalur keterampilan AI Fundamentals. Jalur ini membahas topik populer seperti ChatGPT, model bahasa besar, dan AI generatif.
Sebelum mulai menggunakan API, kita harus mendapatkan kunci API dari Google AI for Developers.
1. Klik tombol “Get an API key”.

2. Setelah itu, buat proyek dan hasilkan kunci API.

3. Salin kunci API dan tambahkan variabel lingkungan bernama "Gemini_API_KEY" di sistem Anda. Untuk membuat variabel lingkungan yang aman di Kaggle, buka "Add-ons" dan pilih "Secrets." Lalu klik tombol "Add a new secret" untuk menambahkan label dan nilai yang sesuai, kemudian simpan.

4. Instal paket Gemini Python API menggunakan pip.
%pip install google-generativeai
5. Konfigurasi Gemini API dengan menambahkan kunci API. Untuk mengakses secret Anda harus membuat objek UserSecretsClient lalu memberinya label tersebut.
import google.generativeai as genai
from kaggle_secrets import UserSecretsClient
user_secrets = UserSecretsClient()
gemini_key = user_secrets.get_secret("GEMINI_API_KEY")
genai.configure(api_key = gemini_key)
Di bagian ini, kita akan belajar menghasilkan respons menggunakan model Gemini Pro. Jika Anda mengalami kendala saat menjalankan kode sendiri, Anda dapat mengikuti Kaggle Notebook Gemini API.
Sekarang kita akan memeriksa akses model yang tersedia dengan API gratis. Untuk melakukannya, jalankan kode di bawah ini. Kode ini akan menampilkan model generasi yang didukung menggunakan fungsi list_models.
for m in genai.list_models():
if 'generateContent' in m.supported_generation_methods:
print(m.name)
Tampaknya kita hanya memiliki akses ke dua model, "gemini-pro" dan "gemini-pro-vision".
models/gemini-pro
models/gemini-pro-vision
Mari akses model "Gemini Pro" dan menghasilkan respons dengan memberikan prompt sederhana.
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Please provide a list of the most influential people in the world.")
print(response.text)
Kita berhasil menghasilkan respons yang sangat akurat hanya dengan beberapa baris kode.

Gemini AI dapat menghasilkan beberapa respons yang disebut kandidat untuk suatu prompt, sehingga Anda bisa memilih yang paling sesuai. Namun, versi gratis API hanya menawarkan satu kandidat.
response.candidates

Keluaran kita menggunakan format Markdown. Mari perbaiki dengan alat Markdown IPython. Sekarang kita akan meminta Gemini untuk menghasilkan kode Python.
from IPython.display import Markdown
response = model.generate_content("Build a simple Python web application.")
Markdown(response.text)
Model bekerja dengan sangat baik. Model menghasilkan panduan langkah demi langkah beserta penjelasan cara membangun dan menjalankan aplikasi web sederhana menggunakan Flask.

Penting untuk menggunakan streaming guna meningkatkan persepsi kecepatan aplikasi. Dengan mengaktifkan argumen 'stream', respons akan dihasilkan dan ditampilkan segera setelah tersedia. Keluaran kita akan dihasilkan per potongan (chunk), sehingga kita harus melakukan iterasi terhadap response.
from IPython.display import display
model = genai.GenerativeModel("gemini-pro")
response = model.generate_content(
"How can I make authentic Italian pasta?", stream=True
)
for chunk in response:
display(Markdown(chunk.text))
display(Markdown("_" * 80))
Setiap potongan dipisahkan oleh garis putus-putus. Seperti terlihat di bawah, konten kita dihasilkan per potongan. Streaming di Gemini APi mirip dengan API OpenAI dan Anthropic.

Kita dapat menyesuaikan respons yang dihasilkan agar sesuai kebutuhan.
Pada contoh berikut, kita menghasilkan satu kandidat dengan maksimum 1000 token dan temperatur 0,7. Selain itu, kita menetapkan stop sequence, sehingga ketika kata "time" muncul dalam teks yang dihasilkan, proses generasi otomatis berhenti.
response = model.generate_content(
'How to be productive during a burnout stage.',
generation_config=genai.types.GenerationConfig(
candidate_count=1,
stop_sequences=['time'],
max_output_tokens=1000,
temperature=0.7)
)
Markdown(response.text)

Di bagian ini, kita akan menggunakan Gemini Pro Vision untuk mengakses kemampuan multimodal Gemini AI.
Kita akan mengunduh foto oleh Mayumi Maciel dari pexel.com menggunakan alat curl.
!curl -o landscape.jpg "https://images.pexels.com/photos/18776367/pexels-photo-18776367/free-photo-of-colorful-houses-line-the-canal-in-burano-italy.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

Untuk memuat dan menampilkan gambar di Kaggle Notebook, kita akan menggunakan paket Python Pillow.
import PIL.Image
img = PIL.Image.open('landscape.jpg')
display(img)

Untuk memahami konten gambar ini, pertama-tama kita harus memuat model "gemini-pro-vision" dan memberinya objek gambar.
model = genai.GenerativeModel('gemini-pro-vision')
response = model.generate_content(img)
Markdown(response.text)
Model berhasil mengidentifikasi lokasi pada gambar dan memberikan deskripsi.
A beautiful day in Burano, Italy. The colorful houses and the calm water make this a perfect place to relax and enjoy the scenery.
Mari kita berikan prompt teks dan objek gambar ke fungsi generasi untuk menanyakan pertanyaan tentang gambar tersebut.
response = model.generate_content(
["Can you provide the exact location with coordinates?", img]
)
Markdown(response.text)
45.4408° N, 12.3150° E
Model memberikan koordinat lokasi dengan akurat, dan kami juga telah memverifikasinya dengan menambahkan koordinat tersebut ke Google Maps.

Anda dapat melakukan percakapan dengan model AI yang mempertahankan konteks chat dengan menggunakan riwayat percakapan sebelumnya. Dengan cara ini, model dapat mengingat isi percakapan dan memberikan respons yang sesuai berdasarkan interaksi sebelumnya.
Kita hanya perlu membuat objek chat menggunakan model.start_chat dan memberinya pesan pertama.
model = genai.GenerativeModel('gemini-pro')
chat = model.start_chat(history=[])
chat.send_message("Who created the Mona Lisa?")
for message in chat.history:
display(Markdown(f'**{message.role}**: {message.parts[0].text}'))

Mari ajukan pertanyaan lain dan tampilkan responsnya dalam format chat.
chat.send_message("What else he created?")
for message in chat.history:
display(Markdown(f'**{message.role}**: {message.parts[0].text}'))
Model mengingat konteks dan memberikan respons yang sesuai.

API ini menyediakan akses ke model embedding, yang populer untuk aplikasi yang peka konteks. Dengan fungsi Python sederhana, pengguna dapat mengonversi prompt atau kontennya menjadi embedding, sehingga mereka dapat merepresentasikan kata, kalimat, atau seluruh dokumen sebagai vektor rapat yang memuat makna semantik.
Kita akan memberikan fungsi embed_content nama model, konten, jenis tugas, dan judul.
result = genai.embed_content(
model="models/embedding-001",
content="Who created the Mona Lisa?",
task_type="retrieval_document",
title="Mona Lisa Research")
print(result['embedding'][:10])
[0.086675204, -0.027617611, -0.015689207, -0.00445945, 0.07286186, 0.00017529335, 0.07243656, -0.018299067, 0.018799499, 0.028495966]
Untuk mengonversi banyak konten menjadi embedding, Anda perlu memberikan daftar string pada argumen 'content'.
result = genai.embed_content(
model="models/embedding-001",
content=[
"Who created the Mona Lisa?",
"What else he created?",
"When did he died?"
],
task_type="retrieval_document",
title="Mona Lisa Research 2")
for emb in result['embedding']:
print(emb[:10],"\n")
[0.07942627, -0.032543894, -0.010346633, -0.0039942865, 0.071596086, -0.0016670177, 0.07821064, -0.011955016, 0.019478166, 0.03784406]
[0.027897138, -0.030693276, -0.0012639443, 0.0018902065, 0.07171923, -0.011544562, 0.04235154, -0.024570161, 0.013215181, 0.03026724]
[0.04341321, 0.013262799, -0.0152797215, -0.009688456, 0.07342798, 0.0033503908, 0.05274988, -0.010907041, 0.05933596, 0.019402765]
Daftar pada kursus Introduction to Embeddings with the OpenAI API untuk mempelajari model embedding bagi aplikasi AI lanjutan seperti penelusuran semantik dan mesin rekomendasi.
Untuk memanfaatkan potensi penuh Gemini API, pengembang mungkin perlu menyelami fitur lanjutan seperti pengaturan keamanan dan API level rendah.
GenaiChatSession, meningkatkan pengalaman percakapan.Menggunakan fitur lanjutan memungkinkan pengembang menciptakan aplikasi yang lebih efisien dan membuka kemungkinan baru untuk interaksi pengguna.
Gemini API membuka peluang menarik bagi pengembang untuk membangun aplikasi AI tingkat lanjut dengan memanfaatkan masukan teks dan visual. Model mutakhirnya, seperti Gemini Ultra, mendorong batasan tentang apa yang dapat dipahami dan dihasilkan oleh sistem AI.
Google membuat integrasi AI ke dalam aplikasi menjadi lebih mulus melalui akses praktis yang disediakan melalui Python API. Gemini API menawarkan beragam fitur seperti pembuatan konten, embedding, dan percakapan multi-giliran, sehingga AI menjadi lebih mudah diakses. Gemini AI menandai lompatan besar dalam pemahaman multimodal.
Jika Anda tertarik mempelajari lebih lanjut, mulai perjalanan Anda mengembangkan aplikasi bertenaga AI dengan OpenAI API dengan mengikuti kursus singkat Working with the OpenAI API. Temukan fungsi di balik aplikasi AI populer, seperti ChatGPT dan DataLab, notebook data berkemampuan AI dari DataCamp.
Jika Anda seorang profesional dan tidak memerlukan kursus praktis, Anda dapat menjelajahi OpenAI API in Python dengan lembar contekan kami.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
Mulai Perjalanan AI Anda Hari Ini!
Kursus
Kursus
Kursus

blogs
Javier Canales Luna
14 mnt
blogs
Dario Radečić
15 mnt
blogs
David Woods
13 mnt
blogs
Hugo Bowne-Anderson
13 mnt