Dalam AI generatif, perujukan adalah kemampuan untuk menghubungkan output model ke sumber informasi yang dapat diverifikasi. Jika Anda memberi model akses ke sumber data tertentu, grounding akan mengikat outputnya ke data ini dan mengurangi kemungkinan pembuatan konten.
Dengan Vertex AI, Anda dapat mendasarkan output model dengan cara berikut:
- Grounding dengan Google Penelusuran - melakukan grounding pada model dengan data web yang tersedia secara publik.
- Ground to your own data - membuat model dengan data Anda sendiri dari Vertex AI Search sebagai penyimpanan data (Pratinjau).
Untuk informasi selengkapnya tentang pentanahan, lihat Ringkasan pentanahan.
Model yang didukung
Model | Versi |
---|---|
Gemini 2.0 Flash hanya dengan input teks | gemini-2.0-flash-001 |
Gemini 1.5 Pro hanya dengan input teks | gemini-1.5-pro-002 gemini-1.5-pro-001 |
Gemini 1.5 Flash hanya dengan input teks | gemini-1.5-flash-002 gemini-1.5-flash-001 |
Gemini 1.0 Pro hanya dengan input teks | gemini-1.0-pro-001 gemini-1.0-pro-002 |
Batasan
Pembumian hanya tersedia untuk permintaan teks.
Contoh sintaksis
Contoh ini menunjukkan sintaksis untuk cara melandasi model dan menentukan bahasa yang didukung. Untuk dukungan bahasa, lihat Bahasa.
Tentukan nilai untuk variabel berikut:
- PROMPT_TEXT: Permintaan teks yang Anda kirimkan ke model bahasa untuk menerima respons balik.
- SYSTEM_INSTRUCTION: Kumpulan petunjuk yang memberi tahu model cara berperilaku dan merespons perintah.
- FACT_TEXT_1: Informasi terverifikasi yang digunakan oleh model untuk menghasilkan respons.
- TITLE_1: Nama sumber informasi terverifikasi Anda.
- URI_1: String yang secara unik mengidentifikasi lokasi sumber informasi terverifikasi Anda.
- AUTHOR_1: Penyedia informasi terverifikasi yang digunakan oleh model untuk menghasilkan respons.
- FACT_TEXT_2: Informasi terverifikasi yang digunakan oleh model untuk menghasilkan respons.
- TITLE_2: Nama sumber informasi terverifikasi Anda.
- URI_2: String yang secara unik mengidentifikasi lokasi sumber informasi terverifikasi Anda.
- FACT_TEXT_3: Informasi terverifikasi yang digunakan oleh model untuk menghasilkan respons.
- TITLE_3: Nama sumber informasi terverifikasi Anda.
- URI_3: String yang secara unik mengidentifikasi lokasi sumber informasi terverifikasi Anda.
- PROJECT_NUMBER: Mengidentifikasi Google Cloud project Anda secara unik, yang berisi resource Anda.
- APP_ID_1: Aplikasi yang berinteraksi dengan model.
- APP_ID_2: Aplikasi yang berinteraksi dengan model.
- MODEL_ID: Mengidentifikasi model yang berinteraksi dengan aplikasi Anda.
- LANGUAGE_CODE: Mengidentifikasi bahasa yang digunakan dalam membuat respons yang beralasan.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global:generateGroundedContent" \ -d ' { "contents": [ { "role": "user", "parts": [ { "text": "PROMPT_TEXT" } ] } ], "systemInstruction": { "parts": { "text": "SYSTEM_INSTRUCTION" } }, "groundingSpec": { "groundingSources": [ { "inlineSource": { "groundingFacts": [ { "factText": "FACT_TEXT_1", "attributes": { "title": "TITLE_1", "uri": "URI_1", "author": "AUTHOR_1" } } ] } }, { "inlineSource": { "groundingFacts": [ { "factText": "FACT_TEXT_2", "attributes": { "title": "TITLE_2", "uri": "URI_2" } }, { "factText": "FACT_TEXT_3", "attributes": { "title": "TITLE_3", "uri": "URI_3" } } ] } }, { "searchSource": { "servingConfig": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID_1/servingConfigs/default_search" } }, { "searchSource": { "servingConfig": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID_2/servingConfigs/default_search" } } ] }, "generationSpec": { "modelId": "MODEL_ID", "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, }, "user_context": { "languageCode: "LANGUAGE_CODE" "latLng": { "latitude": 46.7, "longitude": 8.9 }, }'
Daftar parameter
Lihat contoh untuk mengetahui detail penerapan.
GoogleSearchRetrieval
Dasari respons dengan data publik.
Parameter | |
---|---|
|
Wajib: Latar belakang dengan data web yang tersedia secara publik. |
Retrieval
Dasari respons dengan data pribadi dari Vertex AI Search sebagai penyimpanan data. Menentukan alat pengambilan yang dapat dipanggil model untuk mengakses pengetahuan eksternal.
Parameter | |
---|---|
|
Wajib: Lakukan dasar-dasar dengan sumber data Vertex AI Search. |
VertexAISearch
Parameter | |
---|---|
|
Wajib: ID resource penyimpanan data yang sepenuhnya memenuhi syarat dari Vertex AI Search, dalam format berikut: |
Contoh
Menghubungkan respons pada data web publik menggunakan Google Penelusuran
Hubungkan respons dengan data publik Google Penelusuran. Sertakan alat google_search_retrieval
dalam permintaan. Tidak diperlukan parameter tambahan.
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": { "..." } }
Python
NodeJS
Java
Respons dasar pada data pribadi menggunakan Vertex AI Search
Dasari respons dengan data dari penyimpanan data Vertex AI Search. Untuk mengetahui informasi selengkapnya, lihat Vertex AI Agent Builder.
Sebelum Anda mendasarkan respons dengan data pribadi, buat penyimpanan data dan aplikasi penelusuran.
PERINGATAN: Untuk saat ini, antarmuka "grounding" ini tidak mendukung "mode bagian" Penelusuran Vertex AI.
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.
- TEXT: Petunjuk teks yang akan disertakan dalam perintah.
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": [{ "retrieval": { "vertexAiSearch": { "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID } } }], "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": "You can make an appointment on the website https://dmv.gov/" } ] }, "finishReason": "STOP", "safetyRatings": [ "..." ], "groundingMetadata": { "retrievalQueries": [ "How to make appointment to renew driving license?" ], "groundingChunks": [ { "retrievedContext": { "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==", "title": "dmv" } } ], "groundingSupport": [ { "segment": { "startIndex": 25, "endIndex": 147 }, "segment_text": "ipsum lorem ...", "supportChunkIndices": [1, 2], "confidenceScore": [0.9541752, 0.97726375] }, { "segment": { "startIndex": 294, "endIndex": 439 }, "segment_text": "ipsum lorem ...", "supportChunkIndices": [1], "confidenceScore": [0.9541752, 0.9325467] } ] } } ], "usageMetadata": { "..." } }
Python
NodeJS
Java
Langkah berikutnya
Untuk dokumentasi mendetail, lihat hal berikut: