ดัชนี
EmbeddedAssistant(อินเทอร์เฟซ)AudioInConfig(ข้อความ)AudioInConfig.Encoding(enum)AudioOut(ข้อความ)AudioOutConfig(ข้อความ)AudioOutConfig.Encoding(enum)ConverseConfig(ข้อความ)ConverseRequest(ข้อความ)ConverseResponse(ข้อความ)ConverseResponse.EventType(enum)ConverseResult(ข้อความ)ConverseResult.MicrophoneMode(enum)ConverseState(ข้อความ)
EmbeddedAssistant
บริการที่ใช้งาน Google Assistant API
| Converse | |
|---|---|
| 
                   
 เริ่มหรือสนทนาต่อด้วยบริการผู้ช่วยที่ฝังไว้ การโทรแต่ละครั้งจะดำเนินการไป-กลับ 1 รอบ โดยจะส่งคำขอแบบเสียงไปยังบริการและรับสายตอบกลับ ใช้การสตรีมแบบ 2 ทิศทางเพื่อรับผลลัพธ์ เช่น เหตุการณ์  การสนทนาคือการเชื่อมต่อ gRPC อย่างน้อย 1 รายการ โดยแต่ละรายการประกอบด้วยคำขอและการตอบกลับที่สตรีมหลายรายการ ตัวอย่างเช่น ผู้ใช้พูดว่าเพิ่มลงในรายการช็อปปิ้งของฉัน และ Assistant ตอบกลับว่าคุณต้องการเพิ่มอะไร ลำดับของคำขอและการตอบกลับที่สตรีมในข้อความ gRPC แรกอาจเป็นดังนี้ 
 จากนั้นผู้ใช้พูดว่าเบเกิล และผู้ช่วยตอบว่าโอเค ฉันเพิ่มเบเกิลลงในรายการช็อปปิ้งแล้ว ระบบจะส่งข้อมูลนี้เป็นการเรียกใช้การเชื่อมต่อ gRPC ไปยังเมธอด  
 แม้ว่าจะไม่มีการรับประกันการเรียงลำดับคำตอบที่แน่นอน แต่ข้อความ ConverseResponse.audio_out ที่เรียงตามลำดับจะมีเสียงในส่วนต่างๆ ตามลำดับเสมอ 
  | 
              |
AudioInConfig
ระบุวิธีประมวลผลข้อมูล audio_in ที่จะมีการระบุในคำขอที่ตามมา โปรดดูการตั้งค่าที่แนะนำในแนวทางปฏิบัติแนะนำเกี่ยวกับ gRPC API ของ Google Assistant
| ช่อง | |
|---|---|
encoding | 
                
                  
                   
                    จำเป็น การเข้ารหัสข้อมูลเสียงที่ส่งในข้อความ   | 
              
sample_rate_hertz | 
                
                   
 
                    จำเป็น อัตราการสุ่มตัวอย่าง (หน่วยเป็นเฮิรตซ์) ของข้อมูลเสียงที่ส่งในข้อความ   | 
              
การเข้ารหัส
การเข้ารหัสเสียงของข้อมูลที่ส่งในข้อความเสียง เสียงต้องเป็นแบบช่องเดียว (โมโน) ภาษาที่รองรับคือ "en-US"
| Enum | |
|---|---|
ENCODING_UNSPECIFIED | 
                ไม่ได้ระบุ จะให้ผลลัพธ์เป็น google.rpc.Code.INVALID_ARGUMENT | 
              
LINEAR16 | 
                ตัวอย่าง Endian แบบมีเครื่องหมาย 16 บิตที่ไม่มีการบีบอัด (PCM เชิงเส้น) การเข้ารหัสนี้จะไม่มีส่วนหัว แต่ระบุเฉพาะไบต์ของเสียงแบบ RAW เท่านั้น | 
FLAC | 
                FLAC (ตัวแปลงสัญญาณเสียงแบบ Free Lossless) คือการเข้ารหัสที่แนะนำเนื่องจากเป็นแบบไม่สูญเสียรายละเอียด การจดจำจึงจะไม่ได้รับผลกระทบ และใช้แบนด์วิดท์ประมาณครึ่งหนึ่งของ LINEAR16 เท่านั้น การเข้ารหัสนี้รวมถึงส่วนหัวของสตรีม FLAC ตามด้วยข้อมูลเสียง โดยจะรองรับตัวอย่าง 16 บิตและ 24 บิต แต่ก็ไม่รองรับบางฟิลด์ใน STREAMINFO | 
              
AudioOut
เสียงที่มีคําตอบของ Assistant สําหรับคําถาม ได้รับข้อความ "ConverseResponse" ที่เรียงกันตามลำดับของข้อมูลเสียง
| ช่อง | |
|---|---|
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 เป็นอย่างมากในขณะที่ใช้อัตราบิตเดียวกัน ระบบจะเข้ารหัสอัตราการสุ่มตัวอย่างในเพย์โหลด | 
ConverseConfig
ระบุวิธีประมวลผลข้อความ ConverseRequest
| ช่อง | |
|---|---|
audio_in_config | 
                
                  
                   ต้องระบุ ระบุวิธีประมวลผลเสียงขาเข้าที่ตามมา  | 
              
audio_out_config | 
                
                  
                   ต้องระบุ ระบุวิธีจัดรูปแบบเสียงที่จะแสดง  | 
              
converse_state | 
                
                  
                   ต้องระบุ แสดงสถานะปัจจุบันของกล่องโต้ตอบ  | 
              
