Halaman ini menjelaskan cara mendasarkan respons model menggunakan Google Penelusuran, yang menggunakan data web yang tersedia secara publik.
Perujukan dengan Google Penelusuran
Jika Anda ingin menghubungkan model dengan pengetahuan dunia, berbagai kemungkinan topik, atau informasi terbaru di Internet, gunakan Grounding dengan Google Penelusuran.
Perujukan dengan Google Penelusuran mendukung pengambilan dinamis yang memberi Anda opsi untuk membuat respons yang dilandasi dengan Google Penelusuran. Oleh karena itu, konfigurasi pengambilan dinamis mengevaluasi apakah perintah memerlukan pengetahuan tentang peristiwa terbaru dan mengaktifkan Perujukan dengan Google Penelusuran. Untuk informasi selengkapnya, lihat Pengambilan dinamis.
Untuk mempelajari lebih lanjut grounding model di Vertex AI, lihat Ringkasan grounding.
Model yang didukung
Bagian ini mencantumkan model yang mendukung perujukan dengan Penelusuran. Untuk mempelajari cara setiap model menghasilkan respons yang berdasar, ikuti petunjuk berikut:
Coba model yang tercantum dalam tabel ini di konsol Google Cloud.
Klik tombol Grounding ke posisi aktif.
Model | Deskripsi | Mencoba model |
---|---|---|
Gemini 1.5 Pro |
Hanya input teks | Coba model Gemini 1.5 Pro |
Gemini 1.5 Flash |
Hanya input teks | Coba model Gemini 1.5 Flash |
Gemini 1.0 Pro |
Hanya input teks | Coba model Gemini 1.0 Pro |
Gemini 2.0 Flash |
Teks, kode, gambar, audio, video, video dengan audio, PDF Tidak mendukung pengambilan dinamis. Untuk informasi selengkapnya, lihat Pertimbangan. |
Coba model Gemini 2.0 Flash |
Bahasa yang didukung
Untuk mengetahui daftar bahasa yang didukung, lihat Bahasa.
Menempatkan model Anda dengan Google Penelusuran
Gunakan petunjuk berikut untuk melandasi model dengan data web yang tersedia secara publik.
Pengambilan dinamis
Anda dapat menggunakan pengambilan dinamis dalam permintaan untuk memilih kapan harus menonaktifkan perujukan dengan Google Penelusuran. Hal ini berguna jika perintah tidak memerlukan jawaban yang didasarkan pada Google Penelusuran dan model yang didukung dapat memberikan jawaban berdasarkan pengetahuannya tanpa dasar. Hal ini membantu Anda mengelola latensi, kualitas, dan biaya secara lebih efektif.
Sebelum memanggil konfigurasi pengambilan dinamis dalam permintaan, pahami terminologi berikut:
Skor prediksi: Saat Anda meminta jawaban yang berdasar, Vertex AI akan menetapkan skor prediksi ke perintah. Skor prediksi adalah nilai floating point dalam rentang [0,1]. Nilainya bergantung pada apakah perintah dapat mendapatkan manfaat dari perujukan jawaban dengan informasi terbaru dari Google Penelusuran. Oleh karena itu, perintah yang memerlukan jawaban yang didasarkan pada fakta terbaru di web akan memiliki skor prediksi yang lebih tinggi. Perintah yang jawabannya sudah memadai dari model memiliki skor prediksi yang lebih rendah.
Berikut adalah contoh beberapa perintah dan skor prediksinya.
Perintah Skor prediksi Komentar "Tulis puisi tentang peony" 0,13 Model dapat mengandalkan pengetahuannya dan jawabannya tidak memerlukan perujukan "Sarankan mainan untuk anak berusia 2 tahun" 0,36 Model dapat mengandalkan pengetahuannya dan jawabannya tidak memerlukan perujukan "Bisakah Anda memberikan resep guacamole bergaya Asia?" 0,55 Google Penelusuran dapat memberikan jawaban yang berdasar, tetapi dasar tidak mutlak diperlukan; pengetahuan model mungkin sudah memadai "Apa itu Agent Builder? How is grounding billed in Agent Builder?" 0,72 Memerlukan Google Penelusuran untuk menghasilkan jawaban yang berdasar "Siapa yang memenangkan grand prix F1 terbaru?" 0,97 Memerlukan Google Penelusuran untuk menghasilkan jawaban yang berdasar Batas: Dalam permintaan, Anda dapat menentukan konfigurasi pengambilan dinamis dengan batas. Batas adalah nilai floating point dalam rentang [0,1] dan default-nya adalah 0,7. Jika nilai nilai minimumnya nol, respons akan selalu dihubungkan dengan Google Penelusuran. Untuk semua nilai batas lainnya, hal berikut berlaku:
- Jika skor prediksi lebih besar dari atau sama dengan nilai minimum, jawaban akan didasarkan pada Google Penelusuran. Batas yang lebih rendah menyiratkan bahwa lebih banyak perintah memiliki respons yang dihasilkan menggunakan Perujukan dengan Google Penelusuran.
- Jika skor prediksi kurang dari nilai minimum, model mungkin masih membuat jawaban, tetapi tidak didasarkan pada Google Penelusuran.
Untuk menemukan nilai minimum yang sesuai dengan kebutuhan bisnis Anda, Anda dapat membuat kumpulan kueri perwakilan yang diperkirakan akan Anda temui. Kemudian, Anda dapat mengurutkan kueri sesuai dengan skor prediksi dalam respons dan memilih nilai minimum yang baik untuk kasus penggunaan Anda.
Pertimbangan
Untuk menggunakan perujukan dengan Google Penelusuran, Anda harus mengaktifkan Saran Google Penelusuran. Lihat selengkapnya di Saran Google Penelusuran.
Untuk hasil yang ideal, gunakan suhu
0.0
. Untuk mempelajari lebih lanjut cara menetapkan konfigurasi ini, lihat isi permintaan Gemini API dari referensi model.Perujukan dengan Google Penelusuran memiliki batas satu juta kueri per hari. Jika Anda memerlukan kueri lainnya, hubungi dukunganGoogle Cloud untuk mendapatkan bantuan.
Hanya model Gemini 1.0 dan Gemini 1.5 yang mendukung pengambilan dinamis. Model Gemini 2.0 tidak mendukung pengambilan dinamis.
Konsol
Untuk menggunakan Grounding dengan Google Penelusuran dengan Vertex AI Studio, ikuti langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman Vertex AI Studio.
- Klik tab Bentuk bebas.
- Di panel samping, klik tombol Ground model responses.
- Klik Sesuaikan dan tetapkan Google Penelusuran sebagai sumber.
- Masukkan perintah Anda di kotak teks, lalu klik Kirim.
Respons perintah Anda kini dihubungkan ke Google Penelusuran.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
LOCATION: Region untuk memproses permintaan.
PROJECT_ID: Project ID Anda.
MODEL_ID: ID model model multimodal. Hanya model Gemini 1.0 dan Gemini 1.5 yang mendukung pengambilan dinamis. Model Gemini 2.0 tidak mendukung pengambilan dinamis.
TEXT: Petunjuk teks yang akan disertakan dalam perintah.
DYNAMIC_THRESHOLD: Kolom opsional untuk menetapkan nilai minimum guna memanggil konfigurasi pengambilan dinamis. Ini adalah nilai floating point dalam rentang
[0,1]
. Jika Anda tidak menetapkan kolomdynamicThreshold
, nilai nilai minimum akan ditetapkan secara default ke0.7
.
const {VertexAI} = require('@google-cloud/vertexai');
// Initialize Vertex with your Cloud project and location
const vertex_ai = new VertexAI({project: PROJECT_ID, location: LOCATION});
const model = MODEL_ID;
// Instantiate the models
const generativeModel = vertex_ai.preview.getGenerativeModel({
model: model,
generationConfig: {
'maxOutputTokens': 8192,
'temperature': 1,
'topP': 0.95,
},
safetySettings: [
{
'category': 'HARM_CATEGORY_HATE_SPEECH',
'threshold': 'OFF',
},
{
'category': 'HARM_CATEGORY_DANGEROUS_CONTENT',
'threshold': 'OFF',
},
{
'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT',
'threshold': 'OFF',
},
{
'category': 'HARM_CATEGORY_HARASSMENT',
'threshold': 'OFF',
}
],
tools: [
{
googleSearchRetrieval: {
dynamicRetrievalConfig: {
mode: "MODE_DYNAMIC",
dynamicThreshold: DYNAMIC_THRESHOLD
}
},
},
],
});
async function generateContent() {
const req = {
contents: [
{role: 'user', parts: [{text: `TEXT`}]}
],
};
const streamingResp = await generativeModel.generateContentStream(req);
for await (const item of streamingResp.stream) {
process.stdout.write('stream chunk: ' + JSON.stringify(item) + '\n');
}
process.stdout.write('aggregated response: ' + JSON.stringify(await streamingResp.response));
}
generateContent();
Vertex AI SDK untuk Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Vertex AI SDK untuk Python.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region untuk memproses permintaan.
- PROJECT_ID: Project ID Anda.
- MODEL_ID: ID model model multimodal. Hanya model Gemini 1.0 dan Gemini 1.5 yang mendukung pengambilan dinamis. Model Gemini 2.0 tidak mendukung pengambilan dinamis.
- TEXT: Petunjuk teks yang akan disertakan dalam perintah.
- DYNAMIC_THRESHOLD: Kolom opsional untuk menetapkan nilai minimum
guna memanggil konfigurasi pengambilan dinamis. Ini adalah nilai floating point dalam rentang [0,1]. Jika Anda tidak menetapkan kolom
dynamicThreshold
, nilai nilai minimum akan ditetapkan secara default ke 0,7.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Meminta isi JSON:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }], "tools": [{ "googleSearchRetrieval": { "dynamicRetrievalConfig": { "mode": "MODE_DYNAMIC", "dynamicThreshold": DYNAMIC_THRESHOLD } } }], "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer." } ] }, "finishReason": "STOP", "safetyRatings":[ "..." ], "groundingMetadata": { "webSearchQueries": [ "What's the weather in Chicago this weekend?" ], "searchEntryPoint": { "renderedContent": "....................." } "groundingSupports": [ { "segment": { "startIndex": 0, "endIndex": 65, "text": "Chicago weather changes rapidly, so layers let you adjust easily." }, "groundingChunkIndices": [ 0 ], "confidenceScores": [ 0.99 ] }, ] "retrievalMetadata": { "webDynamicRetrievalScore": 0.96879 } } } ], "usageMetadata": { "..." } }
Memahami respons Anda
Jika perintah model Anda berhasil dihubungkan ke Google Penelusuran dari Vertex AI Studio atau dari API, respons akan menyertakan metadata dengan link sumber (URL web). Namun, ada beberapa alasan metadata ini mungkin tidak diberikan, dan respons perintah tidak akan didasarkan. Alasan ini meliputi relevansi sumber yang rendah atau informasi yang tidak lengkap dalam respons model.
Kutipan
Menampilkan kutipan sangat direkomendasikan. Fitur ini membantu pengguna memvalidasi respons dari penayang itu sendiri dan menambahkan jalur untuk mempelajari lebih lanjut.
Kutipan untuk respons dari sumber Google Penelusuran harus ditampilkan secara inline dan gabungan. Lihat gambar berikut sebagai saran tentang cara melakukannya.
Penggunaan opsi mesin telusur alternatif
Penggunaan Grounding dengan Google Penelusuran oleh Pelanggan tidak mencegah Pelanggan menawarkan opsi mesin penelusuran alternatif, menjadikan opsi penelusuran alternatif sebagai opsi default untuk Aplikasi Pelanggan, atau menampilkan saran penelusuran atau hasil penelusuran mereka sendiri atau pihak ketiga di Aplikasi Pelanggan, dengan ketentuan bahwa layanan non-Google Penelusuran atau hasil terkait tersebut ditampilkan secara terpisah dari Hasil yang Di-Grounding dan Saran Penelusuran dan tidak dapat secara wajar diatribusikan ke, atau dikacaukan dengan, hasil yang disediakan oleh Google.
Langkah berikutnya
- Untuk mempelajari cara mengirim permintaan dialog chat, lihat Chat multi-giliran.
- Untuk mempelajari praktik terbaik responsible AI dan filter keamanan Vertex AI, lihat Praktik terbaik keamanan.
- Untuk mempelajari cara melakukan grounding pada model PaLM, lihat Grounding di Vertex AI.