Gemini 2.0 (eksperimental)

Gemini 2.0 Flash kini tersedia sebagai rilis pratinjau eksperimental melalui Gemini Developer API dan Google AI Studio. Model ini memperkenalkan fitur baru dan kemampuan inti yang ditingkatkan:

  • Multimodal Live API: API baru ini membantu Anda membuat aplikasi streaming audio dan visio real-time dengan penggunaan alat.
  • Kecepatan dan performa: Gemini 2.0 memiliki waktu untuk token pertama (TTFT) yang jauh lebih baik dibandingkan 1.5 Flash.
  • Kualitas: Model mempertahankan kualitas yang sebanding dengan model yang lebih besar seperti Gemini 1.5 Pro.
  • Kemampuan agen yang ditingkatkan: Gemini 2.0 memberikan peningkatan pada pemahaman multimodal, coding, mengikuti petunjuk yang kompleks, dan panggilan fungsi. Peningkatan ini bekerja sama untuk mendukung pengalaman agen yang lebih baik.
  • Modalitas baru: Gemini 2.0 memperkenalkan pembuatan gambar native dan kemampuan text-to-speech yang dapat dikontrol, yang memungkinkan pengeditan gambar, pembuatan karya seni yang dilokalkan, dan narasi yang ekspresif.

Untuk mendukung model baru, kami juga mengirimkan SDK baru.

Untuk mengetahui detail teknis Gemini 2.0, lihat model Gemini.

Google Gen AI SDK (eksperimental)

Google Gen AI SDK baru menyediakan antarmuka terpadu ke Gemini 2.0 melalui Gemini Developer API dan Gemini API di Vertex AI. Dengan beberapa pengecualian, kode yang berjalan di satu platform akan berjalan di kedua platform. Artinya, Anda dapat membuat prototipe aplikasi menggunakan Developer API, lalu memigrasikan aplikasi ke Vertex AI tanpa menulis ulang kode.

Gen AI SDK juga mendukung model Gemini 1.5.

SDK baru ini tersedia di Python dan Go, dengan Java dan JavaScript akan segera hadir.

Anda dapat mulai menggunakan SDK seperti yang ditunjukkan di bawah ini.

  1. Instal SDK baru: pip install google-genai
  2. Kemudian, impor library, lakukan inisialisasi klien, dan buat konten:
from google import genai

client = genai.Client(
    vertexai=False,
    api_key="YOUR_API_KEY"
)
response = client.models.generate_content(
    model='gemini-2.0-flash-experimental', contents='How does AI work?'
)
print(response.text)

(Opsional) Menetapkan variabel lingkungan

Atau, Anda dapat melakukan inisialisasi klien menggunakan variabel lingkungan. Pertama, tetapkan nilai yang sesuai dan ekspor variabel:

# Replace `YOUR_API_KEY` with your API key.
export GOOGLE_API_KEY=YOUR_API_KEY
export GOOGLE_GENAI_USE_VERTEXAI=False

Kemudian, Anda dapat melakukan inisialisasi klien tanpa argumen apa pun:

client = genai.Client()

Developer Python juga dapat mencoba notebook Memulai di Cookbook.

Multimodal Live API

Multimodal Live API memungkinkan interaksi suara dan video dua arah dengan latensi rendah dengan Gemini. Dengan menggunakan Multimodal Live API, Anda dapat memberikan pengalaman percakapan suara alami yang mirip manusia kepada pengguna akhir, dan dengan kemampuan untuk mengganggu respons model menggunakan perintah suara. Model ini dapat memproses input teks, audio, dan video, serta dapat memberikan output teks dan audio.

Multimodal Live API tersedia di Gemini API sebagai metode BidiGenerateContent dan dibuat di WebSockets.

Berikut adalah contoh teks ke teks sederhana untuk membantu Anda memulai Multimodal Live API:

MODEL = "models/gemini-2.0-flash-exp"
CONFIG = {"generation_config": {"response_modalities": ["TEXT"]}}

async with client.aio.live.connect(model=MODEL, config=CONFIG) as session:
  message = "Hello? Gemini, are you there?"
  print("> ", message, "\n")
  await session.send(message, end_of_turn=True)

  # For text responses, when the model's turn is complete it breaks out of the loop.
  async for response in session.receive():
    print("- ", response.text)

