Di aplikasi web, Anda bisa mendapatkan jawaban atas pertanyaan Anda dalam bentuk respons streaming. Dokumen ini menunjukkan cara menggunakan REST API untuk mendapatkan jawaban. Jika Anda ingin menggunakan aplikasi web Gemini Enterprise, lihat Mulai percakapan dengan asisten.
Ringkasan StreamAssist
StreamAssist menyediakan cara yang efektif dan interaktif untuk menangani kueri pengguna. Model ini beroperasi secara streaming, sehingga memungkinkan interaksi dua arah secara real-time.
Kemampuan utama API ini meliputi:
Mempertahankan konteks percakapan: model ini menggunakan sesi untuk mempertahankan konteks percakapan, sehingga memastikan model memahami kueri lanjutan dalam cakupan interaksi sebelumnya.
Menggabungkan file yang diberikan: menyertakan file terlampir sebagai konteks untuk respons yang lebih informatif dan relevan.
Integrasi yang lancar: terintegrasi dengan berbagai agen dan alat untuk memenuhi berbagai permintaan pengguna.
Sebelum memulai
Pastikan Anda memiliki:
Discovery Engine API diaktifkan untuk Google CloudAnda. Anda dapat mengaktifkannya di halaman Discovery Engine API di konsolGoogle Cloud .
Peran Discovery Engine yang memiliki izin
discoveryengine.assistants.assistyang ditetapkan untuknya.Aplikasi Gemini Enterprise yang sudah ada. Untuk membuat aplikasi, lihat Membuat aplikasi.
Mendapatkan hasil penelusuran
Anda dapat menggunakan metode streamAssist
untuk membuat kueri dan mendapatkan jawaban dari
Gemini Enterprise. Perintah curl berikut mencantumkan kolom wajib diisi.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"query": {
"text": "QUERY_TEXT_1"
}
}'
Ganti kode berikut:
- ENDPOINT_LOCATION-: multi-region untuk permintaan API Anda. Tetapkan salah satu nilai berikut:
us-untuk multi-region ASeu-untuk multi-region Uni Eropaglobal-untuk lokasi Global
- PROJECT_ID: ID Google Cloud project Anda.
- APP_ID: ID unik untuk aplikasi Gemini Enterprise.
- LOCATION: multi-region penyimpanan data Anda:
global,us, ataueu - QUERY_TEXT_1: teks kueri penelusuran.
Untuk mengetahui informasi selengkapnya tentang kolom dan apa yang ditampilkan, lihat Isi respons.
Mendapatkan hasil penelusuran menggunakan sesi yang sama
Untuk melanjutkan percakapan dan mendapatkan jawaban dari Gemini Enterprise dalam sesi yang ada, gunakan metode streamAssist. Contoh kode berikut menunjukkan kolom wajib diisi:
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID",
"query": {
"text": "QUERY_TEXT_2"
}
}'
Ganti kode berikut:
- ENDPOINT_LOCATION-: multi-region untuk permintaan API Anda. Tetapkan salah satu nilai berikut:
us-untuk multi-region ASeu-untuk multi-region Uni Eropaglobal-untuk lokasi Global
- PROJECT_ID: ID Google Cloud project Anda.
- APP_ID: ID unik untuk aplikasi Gemini Enterprise.
- LOCATION: multi-region penyimpanan data Anda:
global,us, ataueu - QUERY_TEXT_2: teks kueri penelusuran.
- SESSION_ID: ID sesi dari percakapan atau kueri sebelumnya.
Untuk mengetahui informasi selengkapnya tentang kolom dan apa yang ditampilkan, lihat Isi respons.
Mengupload file dan mendapatkan hasil penelusuran (Pratinjau)
Untuk memberikan lebih banyak konteks kepada asisten, upload file ke sesi, lalu kueri kontennya. Ikuti langkah-langkah berikut:
Upload file ke sesi menggunakan metode
addContextFile.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/sessions/SESSION_ID:addContextFile" \ -d ' { "fileName": "FILE_NAME", "mimeType": "MIME_TYPE", "fileContents": "BASE64_ENCODED_FILE" }'Ganti kode berikut:
- ENDPOINT_LOCATION-: multi-region untuk permintaan API Anda. Tetapkan salah satu nilai berikut:
us-untuk multi-region ASeu-untuk multi-region Uni Eropaglobal-untuk lokasi Global
- PROJECT_ID: ID Google Cloud project Anda.
- LOCATION: multi-region penyimpanan data Anda:
global,us, ataueu - APP_ID: ID unik untuk aplikasi Gemini Enterprise.
- SESSION_ID: ID sesi dari percakapan atau kueri sebelumnya.
- FILE_NAME: nama file.
- MIME_TYPE: jenis MIME file, misalnya,
text/plainatauapplication/pdf. Untuk mengetahui informasi selengkapnya tentang berbagai jenis media, lihat Jenis Media. - BASE64_ENCODED_FILE: representasi file yang dienkode base64.
Untuk mengetahui informasi selengkapnya tentang kolom dan apa yang ditampilkan, lihat Isi respons.
- ENDPOINT_LOCATION-: multi-region untuk permintaan API Anda. Tetapkan salah satu nilai berikut:
Gunakan sesi yang sama untuk mengajukan pertanyaan tentang file yang Anda upload menggunakan metode
streamAssist.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \ -d ' { "session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID", "fileIds": ["FILE_ID"], "query": { "text": "QUERY_TEXT_3" } }'Ganti kode berikut:
- ENDPOINT_LOCATION-: multi-region untuk permintaan API Anda. Tetapkan salah satu nilai berikut:
us-untuk multi-region ASeu-untuk multi-region Uni Eropaglobal-untuk lokasi Global
- PROJECT_ID: ID Google Cloud project Anda.
- APP_ID: ID unik untuk aplikasi Gemini Enterprise.
- LOCATION: multi-region penyimpanan data Anda:
global,us, ataueu - QUERY_TEXT_3: teks kueri penelusuran.
- SESSION_ID: ID sesi dari percakapan atau kueri sebelumnya.
- FILE_ID: ID file yang Anda upload ke asisten.
Untuk mengetahui informasi selengkapnya tentang kolom dan apa yang ditampilkan, lihat Isi respons.
- ENDPOINT_LOCATION-: multi-region untuk permintaan API Anda. Tetapkan salah satu nilai berikut: