בדף הזה מוסבר איך להשתמש ב-API כדי להעביר קלט אודיו בסטרימינג לבקשה לזיהוי כוונה. Dialogflow מעבד את האודיו וממיר אותו לטקסט לפני שהוא מנסה להתאים אותו ל-Intent. התהליך הזה נקרא קלט אודיו, זיהוי דיבור, המרת דיבור לטקסט או STT.
לפני שמתחילים
התכונה הזו רלוונטית רק כשמשתמשים ב-API לאינטראקציות עם משתמשי קצה. אם אתם משתמשים בשילוב, אתם יכולים לדלג על המדריך הזה.
לפני שתקראו את המדריך הזה, אתם צריכים:
- מידע בסיסי על Dialogflow
- לבצע את השלבים להגדרה.
יצירת סוכן
- נכנסים למסוף Dialogflow ES.
- אם מופיעה בקשה, נכנסים למסוף. מידע נוסף זמין בסקירה הכללית על מסוף Dialogflow.
- בתפריט הצד, מרחיבים את הקטע סוכני טעינה.
- לוחצים על יצירת נציג חדש.
- מזינים את שם הנציג, שפת ברירת המחדל ואזור הזמן שמוגדר כברירת מחדל.
- נכנסים לפרויקט קיים. כדי ליצור פרויקט במסוף Dialogflow, בוחרים באפשרות Create a new Google project.
- לוחצים על יצירה.
היסודות של סטרימינג
השיטה streamingDetectIntent של הסוג Session מחזירה אובייקט סטרימינג דו-כיווני של gRPC.
השיטות שזמינות לאובייקט הזה משתנות בהתאם לשפה, לכן כדאי לעיין במאמרי העזרה של ספריית הלקוח שלכם כדי לקבל פרטים.
אובייקט הסטרימינג משמש לשליחה ולקבלה של נתונים בו-זמנית. באמצעות האובייקט הזה, הלקוח מעביר בסטרימינג תוכן אודיו ל-Dialogflow, ובמקביל מאזין ל-StreamingDetectIntentResponse.
לשיטה streamingDetectIntent יש פרמטר query_input.audio_config.single_utterance שמשפיע על זיהוי הדיבור:
- אם הערך הוא
false(ברירת המחדל), זיהוי הדיבור לא מפסיק עד שהלקוח סוגר את הסטרימינג. - אם הערך הוא
true, Dialogflow יזהה ביטוי אחד שנאמר באודיו של הקלט. כש-Dialogflow מזהה שהקול באודיו נפסק או הושהה, הוא מפסיק את זיהוי הדיבור ושולח ללקוחStreamingDetectIntentResponseעם תוצאת זיהוי שלEND_OF_SINGLE_UTTERANCE. כל אודיו שנשלח ל-Dialogflow בסטרימינג אחרי קבלתEND_OF_SINGLE_UTTERANCEלא יטופל על ידי Dialogflow.
בסטרימינג דו-כיווני, הלקוח יכול לסגור חלקית את אובייקט הסטרימינג כדי לאותת לשרת שהוא לא ישלח יותר נתונים. לדוגמה, ב-Java וב-Go, השיטה הזו נקראת closeSend.
חשוב לסגור חלקית (אבל לא לבטל) את הסטרימינג במצבים הבאים:
- הלקוח סיים לשלוח נתונים.
- הלקוח מוגדר עם
single_utteranceשמוגדר ל-true, והוא מקבלStreamingDetectIntentResponseעם תוצאת זיהוי שלEND_OF_SINGLE_UTTERANCE.
אחרי סגירת הסטרימינג, הלקוח צריך להתחיל בקשה חדשה עם סטרימינג חדש לפי הצורך.
זיהוי כוונה בסטרימינג
בדוגמאות הבאות נעשה שימוש ב-method streamingDetectIntent של הסוג Session כדי להעביר אודיו בסטרימינג.
Go
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פעלו לפי הוראות ההגדרה של C# בדף ספריות הלקוח, ואז עיינו במאמרי העזרה של Dialogflow CX ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף ספריות הלקוח, ואז נכנסים למאמרי העזרה של Dialogflow CX ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף ספריות הלקוח, ואז נכנסים למאמרי העזרה של Dialogflow CX ל-Ruby.
דוגמאות
בדף הדוגמאות מפורטות שיטות מומלצות להעברת סטרימינג ממיקרופון של דפדפן ל-Dialogflow.