Kemampuan utama:

  • Multimodalitas: Model dapat melihat, mendengar, dan berbicara.
  • Interaksi real-time latensi rendah: Memberikan respons yang cepat.
  • Memori sesi: Model mempertahankan memori semua interaksi dalam satu sesi, mengingat informasi yang didengar atau dilihat sebelumnya.
  • Dukungan untuk panggilan fungsi, eksekusi kode, dan Penelusuran sebagai alat: Memungkinkan integrasi dengan layanan dan sumber data eksternal.
  • Deteksi aktivitas suara otomatis (VAD): Model ini dapat mengenali dengan akurat saat pengguna mulai dan berhenti berbicara. Hal ini memungkinkan interaksi percakapan yang alami dan memungkinkan pengguna untuk mengganggu model kapan saja.

Bahasa:

  • Hanya bahasa Inggris

Batasan:

  • Input audio dan output audio berdampak negatif pada kemampuan model untuk menggunakan panggilan fungsi.

Untuk mempelajari lebih lanjut kemampuan dan batasan API, lihat panduan referensi Multimodal Live API.

Anda dapat mencoba Multimodal Live API di Google AI Studio. Untuk mulai mengembangkan, Anda dapat mencoba konsol web (ditulis dalam React). Untuk developer Python, coba kode awal (notebook, dan file.py). Anda mungkin merasa notebook paling mudah digunakan, tetapi API live berfungsi terbaik saat dijalankan dari terminal.

Penelusuran sebagai alat

Dengan menggunakan Grounding dengan Google Penelusuran, Anda dapat meningkatkan akurasi dan keaktualan respons dari model. Mulai Gemini 2.0, Google Penelusuran tersedia sebagai alat. Artinya, model dapat memutuskan kapan harus menggunakan Google Penelusuran. Contoh berikut menunjukkan cara mengonfigurasi Penelusuran sebagai alat.

from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch

client = genai.Client()
model_id = "gemini-2.0-flash-exp"

google_search_tool = Tool(
    google_search = GoogleSearch()
)

