ดัชนี
EmbeddedAssistant(อินเทอร์เฟซ)AssistConfig(ข้อความ)AssistRequest(ข้อความ)AssistResponse(ข้อความ)AssistResponse.EventType(enum)AudioInConfig(ข้อความ)AudioInConfig.Encoding(enum)AudioOut(ข้อความ)AudioOutConfig(ข้อความ)AudioOutConfig.Encoding(enum)DebugConfig(ข้อความ)DebugInfo(ข้อความ)DeviceAction(ข้อความ)DeviceConfig(ข้อความ)DeviceLocation(ข้อความ)DialogStateIn(ข้อความ)DialogStateOut(ข้อความ)DialogStateOut.MicrophoneMode(enum)ScreenOut(ข้อความ)ScreenOut.Format(enum)ScreenOutConfig(ข้อความ)ScreenOutConfig.ScreenMode(enum)SpeechRecognitionResult(ข้อความ)
EmbeddedAssistant
บริการที่ใช้งาน Google Assistant API
| แอสซิสต์ | |
|---|---|
|
เริ่มสนทนาหรือสนทนาต่อด้วยบริการ Assistant ที่ฝังไว้ การโทรแต่ละครั้งจะดำเนินการไป-กลับ 1 รอบ โดยจะส่งคำขอแบบเสียงไปยังบริการและรับสายตอบกลับ ใช้การสตรีมแบบ 2 ทิศทางเพื่อรับผลลัพธ์ เช่น เหตุการณ์ การสนทนาคือการเชื่อมต่อ gRPC อย่างน้อย 1 รายการ โดยแต่ละรายการประกอบด้วยคำขอและการตอบกลับที่สตรีมหลายรายการ ตัวอย่างเช่น ผู้ใช้พูดว่าเพิ่มลงในรายการช็อปปิ้งของฉัน แล้ว Assistant ตอบว่าคุณต้องการเพิ่มอะไร ลำดับของคำขอและการตอบกลับที่สตรีมในข้อความ gRPC แรกอาจเป็นดังนี้
จากนั้นผู้ใช้พูดว่าเบเกิล แล้ว Assistant ตอบว่าโอเค ฉันเพิ่มเบเกิลลงในรายการช็อปปิ้งแล้ว ระบบจะส่งข้อมูลนี้เป็นการเรียกใช้การเชื่อมต่อ gRPC ไปยังเมธอด
แม้จะไม่มีการรับประกันการเรียงลำดับคำตอบที่แน่นอน แต่ข้อความตามลำดับของ
|
|
AssistConfig
ระบุวิธีประมวลผลข้อความ AssistRequest
| ช่อง | ||
|---|---|---|
audio_out_config |
ต้องระบุ ระบุวิธีจัดรูปแบบเสียงที่จะแสดง |
|
screen_out_config |
ไม่บังคับ ระบุรูปแบบที่ต้องการใช้เมื่อเซิร์ฟเวอร์แสดงการตอบกลับหน้าจอแบบภาพ |
|
dialog_state_in |
ต้องระบุ แสดงสถานะปัจจุบันของกล่องโต้ตอบ |
|
device_config |
การกำหนดค่าอุปกรณ์ที่ระบุอุปกรณ์ที่เฉพาะเจาะจงอย่างไม่ซ้ำกัน |
|
debug_config |
ไม่บังคับ พารามิเตอร์การแก้ไขข้อบกพร่องสำหรับ RPC ทั้ง |
|
ฟิลด์การรวม
|
||
audio_in_config |
ระบุวิธีประมวลผลเสียงขาเข้าที่ตามมา ต้องระบุหากจะระบุ |
|
text_query |
การป้อนข้อความที่จะส่งไปให้ Assistant อาจป้อนข้อมูลจากอินเทอร์เฟซข้อความหากอินพุตเสียงไม่พร้อมใช้งาน |
|
AssistRequest
ข้อความระดับบนสุดที่ลูกค้าส่ง โดยไคลเอ็นต์จะต้องส่งข้อความอย่างน้อย 2 ข้อความ ซึ่งโดยทั่วไปจะAssistRequest เป็นจำนวนมาก ข้อความแรกต้องมีข้อความ config และต้องไม่มีข้อมูล audio_in ข้อความที่ตามมาทั้งหมดต้องมีข้อมูล audio_in และต้องไม่มีข้อความ config
| ช่อง | ||
|---|---|---|
ฟิลด์การรวม type ต้องระบุ 1 ช่องเหล่านี้ในแต่ละ AssistRequest type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
config |
ข้อความ |
|
audio_in |
ข้อมูลเสียงที่จะจดจำ ระบบจะส่งข้อมูลเสียงเป็นกลุ่มตามลําดับในข้อความ |
|
AssistResponse
ข้อความระดับบนสุดที่ลูกค้าได้รับ ระบบจะสตรีมชุดข้อความ AssistResponse อย่างน้อย 1 ข้อความกลับไปยังไคลเอ็นต์
| ช่อง | |
|---|---|
event_type |
เอาต์พุตเท่านั้น ระบุประเภทของเหตุการณ์ |
audio_out |
Export-only เสียงที่มีคําตอบของ Assistant ต่อคําถาม |
screen_out |
เอาต์พุตเท่านั้น มีการตอบสนองที่เป็นภาพของ Assistant ต่อคำค้นหา |
device_action |
เอาต์พุตเท่านั้น มีการดำเนินการที่ทริกเกอร์โดยการค้นหาที่มีเพย์โหลดและการแยกวิเคราะห์เชิงความหมายที่เหมาะสม |
speech_results[] |
เอาต์พุตเท่านั้น รายการที่ซ้ำนี้มีผลการรู้จำคำพูดตั้งแต่ 0 รายการขึ้นไป ซึ่งสอดคล้องกับส่วนต่อเนื่องกันของเสียงที่กำลังประมวลผลอยู่ โดยเริ่มจากส่วนที่สอดคล้องกับเสียงแรกสุด (และส่วนที่เสถียรที่สุด) กับส่วนที่เกี่ยวข้องกับเสียงล่าสุด สามารถต่อสตริงเข้าด้วยกันเพื่อดูการตอบกลับที่อยู่ระหว่างดำเนินการทั้งหมด เมื่อการรู้จำคำพูดเสร็จสมบูรณ์ รายการนี้จะมี 1 รายการที่มี |
dialog_state_out |
เอาต์พุตเท่านั้น มีเอาต์พุตที่เกี่ยวข้องกับคำค้นหาของผู้ใช้ |
debug_info |
เอาต์พุตเท่านั้น ข้อมูลการแก้ไขข้อบกพร่องสำหรับนักพัฒนาซอฟต์แวร์ แสดงผลเมื่อตั้งค่าคำขอ |
EventType
ระบุประเภทของเหตุการณ์
| Enum | |
|---|---|
EVENT_TYPE_UNSPECIFIED |
ไม่ได้ระบุเหตุการณ์ |
END_OF_UTTERANCE |
เหตุการณ์นี้แสดงว่าเซิร์ฟเวอร์ตรวจพบเสียงพูดของผู้ใช้สิ้นสุดลงและคาดว่าจะไม่มีเสียงพูดเพิ่มเติม ดังนั้น เซิร์ฟเวอร์จะไม่ประมวลผลเสียงเพิ่มเติม (แม้ว่าอาจมีผลลัพธ์เพิ่มเติมในภายหลัง) ไคลเอ็นต์ควรหยุดส่งข้อมูลเสียงเพิ่มเติม ปิดการเชื่อมต่อ gRPC ครึ่งหนึ่ง และรอผลลัพธ์เพิ่มเติมจนกว่าเซิร์ฟเวอร์จะปิดการเชื่อมต่อ gRPC |
AudioInConfig
ระบุวิธีประมวลผลข้อมูล audio_in ที่จะมีการระบุในคำขอที่ตามมา โปรดดูการตั้งค่าที่แนะนำในแนวทางปฏิบัติแนะนำสำหรับ Google Assistant SDK
| ช่อง | |
|---|---|
encoding |
จำเป็น การเข้ารหัสข้อมูลเสียงที่ส่งในข้อความ |
sample_rate_hertz |
จำเป็น อัตราการสุ่มตัวอย่าง (หน่วยเป็นเฮิรตซ์) ของข้อมูลเสียงที่ส่งในข้อความ |
การเข้ารหัส
การเข้ารหัสเสียงของข้อมูลที่ส่งในข้อความเสียง เสียงต้องเป็นแบบช่องเดียว (โมโน)
| Enum | |
|---|---|
ENCODING_UNSPECIFIED |
ไม่ได้ระบุ จะให้ผลลัพธ์เป็น google.rpc.Code.INVALID_ARGUMENT |
LINEAR16 |
ตัวอย่าง Endian แบบมีเครื่องหมาย 16 บิตที่ไม่มีการบีบอัด (PCM เชิงเส้น) การเข้ารหัสนี้จะไม่มีส่วนหัว แต่ระบุเฉพาะไบต์ของเสียงแบบ RAW เท่านั้น |
FLAC |
FLAC (ตัวแปลงสัญญาณเสียงแบบ Free Lossless) คือการเข้ารหัสที่แนะนำเนื่องจากเป็นแบบไม่สูญเสียรายละเอียด การจดจำจึงจะไม่ได้รับผลกระทบ และใช้แบนด์วิดท์ประมาณครึ่งหนึ่งของ LINEAR16 เท่านั้น การเข้ารหัสนี้รวมถึงส่วนหัวของสตรีม FLAC ตามด้วยข้อมูลเสียง โดยจะรองรับตัวอย่าง 16 บิตและ 24 บิต แต่ก็ไม่รองรับบางฟิลด์ใน STREAMINFO |
AudioOut
เสียงที่มีคําตอบของ Assistant สําหรับคําถาม ได้รับข้อความ "AssistResponse" ที่เรียงกันตามลำดับของข้อมูลเสียง
| ช่อง | |
|---|---|
audio_data |
Export-only ข้อมูลเสียงที่มีคําตอบของ Assistant ต่อคําถาม ได้รับข้อความ " |
AudioOutConfig
ระบุรูปแบบที่ต้องการให้เซิร์ฟเวอร์ใช้เมื่อแสดงผลข้อความ audio_out
| ช่อง | |
|---|---|
encoding |
จำเป็น การเข้ารหัสข้อมูลเสียงที่จะแสดงในข้อความ |
sample_rate_hertz |
จำเป็น อัตราตัวอย่างเป็นเฮิรตซ์ของข้อมูลเสียงที่แสดงใน |
volume_percentage |
จำเป็น การตั้งค่าระดับเสียงปัจจุบันของเอาต์พุตเสียงของอุปกรณ์ ค่าที่ใช้ได้คือ 1 ถึง 100 (ตรงกับ 1% ถึง 100%) |
การเข้ารหัส
การเข้ารหัสเสียงของข้อมูลที่แสดงในข้อความเสียง การเข้ารหัสทั้งหมดเป็นไบต์เสียงดิบที่ไม่มีส่วนหัว ยกเว้นตามที่ระบุไว้ด้านล่าง
| Enum | |
|---|---|
ENCODING_UNSPECIFIED |
ไม่ได้ระบุ จะให้ผลลัพธ์เป็น google.rpc.Code.INVALID_ARGUMENT |
LINEAR16 |
ตัวอย่าง Endian แบบมีเครื่องหมาย 16 บิตที่ไม่มีการบีบอัด (PCM เชิงเส้น) |
MP3 |
การเข้ารหัสเสียง MP3 ระบบจะเข้ารหัสอัตราการสุ่มตัวอย่างในเพย์โหลด |
OPUS_IN_OGG |
ระบบเสียงที่เข้ารหัส Opus ในที่เก็บ Ogg ผลที่ได้ที่ได้ก็จะเป็นไฟล์ที่สามารถเล่นได้ในเครื่อง Android และในบางเบราว์เซอร์ (เช่น Chrome) การเข้ารหัสมีคุณภาพสูงกว่า MP3 เป็นอย่างมากในขณะที่ใช้อัตราบิตเดียวกัน ระบบจะเข้ารหัสอัตราการสุ่มตัวอย่างในเพย์โหลด |
DebugConfig
การแก้ไขข้อบกพร่องของพารามิเตอร์สำหรับคำขอปัจจุบัน
| ช่อง | |
|---|---|
return_debug_info |
เมื่อตั้งค่าช่องนี้เป็น "จริง" ระบบอาจเติมข้อมูลในช่อง |
DebugInfo
ข้อมูลการแก้ไขข้อบกพร่องสำหรับนักพัฒนาซอฟต์แวร์ แสดงผลเมื่อตั้งค่าคำขอ return_debug_info เป็น "จริง" เท่านั้น
| ช่อง | |
|---|---|
aog_agent_to_assistant_json |
การตอบกลับ JSON ต้นฉบับจาก Agent สำหรับ Action-on-Google ไปยังเซิร์ฟเวอร์ Google โปรดดู AppResponse ระบบจะป้อนข้อมูลก็ต่อเมื่อผู้ส่งคำขอเป็นเจ้าของโปรเจ็กต์ AoG และโปรเจ็กต์ AoG อยู่ในโหมดแสดงตัวอย่างเท่านั้น |
DeviceAction
การตอบสนองจะย้อนกลับไปยังอุปกรณ์หากผู้ใช้ได้เรียกใช้การดำเนินการของอุปกรณ์ ตัวอย่างเช่น อุปกรณ์ที่รองรับการค้นหา Turn on the light จะได้รับ DeviceAction ที่มีเพย์โหลด JSON พร้อมความหมายของคำขอ
| ช่อง | |
|---|---|
device_request_json |
JSON ที่มีการตอบกลับคำสั่งของอุปกรณ์ที่สร้างขึ้นจากไวยากรณ์ "การทำงานของอุปกรณ์" ที่ทริกเกอร์ รูปแบบนี้จะกําหนดโดย Intent |
DeviceConfig
จำเป็น ช่องที่ระบุอุปกรณ์ให้กับ Assistant
และดู:
| ช่อง | |
|---|---|
device_id |
จำเป็น ตัวระบุที่ไม่ซ้ำกันสำหรับอุปกรณ์ รหัสต้องมีความยาวไม่เกิน 128 อักขระ เช่น DBCDW098234 ต้องตรงกับ device_id ที่ส่งคืนจากการลงทะเบียนอุปกรณ์ device_id นี้ใช้ในการจับคู่กับอุปกรณ์ที่ลงทะเบียนไว้ของผู้ใช้เพื่อค้นหาลักษณะและความสามารถที่รองรับของอุปกรณ์นี้ ข้อมูลนี้ไม่ควรเปลี่ยนแปลงในการรีบูตอุปกรณ์ อย่างไรก็ตาม คุณไม่ควรบันทึกในการรีเซ็ตเป็นค่าเริ่มต้น |
device_model_id |
จำเป็น ตัวระบุที่ไม่ซ้ำกันสำหรับรุ่นอุปกรณ์ การรวมกันของ device_model_id และ device_id ต้องเชื่อมโยงกับการลงทะเบียนอุปกรณ์ก่อนหน้านี้ก่อน |
DeviceLocation
แหล่งที่มาของตำแหน่งมี 3 แหล่ง โดยใช้ลำดับความสำคัญดังนี้
DeviceLocationนี้ซึ่งใช้สำหรับอุปกรณ์เคลื่อนที่ที่มี GPS เป็นหลัก- ตำแหน่งที่ผู้ใช้ระบุระหว่างการตั้งค่าอุปกรณ์ ตำแหน่งนี้เป็นตำแหน่งต่อผู้ใช้ 1 รายต่ออุปกรณ์ ระบบจะใช้ตำแหน่งนี้หากไม่ได้ระบุ
DeviceLocation - สถานที่ตั้งที่สรุปตามที่อยู่ IP ซึ่งจะใช้เฉพาะเมื่อไม่มีการระบุเงื่อนไขใดๆ ข้างต้นเท่านั้น
| ช่อง | |
|---|---|
coordinates |
ละติจูดและลองจิจูดของอุปกรณ์ |
DialogStateIn
ให้ข้อมูลเกี่ยวกับสถานะของกล่องโต้ตอบปัจจุบัน
| ช่อง | |
|---|---|
conversation_state |
ต้องระบุ ช่องนี้ต้องตั้งค่าเป็นค่า |
language_code |
ต้องระบุภาษาของคำขอในไวยากรณ์ IETF BCP 47 (เช่น "en-US") โปรดดูข้อมูลเพิ่มเติมที่การสนับสนุนภาษา หากคุณเลือกภาษาสำหรับ |
device_location |
ไม่บังคับ ตําแหน่งของอุปกรณ์ที่เริ่มการค้นหา |
is_new_conversation |
ไม่บังคับ หากเป็น "จริง" เซิร์ฟเวอร์จะถือว่าคำขอนั้นเป็นการสนทนาใหม่ และไม่ใช้สถานะจากคำขอก่อนหน้า ตั้งค่าช่องนี้เป็นจริงเมื่อควรเริ่มต้นการสนทนาใหม่ เช่น หลังจากรีบูตอุปกรณ์ หรือหลังจากหมดเวลาไปมากนับจากการค้นหาก่อนหน้า |
DialogStateOut
สถานะกล่องโต้ตอบที่เกิดจากการค้นหาของผู้ใช้ ผู้รับอาจได้รับข้อความเหล่านี้หลายครั้ง
| ช่อง | |
|---|---|
supplemental_display_text |
เอาต์พุตเท่านั้น ข้อความแสดงเสริมจาก Assistant ซึ่งอาจเหมือนกับเสียงพูดที่พูดใน |
conversation_state |
ข้อมูลสถานะเอาต์พุตเท่านั้นสำหรับ RPC |
microphone_mode |
เอาต์พุตเท่านั้น ระบุโหมดของไมโครโฟนหลังจากประมวลผล |
volume_percentage |
ระดับเสียงเท่านั้น อัปเดตระดับเสียงแล้ว ค่าจะเป็น 0 หรือไม่ใส่ (หมายความว่าไม่มีการเปลี่ยนแปลง) เว้นแต่ระบบจะจดจำคำสั่งเสียง เช่น เพิ่มระดับเสียงหรือตั้งระดับเสียง 4 ซึ่งในกรณีนี้ ค่าจะอยู่ระหว่าง 1 ถึง 100 (ตรงกับระดับเสียงใหม่ 1% ถึง 100%) โดยปกติแล้ว ลูกค้าควรใช้ระดับเสียงนี้เมื่อเล่นข้อมูล |
MicrophoneMode
สถานะที่เป็นไปได้ของไมโครโฟนหลังจาก RPC Assist เสร็จสมบูรณ์
| Enum | |
|---|---|
MICROPHONE_MODE_UNSPECIFIED |
ไม่ได้ระบุโหมด |
CLOSE_MICROPHONE |
บริการไม่ต้องการคําถามต่อเนื่องจากผู้ใช้ ไมโครโฟนควรปิดอยู่จนกว่าผู้ใช้จะเปิดใช้งานอีกครั้ง |
DIALOG_FOLLOW_ON |
บริการคาดว่าจะมีคำถามจากผู้ใช้ต่อเนื่อง ไมโครโฟนควรเปิดอีกครั้งเมื่อ AudioOut เล่นจบ (ด้วยการเริ่มเรียก Assist RPC ใหม่เพื่อส่งเสียงใหม่) |
ScreenOut
เอาต์พุตภาพของ Assistant ที่ตอบสนองต่อคำค้นหา เปิดใช้โดย screen_out_config
| ช่อง | |
|---|---|
format |
เอาต์พุตเท่านั้น รูปแบบของข้อมูลหน้าจอที่ให้ไว้ |
data |
เอาต์พุตเท่านั้น ข้อมูลหน้าจอดิบที่จะแสดงเป็นผลลัพธ์ของคำค้นหา Assistant |
รูปแบบ
รูปแบบที่เป็นไปได้ของข้อมูลบนหน้าจอ
| Enum | |
|---|---|
FORMAT_UNSPECIFIED |
ไม่ได้ระบุรูปแบบ |
HTML |
ข้อมูลจะมีเลย์เอาต์ HTML5 ที่มีรูปแบบสมบูรณ์ซึ่งเข้ารหัสเป็น UTF-8 เช่น <html><body><div>...</div></body></html> ซึ่งมีจุดประสงค์เพื่อแสดงผลพร้อมกับเสียงตอบ โปรดทราบว่าควรรวม DOCTYPE HTML5 ไว้ในข้อมูล HTML จริง |
ScreenOutConfig
ระบุรูปแบบที่ต้องการให้เซิร์ฟเวอร์ใช้เมื่อแสดงผลการตอบกลับ screen_out
| ช่อง | |
|---|---|
screen_mode |
โหมดหน้าจอปัจจุบันของอุปกรณ์ในขณะออกคำค้นหา |
ScreenMode
โหมดที่เป็นไปได้สำหรับเอาต์พุตหน้าจอภาพในอุปกรณ์
| Enum | |
|---|---|
SCREEN_MODE_UNSPECIFIED |
ไม่ได้ระบุโหมดวิดีโอ Assistant อาจตอบสนองเหมือนกับในโหมด OFF |
OFF |
หน้าจอปิดอยู่ (หรือตั้งค่าความสว่างหรือการตั้งค่าอื่นๆ ไว้เพื่อให้มองไม่เห็น) โดยปกติ Assistant จะไม่แสดงการตอบสนองบนหน้าจอในโหมดนี้ |
PLAYING |
โดยปกติ Assistant จะแสดงการตอบสนองบางส่วนของหน้าจอในโหมดนี้ |
SpeechRecognitionResult
การถอดเสียงเป็นคำโดยประมาณของวลีที่ผู้ใช้พูด ซึ่งอาจเป็นส่วนเดียวหรือการคาดเดาข้อความค้นหาของผู้ใช้อย่างเต็มรูปแบบ
| ช่อง | |
|---|---|
transcript |
เอาต์พุตเท่านั้น ข้อความข้อความถอดเสียงที่แสดงคำที่ผู้ใช้พูด |
stability |
เอาต์พุตเท่านั้น ค่าประมาณแนวโน้มที่ Assistant จะไม่เปลี่ยนแปลงการคาดเดาเกี่ยวกับผลลัพธ์นี้ ค่าอยู่ในช่วง 0.0 (ไม่เสถียรเลย) ไปจนถึง 1.0 (คงที่โดยสมบูรณ์และเป็นขั้นสุดท้าย) ค่าเริ่มต้น 0.0 คือค่าที่ส่งเพื่อแจ้งว่าไม่ได้ตั้งค่า |