- Permintaan HTTP
- Parameter lokasi
- Isi permintaan
- Isi respons
- Cakupan otorisasi
- Izin IAM
- SessionConfig
- InputAudioConfig
- AudioEncoding
- OutputAudioConfig
- SessionConfig.RemoteDialogflowQueryParameters
- SessionInput
- ToolResponses
- Acara
- SessionOutput
- ToolCalls
- Kutipan
- Citations.CitedChunk
- GoogleSearchSuggestions
- WebSearchQuery
- EndSession
- SessionOutput.DiagnosticInfo
Memulai interaksi satu giliran dengan agen CES dalam sesi.
Permintaan HTTP
POST https://ces.googleapis.com/v1/{config.session=projects/*/locations/*/apps/*/sessions/*}:runSession
URL menggunakan sintaks gRPC Transcoding.
Parameter jalur
| Parameter | |
|---|---|
config.session |
Wajib. ID unik sesi. Format: |
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{ "config": { "session": string, "inputAudioConfig": { "audioEncoding": enum ( |
| Kolom | |
|---|---|
config.inputAudioConfig |
Opsional. Konfigurasi untuk memproses audio input. |
config.outputAudioConfig |
Opsional. Konfigurasi untuk membuat audio output. |
config.historicalContexts[] |
Opsional. Konteks historis sesi, termasuk input pengguna, respons agen, dan pesan lainnya. Biasanya, agen CES akan mengelola sesi secara otomatis sehingga klien tidak perlu mengisi kolom ini secara eksplisit. Namun, klien dapat secara opsional mengganti konteks historis untuk memulai sesi dari status tertentu. |
config.entryAgent |
Opsional. Agen entri untuk menangani sesi. Jika tidak ditentukan, sesi akan ditangani oleh |
config.deployment |
Opsional. Deployment aplikasi yang akan digunakan untuk sesi. Format: |
config.timeZone |
Opsional. Zona waktu pengguna. Jika diberikan, agen akan menggunakan zona waktu untuk variabel terkait tanggal dan waktu. Jika tidak, agen akan menggunakan zona waktu yang ditentukan di App.time_zone_settings. Formatnya adalah zona waktu Database Zona Waktu IANA, misalnya "America/Los_Angeles". |
config.remoteDialogflowQueryParameters |
Opsional. QueryParameters untuk dikirim ke agen Dialogflow jarak jauh saat kontrol sesi ditransfer ke agen jarak jauh. |
inputs[] |
Wajib. Input untuk sesi. |
Isi respons
Pesan respons untuk SessionService.RunSession.
Jika berhasil, isi respons memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{
"outputs": [
{
object ( |
| Kolom | |
|---|---|
outputs[] |
Output untuk sesi. |
Cakupan otorisasi
Memerlukan salah satu cakupan OAuth berikut:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.
Izin IAM
Memerlukan izin IAM berikut pada resource session:
ces.sessions.runSession
Untuk mengetahui informasi selengkapnya, lihat dokumentasi IAM.
SessionConfig
Konfigurasi untuk sesi.
| Representasi JSON |
|---|
{ "session": string, "inputAudioConfig": { object ( |
| Kolom | |
|---|---|
session |
Wajib. ID unik sesi. Format: |
inputAudioConfig |
Opsional. Konfigurasi untuk memproses audio input. |
outputAudioConfig |
Opsional. Konfigurasi untuk membuat audio output. |
historicalContexts[] |
Opsional. Konteks historis sesi, termasuk input pengguna, respons agen, dan pesan lainnya. Biasanya, agen CES akan mengelola sesi secara otomatis sehingga klien tidak perlu mengisi kolom ini secara eksplisit. Namun, klien dapat secara opsional mengganti konteks historis untuk memulai sesi dari status tertentu. |
entryAgent |
Opsional. Agen entri untuk menangani sesi. Jika tidak ditentukan, sesi akan ditangani oleh |
deployment |
Opsional. Deployment aplikasi yang akan digunakan untuk sesi. Format: |
timeZone |
Opsional. Zona waktu pengguna. Jika diberikan, agen akan menggunakan zona waktu untuk variabel terkait tanggal dan waktu. Jika tidak, agen akan menggunakan zona waktu yang ditentukan di App.time_zone_settings. Formatnya adalah zona waktu Database Zona Waktu IANA, misalnya "America/Los_Angeles". |
remoteDialogflowQueryParameters |
Opsional. QueryParameters untuk dikirim ke agen Dialogflow jarak jauh saat kontrol sesi ditransfer ke agen jarak jauh. |
InputAudioConfig
InputAudioConfig mengonfigurasi cara agen CES menafsirkan data audio yang masuk.
| Representasi JSON |
|---|
{
"audioEncoding": enum ( |
| Kolom | |
|---|---|
audioEncoding |
Wajib. Encoding data audio input. |
sampleRateHertz |
Wajib. Frekuensi sampel (dalam Hertz) data audio input. |
noiseSuppressionLevel |
Opsional. Apakah akan mengaktifkan peredam bising pada audio input. Nilai yang tersedia adalah "low", "moderate", "high", "very_high". |
AudioEncoding
AudioEncoding menentukan format encoding untuk data audio.
| Enum | |
|---|---|
AUDIO_ENCODING_UNSPECIFIED |
Encoding audio tidak ditentukan. |
LINEAR16 |
Encoding audio PCM linear 16-bit. |
MULAW |
Sampel 8-bit yang memadatkan sampel audio 14-bit menggunakan G.711 PCMU/mu-law. |
ALAW |
Sampel 8-bit yang memadatkan sampel audio 14-bit menggunakan G.711 PCMU/A-law. |
OutputAudioConfig
OutputAudioConfig mengonfigurasi cara agen CES harus menyintesis respons audio keluar.
| Representasi JSON |
|---|
{
"audioEncoding": enum ( |
| Kolom | |
|---|---|
audioEncoding |
Wajib. Encoding data audio output. |
sampleRateHertz |
Wajib. Frekuensi sampel (dalam Hertz) data audio output. |
SessionConfig.RemoteDialogflowQueryParameters
QueryParameters untuk dikirim ke agen Dialogflow jarak jauh saat kontrol sesi ditransfer ke agen jarak jauh.
| Representasi JSON |
|---|
{ "webhookHeaders": { string: string, ... }, "payload": { object }, "endUserMetadata": { object } } |
| Kolom | |
|---|---|
webhookHeaders |
Opsional. Header HTTP yang akan dikirim sebagai webhookHeaders di QueryParameters. Objek yang berisi daftar pasangan |
payload |
Opsional. Payload yang akan dikirim dalam QueryParameters. |
endUserMetadata |
Opsional. Metadata pengguna akhir yang akan dikirim dalam QueryParameters. |
SessionInput
Input untuk sesi.
| Representasi JSON |
|---|
{ "willContinue": boolean, // Union field |
| Kolom | |
|---|---|
willContinue |
Opsional. Flag untuk menunjukkan apakah pesan saat ini adalah fragmen input yang lebih besar dalam sesi streaming bidi. Jika disetel ke CATATAN: Kolom ini tidak berlaku untuk input audio dan DTMF, karena input tersebut selalu diproses secara otomatis berdasarkan sinyal pengakhiran. |
Kolom union input_type. Jenis input. input_type hanya ada berupa salah satu diantara berikut: |
|
text |
Opsional. Data teks dari pengguna akhir. |
dtmf |
Opsional. Digit DTMF dari pengguna akhir. |
audio |
Opsional. Data audio dari pengguna akhir. String berenkode base64. |
toolResponses |
Opsional. Hasil eksekusi untuk panggilan alat dari klien. |
image |
Opsional. Data gambar dari pengguna akhir. |
blob |
Opsional. Data blob dari pengguna akhir. |
variables |
Opsional. Variabel kontekstual untuk sesi, yang dikelompokkan berdasarkan nama. Hanya variabel yang dideklarasikan di aplikasi yang akan digunakan oleh agen CES. Variabel yang tidak dikenali akan tetap dikirim ke [agen Dialogflow][Agent.RemoteDialogflowAgent] sebagai parameter sesi tambahan. |
event |
Opsional. Input acara. |
ToolResponses
Hasil eksekusi untuk panggilan alat yang diminta dari klien.
| Representasi JSON |
|---|
{
"toolResponses": [
{
object ( |
| Kolom | |
|---|---|
toolResponses[] |
Opsional. Daftar hasil eksekusi alat. |
Acara
Input acara.
| Representasi JSON |
|---|
{ "event": string } |
| Kolom | |
|---|---|
event |
Wajib. Nama acara. |
SessionOutput
Output untuk sesi.
| Representasi JSON |
|---|
{ "turnIndex": integer, "turnCompleted": boolean, "diagnosticInfo": { object ( |
| Kolom | |
|---|---|
turnIndex |
Menunjukkan urutan percakapan yang berurutan yang menjadi bagian dari output ini, dimulai dari 1. |
turnCompleted |
Jika benar, agen CES telah mendeteksi akhir giliran percakapan saat ini dan tidak akan memberikan output lebih lanjut untuk giliran ini. |
diagnosticInfo |
Opsional. Informasi diagnostik berisi detail eksekusi selama pemrosesan input. Hanya diisi di SessionOutput terakhir (dengan |
Kolom union output_type. Jenis output. output_type hanya ada berupa salah satu diantara berikut: |
|
text |
Teks output dari agen CES. |
audio |
Menghasilkan audio dari agen CES. String berenkode base64. |
toolCalls |
Meminta klien untuk menjalankan alat. |
citations |
Kutipan yang memberikan informasi sumber untuk teks yang dihasilkan agen. |
googleSearchSuggestions |
Saran yang ditampilkan dari Google Penelusuran sebagai hasil dari pemanggilan |
endSession |
Menunjukkan bahwa sesi telah berakhir. |
payload |
Payload kustom dengan output terstruktur dari agen CES. |
ToolCalls
Permintaan agar klien menjalankan alat dan menampilkan hasil eksekusi sebelum melanjutkan sesi.
| Representasi JSON |
|---|
{
"toolCalls": [
{
object ( |
| Kolom | |
|---|---|
toolCalls[] |
Opsional. Daftar panggilan alat yang akan dieksekusi. |
Kutipan
Kutipan yang terkait dengan respons agen.
| Representasi JSON |
|---|
{
"citedChunks": [
{
object ( |
| Kolom | |
|---|---|
citedChunks[] |
Daftar informasi yang dikutip. |
Citations.CitedChunk
Bagian informasi yang dikutip.
| Representasi JSON |
|---|
{ "uri": string, "title": string, "text": string } |
| Kolom | |
|---|---|
uri |
URI yang digunakan untuk kutipan. |
title |
Judul dokumen yang dikutip. |
text |
Teks yang digunakan untuk kutipan. |
GoogleSearchSuggestions
Saran penelusuran dari Google Search Tool.
| Representasi JSON |
|---|
{
"htmls": [
string
],
"webSearchQueries": [
{
object ( |
| Kolom | |
|---|---|
htmls[] |
Penataan gaya HTML dan CSS yang sesuai untuk saran penelusuran. HTML dan CSS yang disediakan akan otomatis menyesuaikan setelan perangkat Anda, ditampilkan dalam mode terang atau gelap yang ditunjukkan oleh |
webSearchQueries[] |
Daftar kueri yang digunakan untuk melakukan penelusuran Google beserta URI hasil penelusuran yang membentuk saran penelusuran. |
WebSearchQuery
Mewakili satu kueri penelusuran web dan URI penelusuran terkaitnya.
| Representasi JSON |
|---|
{ "query": string, "uri": string } |
| Kolom | |
|---|---|
query |
Teks kueri penelusuran. |
uri |
URI ke halaman hasil Google Penelusuran untuk kueri. |
EndSession
Menunjukkan bahwa sesi telah berakhir, karena berhasil diselesaikan (misalnya, pengguna mengatakan "Selamat tinggal" ) atau eskalasi agen.
Agen tidak akan memproses input lebih lanjut setelah sesi dihentikan dan klien harus menutup sebagian dan memutuskan koneksi setelah menerima semua respons yang tersisa dari agen.
| Representasi JSON |
|---|
{ "metadata": { object } } |
| Kolom | |
|---|---|
metadata |
Opsional. Memberikan informasi tambahan tentang sinyal akhir sesi, seperti alasan mengakhiri sesi. |
SessionOutput.DiagnosticInfo
Berisi detail eksekusi selama pemrosesan.
| Representasi JSON |
|---|
{ "messages": [ { object ( |
| Kolom | |
|---|---|
messages[] |
Daftar pesan yang terjadi selama pemrosesan. |
rootSpan |
Trace seluruh pemrosesan permintaan, yang ditampilkan sebagai rentang root. Rentang ini dapat berisi rentang turunan bertingkat untuk operasi tertentu. |