ConverseRequest
ข้อความระดับบนสุดที่ลูกค้าส่ง โดยไคลเอ็นต์จะต้องส่งข้อความอย่างน้อย 2 ข้อความ ซึ่งโดยทั่วไปจะConverseRequest เป็นจำนวนมาก ข้อความแรกต้องมีข้อความ config และต้องไม่มีข้อมูล audio_in ข้อความที่ตามมาทั้งหมดต้องมีข้อมูล audio_in และต้องไม่มีข้อความ config
| ช่อง | ||
|---|---|---|
ฟิลด์การรวม converse_request ต้องระบุ 1 ช่องเหล่านี้ในแต่ละ ConverseRequest converse_request ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น | 
              ||
config | 
                
                  
                   
                    ข้อความ   | 
              |
audio_in | 
                
                   
 
                    ข้อมูลเสียงที่จะจดจำ ระบบจะส่งข้อมูลเสียงเป็นกลุ่มตามลําดับในข้อความ   | 
              |
ConverseResponse
ข้อความระดับบนสุดที่ลูกค้าได้รับ ระบบจะสตรีมชุดข้อความ ConverseResponse อย่างน้อย 1 ข้อความกลับไปยังไคลเอ็นต์
| ช่อง | ||
|---|---|---|
ฟิลด์การรวม converse_response ระบบจะป้อนข้อมูลในช่องใดช่องหนึ่งเหล่านี้อยู่เสมอใน ConverseResponse แต่ละรายการ converse_response ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น | 
              ||
error | 
                
                  
                   
                    เอาต์พุตเท่านั้น หากมีการตั้งค่า ระบบจะแสดงข้อความ   | 
              |
event_type | 
                
                  
                   เอาต์พุตเท่านั้น ระบุประเภทของเหตุการณ์  | 
              |
audio_out | 
                
                  
                   Export-only เสียงที่มีคําตอบของ Assistant สําหรับคําถาม  | 
              |
result | 
                
                  
                   Export-only ผลลัพธ์เชิงความหมายสำหรับคำค้นหาที่ผู้ใช้พูด  | 
              |
EventType
ระบุประเภทของเหตุการณ์
| Enum | |
|---|---|
EVENT_TYPE_UNSPECIFIED | 
                ไม่ได้ระบุเหตุการณ์ | 
END_OF_UTTERANCE | 
                เหตุการณ์นี้แสดงว่าเซิร์ฟเวอร์ตรวจพบเสียงพูดของผู้ใช้สิ้นสุดลงและคาดว่าจะไม่มีเสียงพูดเพิ่มเติม ดังนั้น เซิร์ฟเวอร์จะไม่ประมวลผลเสียงเพิ่มเติม (แม้ว่าอาจมีผลลัพธ์เพิ่มเติมในภายหลัง) ไคลเอ็นต์ควรหยุดส่งข้อมูลเสียงเพิ่มเติม ปิดการเชื่อมต่อ gRPC ครึ่งหนึ่ง และรอผลลัพธ์เพิ่มเติมจนกว่าเซิร์ฟเวอร์จะปิดการเชื่อมต่อ gRPC | 
ConverseResult
ผลลัพธ์เชิงความหมายสำหรับคำค้นหาที่ผู้ใช้พูด
| ช่อง | |
|---|---|
spoken_request_text | 
                
                   
 เอาต์พุตเท่านั้น ข้อความถอดเสียงที่ระบบรู้จักของสิ่งที่ผู้ใช้พูด  | 
              
spoken_response_text | 
                
                   
 Export-only ข้อความตอบกลับที่ Assistant พูด ซึ่งจะแสดงผลสำหรับการดำเนินการ IFTTT เท่านั้น  | 
              
conversation_state | 
                
                   
 
                    ข้อมูลสถานะเอาต์พุตเท่านั้นสำหรับ   | 
              
microphone_mode | 
                
                  
                   
                    เอาต์พุตเท่านั้น ระบุโหมดของไมโครโฟนหลังจากประมวลผล   | 
              
volume_percentage | 
                
                   
 
                    ระดับเสียงเท่านั้น อัปเดตระดับเสียงแล้ว ค่าจะเป็น 0 หรือไม่ใส่ (หมายความว่าไม่มีการเปลี่ยนแปลง) เว้นแต่คำสั่งเสียง เช่น "เพิ่มระดับเสียง" หรือ "ตั้งระดับเสียง 4" ซึ่งในกรณีนี้ ค่าจะอยู่ระหว่าง 1 ถึง 100 (ตรงกับระดับเสียงใหม่ 1% ถึง 100%) โดยปกติแล้ว ลูกค้าควรใช้ระดับเสียงนี้เมื่อเล่นข้อมูล   | 
              
MicrophoneMode
สถานะที่เป็นไปได้ของไมโครโฟนหลังจาก RPC Converse เสร็จสมบูรณ์
| Enum | |
|---|---|
MICROPHONE_MODE_UNSPECIFIED | 
                ไม่ได้ระบุโหมด | 
CLOSE_MICROPHONE | 
                บริการไม่ต้องการคําถามต่อเนื่องจากผู้ใช้ ไมโครโฟนควรปิดอยู่จนกว่าผู้ใช้จะเปิดใช้งานอีกครั้ง | 
DIALOG_FOLLOW_ON | 
                บริการคาดว่าจะมีคำถามจากผู้ใช้ต่อเนื่อง ไมโครโฟนควรเปิดอีกครั้งเมื่อ AudioOut เล่นจบ (ด้วยการเริ่มเรียก Converse RPC ใหม่เพื่อส่งเสียงใหม่) | 
              
ConverseState
ให้ข้อมูลเกี่ยวกับสถานะของกล่องโต้ตอบปัจจุบัน
| ช่อง | |
|---|---|
conversation_state | 
                
                   
 
                    ต้องระบุ ค่า   |