Halaman ini memperkenalkan penelusuran dengan tindak lanjut untuk Vertex AI Search dan menunjukkan cara menerapkannya menggunakan panggilan API.
Jika Anda ingin menambahkan penelusuran dengan tindak lanjut ke widget penelusuran, lihat Mengonfigurasi hasil untuk widget penelusuran.
Penelusuran dengan tindak lanjut berlaku untuk aplikasi penelusuran dengan data tidak terstruktur dan situs.
Tentang penelusuran dengan kueri lanjutan
Penelusuran dengan tindak lanjut didasarkan pada model AI generatif. Penelusuran dengan tindak lanjut berbeda dengan penelusuran data tidak terstruktur reguler karena penelusuran dengan tindak lanjut mempertimbangkan kueri sebelumnya dalam sesi penelusuran yang sama.
Penelusuran dengan kueri lanjutan mendukung hal berikut:
Pemrosesan kueri natural language: Memproses dan memahami input bahasa manusia, mengidentifikasi maksud di balik kueri, dan menampilkan hasil yang relevan.
Kesadaran konteks: Model ini memahami konteks interaksi sebelumnya dan memberikan jawaban yang sesuai dengan konteks.
Multigiliran: Memungkinkan pengguna mengajukan pertanyaan lanjutan dan menerima respons yang relevan.
Contoh penelusuran dengan kueri lanjutan
Berikut adalah contoh penelusuran dengan kueri lanjutan. Misalkan Anda ingin mengetahui tentang berlibur di Meksiko:
Anda: Kapan waktu terbaik dalam setahun untuk berlibur di Meksiko?
Penelusuran dengan tindak lanjut: Waktu terbaik untuk berlibur di Meksiko adalah selama musim kemarau, yang berlangsung dari November hingga April.
Anda: Berapa nilai tukar yang berlaku?
Penelusuran dengan pertanyaan lanjutan: 1 USD setara dengan sekitar 17,65 peso Meksiko.
Anda: Berapa suhu rata-rata pada bulan Desember?
Penelusuran dengan tindak lanjut: Suhu rata-rata bervariasi dari 70-78 °F. Rata-rata suhu di Cancun adalah ~ 77°F.
Dengan penelusuran reguler, pertanyaan Anda "Berapa nilai tukar"? tidak akan dapat dijawab karena penelusuran reguler tidak akan tahu bahwa Anda menginginkan nilai tukar Meksiko. Demikian pula, penelusuran reguler tidak akan mempertahankan konteks untuk memberikan suhu di Meksiko kepada Anda.
Tentang percakapan
Dalam penelusuran dengan tindak lanjut, percakapan terdiri dari kueri teks yang diberikan oleh pengguna dan respons yang diberikan oleh Vertex AI Search.
Pasangan kueri dan respons ini terkadang disebut sebagai pesan. Dalam contoh sebelumnya, pesan kedua terdiri dari "Berapa nilai tukarnya?" dan "1 USD sama dengan sekitar 17,65 peso Meksiko".
Percakapan disimpan di penyimpanan data yang sama tempat data tidak terstruktur disimpan. Di penyimpanan data, percakapan direpresentasikan oleh resource Conversation. Selain berisi pesan kueri dan respons, resource percakapan memiliki:
Nama unik (ID percakapan).
Status (sedang berlangsung atau selesai).
ID pseudo pengguna, yang merupakan ID pengunjung yang melacak pengguna. Nilai ini dapat ditetapkan secara terprogram.
Waktu mulai dan waktu berakhir.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut. Persyaratan bervariasi, bergantung pada jenis aplikasi yang Anda miliki.
Jika Anda memiliki aplikasi penelusuran tidak terstruktur, pastikan hal berikut diaktifkan: Fitur LLM lanjutan
Jika Anda memiliki aplikasi penelusuran situs, pastikan hal berikut diaktifkan:
Menyimpan percakapan dan mendapatkan respons
Anda dapat menggunakan command line atau library klien untuk membuat respons penelusuran dan menyimpan percakapan penelusuran dengan tindak lanjut.
REST
Untuk menggunakan command line guna membuat percakapan dan menghasilkan respons dari input pengguna, ikuti langkah-langkah berikut:
Tentukan penyimpanan data tempat Anda ingin menyimpan histori percakapan:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations" \ -d '{ "user_pseudo_id": "USER_PSEUDO_ID" }'
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
USER_PSEUDO_ID: Ini adalah ID unik untuk melacak pengunjung penelusuran. Misalnya, Anda dapat menerapkan ini dengan cookie HTTP, yang mengidentifikasi pengunjung secara unik di satu perangkat.
Klik untuk melihat contoh respons dari perintah
POST
.{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "IN_PROGRESS", "userPseudoId": "test_id", "startTime": "2023-08-15T20:08:12.094639Z" }
Buat respons penelusuran dan tambahkan ke percakapan baru atau yang sudah ada di penyimpanan data Anda:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "filter": "FILTER" }'
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
CONVERSATION_ID: ID unik untuk percakapan, misalnya,
123456
. Untuk percakapan penelusuran dengan tindak lanjut, gunakan ID percakapan yang sama di setiap giliran.FREE_TEXT: String teks bebas yang berisi pertanyaan pengguna—misalnya,
what is bigquery?
FILTER: Kolom teks untuk memfilter penelusuran menggunakan ekspresi filter. Nilai defaultnya adalah string kosong. Cara Anda membuat filter bervariasi, bergantung pada apakah Anda memiliki data situs atau data tidak terstruktur dengan metadata. Untuk mengetahui informasi selengkapnya, lihat Memfilter penelusuran dengan tindak lanjut.
Klik untuk melihat contoh respons dari perintah
POST
.{ "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } }, "conversation": { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "IN_PROGRESS", "userPseudoId": "test_id", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:08:12.094639Z" }, "searchResults": [ { "id": "c86f19582746b56f71c9bb6929893835", "document": { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/branches/0/documents/c86f19582746b56f71c9bb6929893835", "id": "c86f19582746b56f71c9bb6929893835", "derivedStructData": { "link": "gs://aquamuse-data-ucs-eval-dev/documents/94627ee0249dfdfda25b1b158c717bca.txt", "snippets": [ { "snippet_status": "SUCCESS", "snippet": "For larger websites, talk to the IT team and/or utilize a big data solution such as Google \u003cb\u003eBigQuery\u003c/b\u003e to extract all URLs. It may also be necessary to ask the ..." } ], "extractive_answers": [ { "content": "Alternatively, load the Server Log Files into Google BigQuery and use the Google BigQuery interface or the 360 Data Studio to analyze the data. To monitor the indexation numbers of the HTTP and the HTTPS version, keep an eye on all submitted XML Sitemaps." } ] } } }, { "id": "774bd7ce2a3509ab4bbd1fc876f39dc2", "document": { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/branches/0/documents/774bd7ce2a3509ab4bbd1fc876f39dc2", "id": "774bd7ce2a3509ab4bbd1fc876f39dc2", "derivedStructData": { "snippets": [ { "snippet": "No snippet is available for this page.", "snippet_status": "NO_SNIPPET_AVAILABLE" } ], "extractive_answers": [ { "content": "This consists of a collection of virtual tables. A virtual table exists for every queryable object type (content type if you prefer) in the repository. Each row in these virtual tables correspond to an instance of the corresponding object type (or of one of its subtypes)." } ], "link": "gs://aquamuse-data-ucs-eval-dev/documents/28841ef8590a105e9415f1390648a811.txt" } } }, { "id": "3e1d306e49aefd9e23f2d5f7a66e6c76", "document": { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/branches/0/documents/3e1d306e49aefd9e23f2d5f7a66e6c76", "id": "3e1d306e49aefd9e23f2d5f7a66e6c76", "derivedStructData": { "snippets": [ { "snippet": "No snippet is available for this page.", "snippet_status": "NO_SNIPPET_AVAILABLE" } ], "extractive_answers": [ { "content": "Other logo switches are based on search terms. For instance, if the term "ASCII art" is searched, an ASCII art version of the Google logo will appear next to the search box." } ], "link": "gs://aquamuse-data-ucs-eval-dev/documents/98008df3eef5d3ee1661c52f23189190.txt" } } }, { "id": "cf94e24aacd47cd2c2f5effcbdeda832", "document": { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/branches/0/documents/cf94e24aacd47cd2c2f5effcbdeda832", "id": "cf94e24aacd47cd2c2f5effcbdeda832", "derivedStructData": { "extractive_answers": [ { "content": "The company is listed on the NASDAQ stock exchange under the ticker symbols GOOGL and GOOG, and on the Frankfurt Stock Exchange under the ticker symbol GGQ1. These ticker symbols now refer to Alphabet Inc., Google's holding company, since the fourth quarter of 2015." } ], "snippets": [ { "snippet": "No snippet is available for this page.", "snippet_status": "NO_SNIPPET_AVAILABLE" } ], "link": "gs://aquamuse-data-ucs-eval-dev/documents/d80204083ef1096799fa4b7257548b33.txt" } } }, { "id": "05bc6497a4e7e6ca36b2e495b354b764", "document": { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/branches/0/documents/05bc6497a4e7e6ca36b2e495b354b764", "id": "05bc6497a4e7e6ca36b2e495b354b764", "derivedStructData": { "extractive_answers": [ { "content": "SQL injection countermeasures are designed to utilize secure programming methods. By changing the variables used by the application code, weaknesses in applications can be greatly minimized. This report will detail how to perform a SQL injection and explore the best countermeasures to prevent the attack." } ], "link": "gs://aquamuse-data-ucs-eval-dev/documents/7cba75d646f5774a21d96801bec68bb3.txt", "snippets": [ { "snippet_status": "NO_SNIPPET_AVAILABLE", "snippet": "No snippet is available for this page." } ] } } } ] }
Ulangi langkah 2 untuk setiap pertanyaan baru dalam percakapan.
Python
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Aplikasi AI.
Untuk melakukan autentikasi ke Aplikasi AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Memfilter penelusuran dengan kueri lanjutan
Saat membuat kueri dengan penelusuran dengan tindak lanjut, Anda dapat menyertakan kolom filter
untuk membatasi kumpulan dokumen yang digunakan untuk menghasilkan respons. Anda
membuat filter menggunakan ekspresi filter. Ekspresi filter yang Anda gunakan akan bervariasi, bergantung pada apakah Anda memiliki data situs atau data tidak terstruktur dengan metadata.
Ekspresi filter untuk data situs
Jika memiliki penyimpanan data dengan data situs, Anda dapat memfilter penelusuran dengan kueri lanjutan menggunakan ekspresi filter di Ekspresi filter dengan pengindeksan situs lanjutan. Setelah Anda
menyusun ekspresi filter, gunakan untuk nilai kolom filter
di
langkah 2 Menyimpan percakapan dan mendapatkan respons.
Ekspresi filter untuk data tidak terstruktur dengan metadata
Jika memiliki penyimpanan data dengan data tidak terstruktur yang berisi metadata, Anda dapat memfilter penelusuran dengan kueri lanjutan sehingga menampilkan dokumen berdasarkan kolom metadata yang ada dalam dokumen. Lihat Memfilter penelusuran untuk data terstruktur atau tidak terstruktur untuk memahami cara menggunakan metadata guna memfilter penelusuran biasa (tanpa tindak lanjut). Anda dapat menggunakan prinsip yang sama ini untuk menggunakan metadata guna memfilter penelusuran dengan tindak lanjut. Setelah membuat
ekspresi filter, gunakan ekspresi tersebut untuk nilai kolom filter
di langkah 2
Menyimpan percakapan dan mendapatkan respons.
Mengonfigurasi ringkasan
Pesan respons dari penelusuran dengan tindak lanjut adalah ringkasan yang dihasilkan dan ditampilkan dalam summaryText
. Ada berbagai cara untuk mengonfigurasi ringkasan yang dihasilkan. Hal ini dijelaskan di bagian berikut:
- Mendapatkan kutipan dengan hasil penelusuran
- Mengabaikan kueri yang bertentangan
- Mengabaikan kueri yang tidak mencari ringkasan
- Menetapkan jumlah hasil yang akan digunakan dalam ringkasan
- Mendapatkan ringkasan yang disesuaikan
- Menerapkan SafeSearch pada respons chat
Mendapatkan kutipan dengan hasil penelusuran
Kutipan, jika ditentukan, adalah angka yang ditempatkan sebaris dalam ringkasan penelusuran. Angka-angka ini menunjukkan dari hasil penelusuran mana kalimat tertentu dalam ringkasan diambil.
Untuk mendapatkan kutipan:
Ikuti prosedur Menyimpan percakapan dan mendapatkan respons chat di atas, kecuali pada langkah 2, jalankan perintah ini yang menyertakan kolom
summarySpec
yang menetapkanincludeCitations
ke benar (true).curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "summarySpec": { "include_citations": true } }'
Klik untuk melihat bagian respons dari contoh perintah.
{ "reply": { "summary": { } "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly [1]. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data [2, 3].", "safetyAttributes": { "categories": [ "Finance", "Legal" ] …
Nomor kutipan disertakan dalam teks ringkasan. Nomor kutipan merujuk pada
hasil penelusuran yang ditampilkan dan diindeks 1. Misalnya, [1]
berarti bahwa kalimat tersebut diatribusikan ke hasil penelusuran pertama. [2, 3]
berarti bahwa kalimat tersebut diatribusikan ke hasil penelusuran kedua dan ketiga.
Mengabaikan kueri yang bertentangan
Kueri yang bersifat melawan mencakup komentar negatif atau dirancang untuk menghasilkan output yang tidak aman dan melanggar kebijakan. Anda dapat menentukan bahwa tidak ada ringkasan penelusuran yang akan ditampilkan untuk kueri yang bersifat merugikan. Jika kueri yang merugikan diabaikan, properti summaryText
berisi teks boilerplate yang menunjukkan bahwa tidak ada ringkasan penelusuran yang ditampilkan. Dokumen penelusuran ditampilkan untuk kueri yang bertentangan meskipun ringkasan penelusuran tidak ditampilkan.
Untuk menentukan bahwa tidak ada ringkasan penelusuran yang harus ditampilkan untuk kueri yang bertentangan:
Ikuti prosedur Menyimpan percakapan dan mendapatkan respons chat di atas, kecuali pada langkah 2, jalankan perintah ini yang menyertakan kolom
summarySpec
yang menetapkanignoreAdversarialQuery
ke benar (true).curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "summarySpec": { "ignoreAdversarialQuery": true } }'
Klik untuk bagian respons dari kueri adversarial.
"reply": { "summary": { "summaryText": "A summary could not be generated for your search query. Here are some search results.", "summarySkippedReasons": [ "ADVERSARIAL_QUERY_IGNORED" ] …
Mengabaikan kueri yang tidak mencari ringkasan
Kueri yang tidak mencari ringkasan akan menampilkan hasil yang tidak sesuai untuk diringkas. Misalnya, "mengapa langit berwarna biru" dan "Siapa pemain sepak bola terbaik di dunia?" adalah kueri yang mencari ringkasan, tetapi "bandara SFO" dan "piala dunia 2026" bukan. Kueri tersebut kemungkinan besar adalah kueri navigasi. Anda dapat menentukan bahwa tidak ada ringkasan penelusuran yang harus ditampilkan untuk kueri yang tidak mencari ringkasan. Dokumen penelusuran ditampilkan untuk kueri yang tidak mencari ringkasan meskipun ringkasan penelusuran tidak ditampilkan.
Untuk menentukan bahwa tidak ada ringkasan penelusuran yang harus ditampilkan untuk kueri yang tidak mencari ringkasan:
Ikuti prosedur Menyimpan percakapan dan mendapatkan respons chat di atas, kecuali pada langkah 2, jalankan perintah ini yang menyertakan kolom
summarySpec
yang menetapkanignoreNonSummarySeekingQuery
ke benar (true).curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "summarySpec": { "ignore_non_summary_seeking_query": true } }'
Klik untuk bagian respons dari kueri adversarial.
"reply": { "summary": { "summaryText": "A summary could not be generated for your search query. Here are some search results.", "summarySkippedReasons": [ "NON_SUMMARY_SEEKING_QUERY_IGNORED" ] …
Menetapkan jumlah hasil yang akan digunakan dalam ringkasan
Anda dapat menentukan jumlah hasil yang akan digunakan dalam membuat ringkasan. Secara
default, jika kolom summaryResultCount
tidak ditetapkan, semua hasil yang ditampilkan
digunakan untuk membuat ringkasan.
Untuk menyetel jumlah hasil teratas yang akan digunakan untuk ringkasan:
Ikuti prosedur Menyimpan percakapan dan mendapatkan respons chat di atas, kecuali pada langkah 2, jalankan perintah ini yang mencakup kolom
summarySpec
yang menetapkansummaryResultCount
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "summarySpec": { "summary_result_count": NUMBER_OF_RESULTS } }'
NUMBER_OF_RESULTS: Jumlah hasil teratas untuk membuat ringkasan penelusuran. Jika jumlah hasil yang ditampilkan kurang dari
summaryResultCount
, ringkasan dibuat dari semua hasil. Nilai maksimumnya adalah5
.
Mendapatkan ringkasan yang disesuaikan
Anda bisa mendapatkan ringkasan yang disesuaikan dengan memberikan petunjuk bahasa alami di kolom modelPromptSpec.preamble
saat meminta ringkasan.
Anda dapat meminta penyesuaian seperti panjang dan tingkat detail, gaya output (seperti "sederhana"), bahasa output, fokus jawaban, dan format (seperti tabel, poin-poin, dan XML).
Misalnya, untuk kueri "Apa manfaat BigQuery?", Anda dapat memasukkan petunjuk penyesuaian seperti contoh berikut:
Contoh petunjuk:
"please show the answer format in an ordered list"
Contoh jawaban:
The benefits of BigQuery are: 1. Increased business productivity 2. IT staff productivity 3. Reduced infrastructure costs 4. Loading and exporting data are free
Contoh petunjuk:
give a very detailed answer
Contoh jawaban:
BigQuery is a serverless, highly scalable, and cost-effective cloud data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that takes care of provisioning, scaling, and managing the underlying infrastructure, so you can focus on analyzing your data. BigQuery is also integrated with other Google Cloud services, such as Google Kubernetes Engine, Cloud Data Fusion, and Cloud Dataproc, making it easy to build and deploy data pipelines. Here are some of the benefits of using BigQuery: * **Fast and scalable:** BigQuery can process petabytes of data very quickly, and it can scale to handle even the most demanding workloads. * **Cost-effective:** BigQuery is a very cost-effective way to store and analyze data. You only pay for the data that you use, and there are no upfront costs or commitments. * **Secure:** BigQuery is a secure platform that meets the needs of even the most security-conscious organizations. * **Easy to use:** BigQuery is easy to use, even for non-technical users. It has a simple and intuitive user interface, and it supports a variety of data sources. * **Integrated with other Google Cloud services:** BigQuery is integrated with other Google Cloud services, making it easy to build and deploy data pipelines. If you are looking for a fast, scalable, and cost-effective way to analyze your data, then BigQuery is a great option.
Untuk mendapatkan ringkasan yang disesuaikan:
Ikuti prosedur Menyimpan percakapan dan mendapatkan respons chat sebelumnya, kecuali pada langkah 2, jalankan perintah ini yang menyertakan kolom
summarySpec
yang menentukan petunjuk penyesuaian dimodelPromptSpec.preamble
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "summarySpec": { "modelPromptSpec": { "preamble": "CUSTOMIZATION_INSTRUCTIONS" } } }'
- CUSTOMIZATION_INSTRUCTIONS: Petunjuk untuk penyesuaian, sebagai string.
Menerapkan SafeSearch pada respons chat
SafeSearch dapat digunakan untuk memfilter konten vulgar, tidak aman, dan melanggar kebijakan dari respons ringkasan. Untuk mengetahui informasi selengkapnya tentang SafeSearch, lihat Setelan keamanan untuk Vertex AI Search.
Untuk menerapkan penelusuran aman ke respons chat:
Ikuti prosedur Menyimpan percakapan dan mendapatkan respons chat sebelumnya, kecuali pada langkah 2, di bagian kueri, tentukan
safe_search
.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID:converse" \ -d '{ "query": { "input": "FREE_TEXT"}, "safe_search": true }'
Melihat dan mengubah percakapan yang tersimpan
Anda dapat menggunakan command line untuk mendapatkan, menghapus, memperbarui, dan mencantumkan percakapan tersimpan.
Mendapatkan percakapan dari penyimpanan data
Untuk mendapatkan semua detail tentang percakapan tertentu dari penyimpanan data:
Jalankan perintah curl berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID"
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID:ID penyimpanan data yang terkait dengan aplikasi Anda.
CONVERSATION_ID: ID percakapan
Klik untuk melihat contoh respons dari perintah
GET
.{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/2040473575290303058", "state": "IN_PROGRESS", "userPseudoId": "2040473575290303058", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:11:24.046735Z" }
Menghapus percakapan dari penyimpanan data
Secara default, percakapan yang terjadi lebih dari 60 hari yang lalu akan otomatis dihapus. Namun, jika Anda ingin menghapus percakapan tertentu—misalnya, jika percakapan tersebut secara tidak sengaja berisi konten sensitif, gunakan panggilan API ini untuk menghapusnya.
Untuk menghapus percakapan dari penyimpanan data:
Jalankan perintah curl berikut:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID"
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
CONVERSATION_ID: ID percakapan
Respons dari perintah
DELETE
akan seperti ini:{}
Memperbarui percakapan
Ada berbagai alasan mengapa Anda mungkin ingin memperbarui percakapan. Misalnya, untuk melakukan salah satu hal berikut:
Menandai percakapan sebagai selesai
Menggabungkan pesan dari satu percakapan ke percakapan lain
Ubah
user_pseudo_id
Untuk memperbarui state
dalam percakapan:
Jalankan perintah curl berikut:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID?updateMask=state" \ -d '{ "state": "NEW_STATE" }'
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
CONVERSATION_ID: ID percakapan yang ingin Anda perbarui
NEW_STATE: Nilai baru untuk status—misalnya,
COMPLETED
Klik untuk melihat contoh respons dari perintah
PATCH
.{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "COMPLETED", "userPseudoId": "test_id1", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:08:12.094639Z" }
Untuk memperbarui user_pseudo_id
dalam percakapan:
Jalankan perintah curl berikut:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations/CONVERSATION_ID?updateMask=user_pseudo_id" \ -d '{ "user_pseudo_id": "NEW_USER_PSEUDO_ID" }'
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
CONVERSATION_ID: ID percakapan yang ingin Anda perbarui
NEW_USER_PSEUDO_ID: Nilai baru untuk ID pseudo pengguna
Klik untuk melihat contoh respons dari perintah
PATCH
.{ "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "IN_PROGRESS", "userPseudoId": "test_id1", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:08:12.094639Z" }
Perintah sebelumnya menunjukkan cara mengubah user_pseudo_id.
Namun, Anda
dapat memperbarui kolom lain dalam percakapan dengan mengganti user_pseudo_id
dengan kolom lain dalam Conversation
resource.
Mencantumkan semua percakapan
Untuk mencantumkan semua percakapan di penyimpanan data:
Jalankan perintah curl berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations"
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
Klik untuk melihat contoh respons dari perintah
GET
.{ "conversations": [ { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "IN_PROGRESS", "userPseudoId": "test_id", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:08:12.094639Z" }, { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/2040473575290303058", "state": "IN_PROGRESS", "userPseudoId": "2040473575290303058", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ] } ] }
Respons berisi daftar percakapan dan next_page_token
. Jika tidak ada
next_page_token
yang ditampilkan, tidak ada lagi percakapan yang akan dicantumkan.
Ukuran halaman default adalah 50.
Mencantumkan percakapan menurut filter
Daripada mencantumkan semua percakapan di penyimpanan data, Anda mungkin ingin mencantumkan semua percakapan yang terbuka atau semua percakapan yang terkait dengan pengguna tertentu.
Misalnya, Anda dapat menampilkan penelusuran yang ditutup kepada pengguna dengan opsi untuk membukanya kembali.
Untuk melakukannya, Anda mencantumkan percakapan yang cocok dengan filter tertentu:
user_pseudo_id
atau
state
(IN_PROGRESS
atau COMPLETED
).
Mencantumkan percakapan untuk pengguna
Untuk mencantumkan percakapan yang terkait dengan pengguna atau pengunjung:
Jalankan perintah curl berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations?filter=user_pseudo_id=USER_PSEUDO_ID"
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
USER_PSEUDO_ID: ID semu pengguna yang percakapannya ingin Anda daftarkan.
Respons dari perintah
GET
akan terlihat seperti ini:Klik untuk melihat contoh respons dari perintah
GET
.{ "conversations": [ { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "IN_PROGRESS", "userPseudoId": "test_id", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:08:12.094639Z" } ] }
Mencantumkan percakapan untuk pengguna dan status
Untuk mencantumkan percakapan dalam status tertentu (terbuka atau tertutup) dan yang terkait dengan pengguna atau pengunjung:
Jalankan perintah curl berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/conversations?filter=user_pseudo_id=USER_PSEUDO_ID%20AND%20state=STATE"
PROJECT_ID: Nomor atau ID project Google Cloud project
DATA_STORE_ID: ID penyimpanan data yang terkait dengan aplikasi Anda.
USER_PSEUDO_ID: ID semu pengguna yang percakapannya ingin Anda daftarkan.
STATE: Apakah percakapan terbuka atau tertutup (
IN_PROGRESS
atauCOMPLETED
)
Respons dari perintah
GET
akan terlihat seperti ini:Klik untuk melihat contoh respons dari perintah
GET
.{ "conversations": [ { "name": "projects/12345/locations/global/collections/default_collection/dataStores/my-data-store_4321/conversations/11078281986791420687", "state": "IN_PROGRESS", "userPseudoId": "test_id", "messages": [ { "userInput": { "input": "what is bigquery?" } }, { "reply": { "summary": { "summaryText": "BigQuery is a cloud-based data warehouse that enables businesses to analyze all their data very quickly. It is a fully managed service that provides a simple and cost-effective way to store and analyze large amounts of data." } } } ], "startTime": "2023-08-15T20:08:12.094639Z" } ] }
Untuk informasi umum tentang sintaksis pemfilteran, lihat Pemfilteran AIP-160.
Pertanyaan terkait
Pertanyaan terkait adalah fitur Pratinjau dengan daftar yang diizinkan yang dapat menampilkan pertanyaan terkait selain hasil penelusuran.
Misalnya, saat Anda bertanya "Kapan waktu terbaik dalam setahun untuk berlibur di Meksiko?", selain menjawab pertanyaan Anda, penelusuran akan menyarankan pertanyaan lain yang mungkin Anda ajukan, seperti "Bulan apa yang paling murah untuk berlibur di Meksiko?" dan "Bulan apa saja yang ramai turis di Meksiko?".
Jika Anda ingin aplikasi penelusuran Anda menampilkan pertanyaan terkait, hubungi tim akun Google Anda dan beri tahu mereka project dan aplikasi mana yang Anda inginkan agar pertanyaan terkait diaktifkan. Jika Anda tidak menggunakan konfigurasi penayangan default, Anda juga perlu memberikan nama konfigurasi penayangan.
Setelah fitur pertanyaan terkait diaktifkan, pertanyaan akan ditampilkan sebagai
string di ConverseConversationResponse
.
Informasi selengkapnya
Untuk mengetahui informasi selengkapnya tentang kolom
summaryResultCount
,includeCitations
,ignoreAdversarialQuery
,ignoreNonSummarySeekingQuery
, lihat SummarySpec di dokumentasi AI Applications API.Untuk contoh lainnya tentang cara mendapatkan ringkasan penelusuran, lihat Mendapatkan ringkasan.