response = client.models.generate_content(
    model=model_id,
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[google_search_tool],
        response_modalities=["TEXT"],
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...

# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)

Fungsi Penelusuran sebagai alat juga memungkinkan penelusuran multi-giliran dan kueri multi-alat (misalnya, menggabungkan Grounding dengan Google Penelusuran dan eksekusi kode).

Penelusuran sebagai alat memungkinkan perintah dan alur kerja kompleks yang memerlukan perencanaan, pemikiran, dan pemikiran:

  • Dasar untuk meningkatkan faktualitas dan keaktualan serta memberikan jawaban yang lebih akurat
  • Mengambil artefak dari web untuk melakukan analisis lebih lanjut
  • Menemukan gambar, video, atau media lain yang relevan untuk membantu tugas pemikiran atau pembuatan multimodal
  • Coding, pemecahan masalah teknis, dan tugas khusus lainnya
  • Menemukan informasi khusus wilayah atau membantu menerjemahkan konten secara akurat
  • Menemukan situs yang relevan untuk penjelajahan lebih lanjut

Anda dapat memulai dengan mencoba notebook alat Penelusuran.

Alat yang ditingkatkan

Gemini 2.0 memperkenalkan peningkatan pada panggilan fungsi dan alat yang memberikan dukungan yang lebih baik untuk pengalaman agen.

Panggilan fungsi komposisi

Gemini 2.0 mendukung kemampuan panggilan fungsi baru: panggilan fungsi komposisi. Panggilan fungsi komposisi memungkinkan Gemini API memanggil beberapa fungsi yang ditentukan pengguna secara otomatis dalam proses pembuatan respons. Misalnya, untuk merespons perintah "Get the temperature in my current location", Gemini API dapat memanggil fungsi get_current_location() dan fungsi get_weather() yang menggunakan lokasi sebagai parameter.

Panggilan fungsi komposisi dengan eksekusi kode memerlukan streaming dua arah dan hanya didukung oleh Multimodal Live API baru. Berikut adalah contoh yang menunjukkan cara menggunakan panggilan fungsi komposisi, eksekusi kode, dan Multimodal Live API secara bersamaan:

turn_on_the_lights_schema = {'name': 'turn_on_the_lights'}
turn_off_the_lights_schema = {'name': 'turn_off_the_lights'}

prompt = """
  Hey, can you write run some python code to turn on the lights, wait 10s and then turn off the lights?
  """

tools = [
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Developer Python dapat mencobanya di notebook Penggunaan Alat API Live.

Penggunaan multi-alat

Dengan Gemini 2.0, Anda dapat mengaktifkan beberapa alat secara bersamaan, dan model akan memutuskan kapan harus memanggilnya. Berikut adalah contoh yang mengaktifkan dua alat, Pemrosesan dengan Google Penelusuran dan eksekusi kode, dalam permintaan menggunakan Multimodal Live API.

prompt = """
  Hey, I need you to do three things for me.

  1. Turn on the lights.
  2. Then compute the largest prime palindrome under 100000.
  3. Then use Google Search to look up information about the largest earthquake in California the week of Dec 5 2024.

  Thanks!
  """

tools = [
    {'google_search': {}},
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Developer Python dapat mencobanya di notebook Penggunaan Alat API Live.

Deteksi kotak pembatas

Dalam peluncuran eksperimental ini, kami menyediakan alat yang canggih bagi developer untuk deteksi dan pelokalan objek dalam gambar dan video. Dengan mengidentifikasi dan menandai objek dengan kotak pembatas secara akurat, developer dapat membuka berbagai aplikasi dan meningkatkan kecerdasan project mereka.

Manfaat Utama:

  • Mudah: Integrasikan kemampuan deteksi objek ke dalam aplikasi Anda dengan mudah, apa pun keahlian computer vision Anda.
  • Dapat disesuaikan: Membuat kotak pembatas berdasarkan petunjuk kustom (misalnya, "Saya ingin melihat kotak pembatas semua objek hijau dalam gambar ini"), tanpa harus melatih model kustom.

Detail Teknis:

  • Input: Perintah Anda dan gambar atau frame video terkait.
  • Output: Bounding box dalam format [y_min, x_min, y_max, x_max]. Sudut kiri atas adalah asal. Sumbu x dan y masing-masing berjalan secara horizontal dan vertikal. Nilai koordinat dinormalisasi menjadi 0-1000 untuk setiap gambar.
  • Visualisasi: Pengguna AI Studio akan melihat kotak pembatas yang diplot dalam UI. Pengguna Vertex AI harus memvisualisasikan kotak pembatas melalui kode visualisasi kustom.

Untuk developer Python, coba notebook pemahaman spasial 2D atau notebook penunjuk 3D eksperimental.

Pembuatan ucapan (akses awal/daftar yang diizinkan)

Gemini 2.0 mendukung kemampuan pembuatan multimodal baru: text to speech. Dengan menggunakan kemampuan text-to-speech, Anda dapat meminta model untuk menghasilkan output audio berkualitas tinggi yang terdengar seperti suara manusia (say "hi everyone"), dan Anda dapat lebih meningkatkan kualitas output dengan mengarahkan suara.

Pembuatan gambar (akses awal/daftar yang diizinkan)

Gemini 2.0 mendukung kemampuan untuk menghasilkan teks dengan gambar inline. Hal ini memungkinkan Anda menggunakan Gemini untuk mengedit gambar secara percakapan atau menghasilkan output multimodal (misalnya, postingan blog dengan teks dan gambar dalam satu giliran). Sebelumnya, hal ini akan memerlukan penggabungan beberapa model.

Pembuatan gambar tersedia sebagai rilis eksperimental pribadi. Fitur ini mendukung modalitas dan kemampuan berikut:

  • Teks ke gambar
    • Contoh perintah: "Buat gambar menara Eiffel dengan kembang api di latar belakang."
  • Teks ke gambar dan teks (disisipkan)
    • Contoh perintah: "Buat resep bergambar untuk paella."
  • Gambar dan teks ke gambar dan teks (disisipkan)
    • Contoh perintah: (Dengan gambar ruangan yang dilengkapi perabotan) "Sofa warna apa lagi yang cocok untuk ruangan saya? Bisakah Anda memperbarui gambarnya?"
  • Pengeditan gambar (teks dan gambar ke gambar)
    • Contoh perintah: "Edit gambar ini agar terlihat seperti kartun"
    • Contoh perintah: [gambar kucing] + [gambar bantal] + "Buat jahitan silang kucing saya di bantal ini".
  • Pengeditan gambar multi-giliran (chat)
    • Contoh perintah: [upload gambar mobil biru.] "Ubah mobil ini menjadi mobil konversi." "Sekarang ubah warnanya menjadi kuning."
  • Watermark (synthID)

Batasan:

  • Pembuatan orang dan pengeditan gambar orang yang diupload tidak diizinkan.
  • Pembuatan gambar hanya didukung dalam bahasa berikut: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • Pembuatan gambar tidak mendukung input audio atau video.
  • Pembuatan gambar mungkin tidak selalu memicu:
    • Model hanya dapat menghasilkan teks. Coba minta output gambar secara eksplisit (misalnya, "buat gambar", "berikan gambar saat Anda melakukannya", "perbarui gambar").
    • Model mungkin berhenti menghasilkan di tengah jalan. Coba lagi atau coba perintah lain.