พรอมต์จะกำหนดวิธีที่การดำเนินการของคุณแสดงผลคำตอบแก่ผู้ใช้ และวิธีการที่การดำเนินการของคุณ บอกให้ดำเนินการต่อ ระหว่างที่สร้างการดำเนินการ คุณสามารถเพิ่มพรอมต์ลงใน และไปยังสถานที่ต่างๆ ภายในฉาก พรอมต์อาจง่ายเหมือนเป็น ข้อความหรือคำตอบ หรืออาจมีความซับซ้อนและมีเนื้อหามากมาย เช่น การ์ด รูปภาพ และตาราง
ประเภทการตอบกลับ
สำหรับแต่ละพรอมต์ คุณสามารถเลือกจากประเภทคำตอบที่น่าสนใจ Assistant ที่จะนำเสนอแก่ผู้ใช้
- คำตอบง่ายๆ: คำตอบง่ายๆ จะอยู่ในรูปแบบลูกโป่งแชท และใช้การอ่านออกเสียงข้อความ (TTS) หรือภาษามาร์กอัปการสังเคราะห์เสียง (SSML) สำหรับ เสียง คำตอบแบบง่ายเป็นคำตอบเดียวที่รองรับในอุปกรณ์ทุกประเภท
- การตอบกลับที่สมบูรณ์: การตอบกลับที่สมบูรณ์ประกอบด้วยองค์ประกอบภาพหรือฟังก์ชันที่ เพิ่มประสิทธิภาพการโต้ตอบของผู้ใช้กับการดำเนินการของคุณ เมื่อได้รับคำตอบอย่างละเอียด คุณจะสามารถ แสดงข้อมูลแบบตารางหรือเล่นเนื้อหาเสียงที่ยาวขึ้น
- คำตอบการเลือกภาพ: คำตอบการเลือกภาพจะให้ภาพประกอบ ของ Google เพื่อให้ผู้ใช้สามารถเลือกระหว่างตัวเลือกต่างๆ ซึ่งสะดวกที่สุด แยกแยะความแตกต่างด้วยชื่อหรือภาพ
- การตอบกลับสื่อ: การตอบกลับสื่อช่วยให้การดําเนินการเล่นเสียงได้นานขึ้น เนื้อหามากกว่า SSML และแสดงคอมโพเนนต์ภาพที่มีตัวควบคุมสื่อ
- Interactive Canvas: Interactive Canvas แสดงผลการตอบกลับเป็นแบบเต็มหน้าจอ มุมมองเว็บและทำหน้าที่เป็นเว็บแอปแบบอินเทอร์แอกทีฟที่ Assistant ส่งเป็น ตอบกลับผู้ใช้ในการสนทนา Canvas ใช้ข้อความแจ้งที่ต่างออกไปเล็กน้อย เพื่อให้มีความยืดหยุ่นมากขึ้นจากมาตรฐานเว็บ เช่น HTML, CSS และ JavaScript
การตอบกลับแต่ละประเภทใช้รูปแบบพรอมต์พื้นฐานเดียวกันและมีสิทธิ์เข้าถึง ฟีเจอร์ทั่วไปแบบเดียวกับที่อธิบายไว้ด้านล่าง
รูปแบบของพรอมต์
ในโปรเจ็กต์ Actions คุณต้องระบุพรอมต์ในรูปแบบ YAML หรือ JSON ชิ้น สามารถมีคำตอบง่ายๆ ได้สูงสุด 2 คำตอบ หรืออาจระบุเป็น Rich คำตอบ การตอบกลับจะกำหนดไว้ดังต่อไปนี้
first_simple
: ข้อความเริ่มต้นหรือคำพูด (แบบง่าย) ที่จะส่งให้ผู้ใช้content
: เนื้อหาคำตอบแบบริชมีเดียเสริมที่จะส่งหลังจากคำตอบแบบง่ายlast_simple
ข้อความหรือคำพูดสุดท้าย (แบบง่าย) ที่จะส่งให้ผู้ใช้canvas
: อ้างอิงเว็บแอปที่ผสานรวมกับ Interactive Canvas
โดยค่าเริ่มต้น ระบบจะเติมข้อความแจ้งต่อท้ายกันและกันโดยเรียงตามลำดับข้างต้นในพรอมต์ คิว Assistant จะแสดงข้อความแจ้งทั้งหมดแก่ผู้ใช้ก่อนที่ผู้ใช้จะตอบได้ ในคิวพรอมต์
นอกจากนี้ คุณยังให้ความยืดหยุ่นกับข้อความแจ้งโดยใช้ฟีเจอร์ต่อไปนี้ด้วย
- คุณสมบัติ: ผู้สมัครให้คุณกำหนดคำตอบตาม ความสามารถอุปกรณ์ของผู้ใช้ เช่น คุณสามารถให้ Assistant แสดง "ริชมีเดีย" การตอบสนองเฉพาะเมื่อผู้ใช้โต้ตอบกับการดำเนินการของคุณในจอแสดงผลที่รองรับ อุปกรณ์
- รายละเอียดปลีกย่อย: รายละเอียดปลีกย่อยของข้อความเดียวคือรูปแบบอื่น เช่น ให้ Assistant เลือกข้อความต้อนรับที่แตกต่างกัน 5 แบบ ข้อความรูปแบบต่างๆ ในแต่ละครั้งที่ผู้ใช้เรียกใช้การดำเนินการของคุณ
- คำแนะนำ: คำแนะนำช่วยให้ผู้ใช้ที่ใช้โฆษณาแบบดิสเพลย์ได้ อุปกรณ์ที่มีชิปคำแนะนำเมื่อ Assistant แสดงข้อความแจ้ง
พรอมต์เริ่มต้นจะใช้ตัวเลือก 1 รายการ ตัวแปร 1 รายการ และคำตอบ first_simple
ผู้สมัคร
ในพรอมต์ ออบเจ็กต์ candidates
จะให้คุณกำหนดคำตอบตาม
ความสามารถอุปกรณ์ของผู้ใช้ เช่น คุณสามารถให้ Assistant แสดง "ริชมีเดีย"
การตอบสนองเฉพาะเมื่อผู้ใช้โต้ตอบกับการดำเนินการของคุณในจอแสดงผลที่รองรับ
อุปกรณ์ หากต้องการกําหนดประเภทอุปกรณ์ที่ Assistant สามารถแสดงผลตัวเลือกได้ ให้ใช้
พร็อพเพอร์ตี้ selector
ของออบเจ็กต์ candidates
ในตัวอย่างด้านล่าง พร็อพเพอร์ตี้ selector
มีความสามารถของอุปกรณ์
ระบบจะส่งข้อความแจ้งที่ตั้งค่าไว้ในตัวเลือกแรกไปยังผู้ใช้ในอุปกรณ์
ที่แสดงผลการตอบสนองที่สมบูรณ์ คำที่ 2 มีข้อความขอ
ผู้ใช้ที่รับได้เฉพาะคำตอบที่เป็นข้อความและเสียงพูด
YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
คุณจะระบุข้อกำหนดเกี่ยวกับความสามารถได้อย่างน้อย 1 ข้อสำหรับผู้สมัครคนใดคนหนึ่ง รายการต่อไปนี้จะอธิบายข้อกำหนดความสามารถแต่ละข้อที่มีอยู่
SPEECH
: อุปกรณ์สื่อสารกับผู้ใช้ผ่านการอ่านออกเสียงข้อความหรือ SSML ได้RICH_RESPONSE
: อุปกรณ์แสดงคำตอบที่สมบูรณ์ได้ เช่น การ์ด รายการ และLONG_FORM_AUDIO
: อุปกรณ์เล่นสื่อเสียงแบบยาว เช่น เพลงและ พอดแคสต์INTERACTIVE_CANVAS
: อุปกรณ์แสดงการตอบสนองของ Interactive Canvas ได้WEB_LINK
: อุปกรณ์ใช้เว็บลิงก์ในคำตอบที่เป็นสื่อสมบูรณ์เพื่อเปิดเว็บเบราว์เซอร์ได้HOME_STORAGE
: อุปกรณ์สามารถจัดเก็บและเข้าถึงข้อมูลจากพื้นที่เก็บข้อมูลในบ้าน
ตัวแปร
ตัวแปรช่วยให้คุณกำหนดคำตอบได้หลายเวอร์ชัน เมื่อใช้ Assistant ส่งข้อความแจ้งไปยังผู้ใช้ จะมีการเลือกตัวแปรหนึ่งโดยการสุ่ม ขอแสดงความนับถือ ฝึกปฏิบัติการออกแบบการสนทนา ให้คำตอบอื่นๆ แก่ผู้ใช้เมื่อ สนทนากับการดำเนินการของคุณ
เช่น ระบุรูปแบบต่างๆ ของข้อความต้อนรับเพื่อไม่ให้ผู้ใช้ได้ยิน การตอบสนองเดียวกันทุกครั้งที่พวกเขาเรียกใช้การดำเนินการของคุณ
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
คำแนะนำ
![ตัวอย่างชิปคำแนะนำในจออัจฉริยะ](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/smart-display/chips.png?authuser=0000&hl=th)
คำแนะนำช่วยให้ผู้ใช้ในอุปกรณ์ที่แสดงผลด้วยชิปคำแนะนำเมื่อ Assistant จะแสดงข้อความแจ้ง ใช้ชิปคำแนะนำเพื่อบอกใบ้คำตอบของผู้ใช้ ทำต่อหรือสลับเปลี่ยนทิศทางการสนทนา เมื่อแตะ ชิปคำแนะนำจะแสดง ข้อความที่แสดงต่อการสนทนาแบบคำต่อคำ ราวกับว่าผู้ใช้ได้พิมพ์ข้อความลงไป
คุณมีคำแนะนำได้สูงสุด 8 รายการในพรอมต์ 1 รายการ โดยแต่ละรายการมีขีดจำกัดสูงสุด ความยาว 25 อักขระ
หากต้องการเพิ่มคำแนะนำ ให้ระบุออบเจ็กต์ Suggestion
ที่มีแต่ละรายการ
คำแนะนำในช่อง title
แยกต่างหาก ชื่อแต่ละรายการต้องไม่ซ้ำกันในชุด
ชิปคำแนะนำ ใน Actions Builder ออบเจ็กต์นี้แสดงใน YAML และ
JSON เป็น suggestions
เช่น คุณสามารถระบุ "ใช่" และ "ไม่ใช่" คำแนะนำควบคู่กับคำถาม:
YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }