Halaman ini menjelaskan cara menyiapkan project Android, mengonfigurasi
library genai-agent, dan membuat agen di perangkat pertama Anda.
Prasyarat
Sebelum membangun Agentic Workflows dengan Gemini Nano, pastikan lingkungan Anda memenuhi persyaratan berikut:
- Versi Android: Android 14 (level API 34) atau yang lebih tinggi yang terdaftar dalam program Pratinjau Developer AICore.
- Perangkat yang didukung: Untuk mengetahui daftar perangkat yang didukung dan versi model Gemini Nano-nya, lihat Dukungan perangkat agen dan pembuatan kustom.
- Minimum SDK:
minSdk 26atau yang lebih tinggi. - Kotlin: Kotlin 2.3 atau yang lebih baru.
Mengonfigurasi project Anda
Tambahkan dependensi genai-agent ke file build.gradle.kts modul Anda:
dependencies {
// Gemini Nano agentic workflows
implementation("com.google.mlkit:genai-agent:1.0.0-alpha1")
// Optional: Only required when defining tools using Android AppFunctions
implementation("androidx.appfunctions:appfunctions:1.0.0-alpha13")
ksp("androidx.appfunctions:appfunctions-compiler:1.0.0-alpha13")
}
Membangun agen pertama Anda
Agen memiliki dua komponen utama:
- Definisi agen: Petunjuk dan guardrail yang mengonfigurasi perilaku agen.
- Runner agen: Mesin eksekusi yang berkomunikasi dengan AICore dan mengelola percakapan.
1. Mengonfigurasi agen dan runner
Contoh kode berikut menunjukkan cara menentukan agen Anda dengan petunjuk sistem dan menginisialisasi class AgentRunner:
import com.google.mlkit.genai.agent.Agent
import com.google.mlkit.genai.agent.AgentRunner
// 1. Build the agent configuration
val agent = Agent.builder()
.setName("Assistant")
.setInstructions("You are a helpful on-device assistant.")
.build()
// 2. Initialize the runner
val runner = AgentRunner(agent)
2. Menjalankan percakapan
Percakapan multi-giliran mempertahankan histori dialog di seluruh giliran menggunakan
instance AgentSession. Gabungkan teks perintah Anda dalam objek Content dan kumpulkan
respons yang di-streaming:
import android.util.Log
import androidx.lifecycle.lifecycleScope
import com.google.mlkit.genai.agent.textTokens
import com.google.mlkit.genai.prompt.Content
import kotlinx.coroutines.launch
// Create or retrieve a conversation session
val session = runner.getOrCreateSession("chat_session")
val prompt = Content.builder()
.text("Hello! Can you help me organize my day?")
.build()
// Collect streamed tokens in a coroutine
lifecycleScope.launch {
session.runAsync(prompt)
.textTokens()
.collect { token ->
Log.d("Agent", token)
}
}
Untuk kueri satu kali yang tidak memerlukan penyimpanan histori percakapan, Anda dapat memanggil metode runner.runSingleTurnAsync(prompt) secara langsung:
lifecycleScope.launch {
runner.runSingleTurnAsync(prompt)
.textTokens()
.collect { token ->
Log.d("Agent", token)
}
}
3. Membersihkan resource
Class AgentRunner mengimplementasikan antarmuka AutoCloseable. Saat komponen
ViewModel atau Activity dihancurkan, tutup runner untuk merilis
sesi aktif dan membatalkan coroutine latar belakang:
runner.close()
Langkah berikutnya
- Menambahkan kemampuan dengan alat: Beri agen Anda kemampuan untuk mengambil tindakan atau membuat kueri data aplikasi menggunakan AppFunctions Android. Lihat Menentukan alat.
- Mempertahankan sesi saat rotasi: Pelajari cara mempertahankan instance
AgentSessiondi dalam classViewModelsaat terjadi perubahan konfigurasi di Mengelola sesi dan siklus proses. - Menghubungkan ke Compose: Melakukan streaming peristiwa dan merender balon percakapan interaktif di Streaming peristiwa dan integrasi UI.