בדף הזה מוסבר איך להזרים קלט אודיו לבקשה לזיהוי כוונות באמצעות ה-API. מערכת Dialogflow מעבדת את האודיו וממירה אותו לטקסט לפני שהיא מנסה להתאים אותו להצהרת כוונות. התהליך הזה נקרא קלט אודיו, זיהוי דיבור, המרת דיבור לטקסט או STT.
לפני שמתחילים
התכונה הזו רלוונטית רק כשמשתמשים ב-API עבור אינטראקציות עם משתמשי קצה. אם אתם משתמשים בשילוב, אתם יכולים לדלג על המדריך הזה.
לפני שקוראים את המדריך הזה, צריך לבצע את המשימות הבאות:
- מידע בסיסי על Dialogflow
- לבצע את השלבים להגדרה.
יצירת סוכן
- עוברים אל מסוף Dialogflow ES.
- נכנסים למסוף אם מוצגת בקשה לכך. מידע נוסף זמין בסקירה הכללית על מסוף Dialogflow.
- בתפריט שבסרגל הצד, מרחיבים את האפשרות סוכני טעינה.
- לוחצים על יצירת סוכן חדש.
- מזינים את שם הסוכן, שפת ברירת המחדל ואזור הזמן שמוגדר כברירת מחדל.
- מזינים פרויקט קיים. כדי לאפשר למסוף Dialogflow ליצור פרויקט, בוחרים באפשרות Create a new Google project (יצירת פרויקט חדש ב-Google).
- לוחצים על יצירה.
מידע בסיסי על סטרימינג
השיטה 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.
בסטרימינג דו-כיווני, לקוח יכול לסגור חצי של אובייקט הסטרימינג כדי לסמן לשרת שהוא לא ישלח יותר נתונים. לדוגמה, ב-Java וב-Go, השיטה הזו נקראת closeSend.
חשוב לסגור חצי מהסטרימים (אבל לא לבטל אותם) במצבים הבאים:
- הלקוח סיים לשלוח נתונים.
- הלקוח מוגדר עם
single_utteranceשמוגדר ל-true, והוא מקבלStreamingDetectIntentResponseעם תוצאת זיהוי שלEND_OF_SINGLE_UTTERANCE.
אחרי סגירת הסטרימינג, הלקוח צריך להתחיל בקשה חדשה עם סטרימינג חדש לפי הצורך.
זיהוי כוונות בסטרימינג
בדוגמאות הבאות משתמשים בשיטה 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 זמין בדף הדוגמאות.