Google Home dihubungkan dengan container .NET menggunakan Dialogflow
25 July 2018
Saya menggunakan Google Home setiap saat untuk memeriksa cuaca sebelum meninggalkan rumah, mengatur alarm, mendengarkan musik, tetapi saya tidak pernah mempertimbangkan untuk menulis aplikasi bagi Google Home. Apa yang dibutuhkan untuk menulis sebuah aplikasi bagi asisten Google Home? Dan bisakah kita membuatnya lebih pintar dengan memanfaatkan Google Cloud? Itu adalah pertanyaan yang rekan saya Chris Bacon, dan saya pikirkan ketika kami memutuskan untuk mem-build demo bagi ceramah konferensi.
Naluri awal saya adalah bahwa mem-build aplikasi untuk Google Home akan cukup rumit. Lagi pula, kita berbicara tentang manusia nyata yang berbicara dengan perangkat yang memicu beberapa layanan berjalan di cloud. Ada banyak detail yang harus diperhitungkan dan banyak hal yang berpotensi bisa berjalan ke arah yang salah.
Ternyata, ini jauh lebih mudah daripada yang saya pikir dan sangat menyenangkan juga. Dalam postingan ini, saya ingin memberi Anda sekilas tentang apa yang kami build. Bila Anda ingin menyiapkan dan menjalankan demo ini sendiri, petunjuk dan kodenya dihosting di GitHub.
Ringkasan
Tujuan utama kami dengan aplikasi ini adalah untuk menampilkan library .NET Google Cloud dengan cara yang menyenangkan dan menarik sembari menyoroti kekuatan unik Google. Setelah melakukan brainstorming, kami memutuskan untuk mem-build aplikasi berbasis suara menggunakan Dialogflow, di mana kami menanyakan beberapa pertanyaan acak dan membiarkan Google Home menjawab dengan memanfaatkan kekuatan cloud.Di aplikasi kami, Anda bisa meminta Google Home untuk menelusuri gambar kota. Setelah menemukan gambarnya, mereka akan ditampilkan di frontend web. Anda bisa memilih sebuah gambar dan mengajukan lebih banyak pertanyaan seperti “Can you describe the image?” atau “Does the image contain landmarks?” Anda juga bisa mengajukan pertanyaan tentang suhu global seperti “What was the hottest temperature in France in 2015?” Atau tentang Hacker News, misalnya “What was the top Hacker News story on May 1, 2018?” Sebuah gambar bernilai seribu kata. Beginilah bagaimana aplikasi terlihat di tingkat tinggi.
Pertama kali, perintah suara direkam oleh perangkat Google Home dan diteruskan ke Asisten Google. Kami menggunakan Dialogflow untuk menangani masukan ke Asisten Google. Beberapa masukan ditangani secara langsung di Dialogflow dan beberapa diteruskan ke webhook eksternal yang telah ditetapkan sebelumnya (dalam hal ini, endpoint HTTPS yang berjalan di Google Cloud).
Saya juga harus menyebutkan bahwa aplikasi ini bekerja di mana pun selama Asisten Google didukung dan Anda login di akun Google yang sama seperti ketika Anda membuat aplikasi Dialogflow. Bila Anda tidak memiliki Google Home, Anda bisa menggunakan ponsel yang mendukung Asisten Google untuk berinteraksi dengan aplikasi.
Mari kita lihat penerapannya secara lebih detail.
Dialogflow
Dialogflow adalah platform developer untuk mem-build pengalaman percakapan yang alami dan kaya. Ketika kami mulai memikirkan implementasi ini, kami dengan cepat menyadari bahwa Dialogflow akan menjadi titik awal yang baik untuk bagian aplikasi yang dikendalikan oleh suara. Ada beberapa edisi Dialogflow (standar dan enterprise) dengan batasan dan SLA yang berbeda. Untuk demo kami, edisi standar lebih dari cukup.Anda mulai dengan membuat agent bagi aplikasi Anda di konsol Dialogflow. Di dalam agent, Anda membuat intent. Intent merepresentasikan mapping antara yang dikatakan pengguna dan aksi yang harus dilakukan oleh aplikasi Anda. Anda tidak perlu mencantumkan semua frasa yang bisa memicu intent tertentu. Sebagai gantinya, Anda menyediakan beberapa frasa training dan Dialogflow akan menggunakan machine learning untuk mempelajari frasa yang diharapkan. Ia juga bisa mengambil entity dari frasa tersebut seperti nama kota atau tanggal. Bila aplikasi membutuhkan sebuah entity, Dialogflow akan memastikan bahwa pengguna menyediakannya. Semua fitur kecil ini sangat mempermudah pekerjaan dalam membuat aplikasi percakapan.
Beberapa intent bisa ditangani secara langsung dalam Dialogflow; cukup sediakan respons teks yang perlu dikatakan Dialogflow. Di aplikasi kami, Anda bisa mengucapkan “Say hi to everyone,” yang akan ditanggapi langsung Dialogflow dengan respons sederhana.
Anda juga bisa mengaktifkan endpoint eksternal untuk menangani intent melalui webhook. Ketika intent terpicu, Dialogflow meneruskan permintaan ke endpoint yang ditentukan. Satu-satunya persyaratan adalah bahwa endpoint mendukung HTTPS. Di sinilah kekuatan cloud masuk. Di aplikasi kami, kami menjadi host sebuah endpoint di Google Cloud untuk menangani pertanyaan yang lebih rumit tentang gambar atau suhu global.
ASP.NET Core di App Engine (Flex)
Untuk endpoint, kami memutuskan untuk menjadi host apl web ASP.NET Core yang ter-container di Google Cloud Platform (GCP). Karena ini adalah container yang berjalan di Linux (ya, .NET berjalan di Linux!), kita bisa menjadi host di Google Kubernetes Engine atau App Engine. Kami memutuskan untuk menggunakan App Engine, karena menyediakan endpoint HTTPS secara default dengan tingkat kesulitan paling rendah. Ia juga memberikan kita penetapan versi, sehingga kita bisa menjadi host beberapa versi endpoint untuk melakukan A/B testing atau rollback yang mudah.Apl web menyediakan dua tujuan. Pertama, frontend visual untuk menampilkan gambar atau pertanyaan (ditangani oleh HomeController). Kedua, menangani panggilan webhook dari Dialogflow untuk pertanyaan yang lebih rumit mengenai gambar atau suhu global (ditangani oleh ConversationController).
ConversationController melimpahkan ke DialogflowApp untuk menangani permintaan. DialogflowApp mengambil id sesi permintaan dan membuat Conversation baru atau menemukan yang sudah ada. Kemudian, Conversation mengambil nama intent dan mencocokkannya dengan subclass BaseHandler menggunakan IntentAttribute pada awal class penangan.
Penelusuran gambar
Ketika pengguna mengucapkan “Search for images of Paris”, itu akan memicu intent “vision.search” yang diaktifkan webhook di Dialogflow. Intent ini mengambil “Paris” sebagai entity dan meneruskannya ke webhook sebagai istilah penelusuran. Panggilan ini kemudian dialihkan ke VisionSearchHandler yang berjalan di App Engine. Class ini menggunakan API Google Penelusuran Khusus untuk menelusuri gambar menggunakan istilah penelusuran. Pada akhirnya, Anda akan melihat daftar gambar di frontend web aplikasi.Vision API
Setelah memiliki daftar gambar, Anda bisa mengucapkan “Select first picture” untuk memilih salah satu. Sekarang ini mulai menarik. Misalnya, mengucapkan sesuatu seperti “Describe the image” akan memicu VisionDescribeHandler, yang membuat panggilan ke Vision API menggunakan library .NET Vision API kami, dan mendapatkan label kembali. Kita meneruskan label kembali ke Dialogflow, yang pada gilirannya memberikannya ke Google Home untuk diucapkan dengan keras. Anda juga bisa mengucapkan “Does the image contain landmarks?” yang menggunakan fitur deteksi landmark Vision API (ditangani oleh VisionLandmarksHandler). Anda juga bisa mengucapkan “Is the image safe?” untuk memastikan gambar tidak mengandung gambar yang tidak aman (ditangani oleh VisionSafeHandler).BigQuery
BigQuery adalah solusi gudang data tanpa server milik Google. Ia memiliki banyak dataset publik yang tersedia bagi siapa saja untuk penelusuran dan analisis. Kami memutuskan untuk menggunakan dua di antaranya: Data Hacker News dan Data Cuaca Global NOAA.Misalnya, bila Anda mengucapkan “What was the top hacker news on May 1, 2018?” Ia akan diambil oleh intent “bigquery.hackernews” dan akhirnya dialihkan ke BigQueryHackerNewsHandler dengan entity tanggal. Class ini menggunakan library .NET BigQuery untuk menjalankan kueri terhadap Data Hacker News dan mengambil 10 artikel Hacker News teratas pada hari itu.
Sama halnya, bila Anda mengucapkan “What was the hottest temperature in France in 2015?” ini memicu BigQueryNoaaextremeHandler untuk menjalankan kueri terhadap data cuaca global dan menampilkan 10 lokasi dan suhu teratas untuk negara tersebut pada tahun itu di frontend web.
Semua ini dilakukan dengan memindai beberapa gigabyte data dalam beberapa detik dan dimungkinkan oleh infrastruktur paralel BigQuery yang sangat besar.
Logging dan pemantauan
Semua ini menyenangkan, tetapi kami ingin memastikan bahwa kami bisa mempertahankan aplikasi ini sampai seterusnya. Stackdriver adalah fitur logging, pemantauan, pelacakan, dan proses debug milik Google Cloud. Mengaktifkan Stackdriver memerlukan sebuah panggilan API (UseGoogleDiagnostics dalam Program) dan melakukan sedikit perubahan pada Dockerfile. Tiba-tiba, kita mendapat log aplikasi, pelacakan semua panggilan HTTP, pemantauan dan terakhir tetapi tidak kalah pentingnya, kemampuan untuk melakukan proses debug produksi secara langsung.Dengan Stackdriver Debugger, kita bisa menunjukkan kode kita di GitHub dan kemudian mengambil snapshot dari mana saja di dalam kode. Bahasa yang didukung saat ini adalah Java, Python, Node.js, Go, dan C# (versi alfa). Snapshot bisa diambil pada kode produksi langsung tanpa menghentikan atau menunda aplikasi. Snapshot juga bisa bersyarat, dan memuat variabel lokal dan pelacakan tumpukan, yang sangat berharga untuk proses debug produksi.
Kesimpulan
Dalam pengembangan software, sesuatu yang semestinya mudah biasanya berakhir jauh lebih rumit ketika Anda masuk ke detail. Dalam kasus ini, justru sebaliknya. Dialogflow membuat pengenalan suara dan perutean permintaan di aplikasi Google Home sangat sederhana dan lugas. Kami menerapkan aplikasi ASP.NET Core yang ter-container di App Engine dengan sebuah perintah, dan library .NET Google Cloud untuk Vision API dan BigQuery lugas dan konsisten untuk digunakan.Yang paling utama, saya sangat senang menulis demo ini bersama Chris! Bila Anda ingin mencobanya sendiri, kode dan petunjuknya tersedia di GitHub.
Google Home dihubungkan dengan container .NET menggunakan Dialogflow
ReplyDeleteMain sekarang di Poker88, tempat bermain poker online uang asli terbaik di Indonesia. Poker88 menyediakan berbagai macam pilihan game poker88 untuk anda. Cukup dengan mendaftar poker 88 asia dan anda akan mendapatkan 1 ID poker88 yang bisa anda gunakan untuk bermain semua game poker 88 online yang ada di situs resmi poker88. Jangan khawatir kehabisan uang! Poker88 menyediakan minimal deposit rendah sebesar Rp25.000 sehingga anda bisa bermain di poker88 tanpa menguras kantong anda. Segera daftarkan diri anda di link alternatif resmi poker88 asia hanya di situs poker88. Siapkan diri anda menjadi jutawan baru di lingkungan poker 88.
Dewapoker Terbesar di indonesia Menyediakan banyak pilihan game, salah satunya adalah game poker, Dewa Poker online memiliki member aktif dan hal menarik pada Dewa Poker menyediakan tournament poker yang dapat memberikan bonus hingga jutaan rupiah, raih kesempatan terbaik kamu dalam tournament poker di dewapoker, ayo.. gabung bersama Dewapoker online dan dapatkan hadiah jutaan rupiah.
Saya menggunakan Google Home setiap saat untuk memeriksa cuaca sebelum meninggalkan rumah, mengatur alarm, mendengarkan musik, tetapi saya tidak pernah mempertimbangkan untuk menulis aplikasi bagi Google Home.
ReplyDeleteSebagai penggemar judi online tentunya anda mengaharapkan bermain judi kelas untuk merasakan bagaimana indahnya kemenangan dan keuntungan saat bermain judi. Banyak jenis taruhan terpopuler di situs judi online yang memberikan kepuasan bermain layaknya pemain profesional. Kami akan memberikan daftar situs judi online yang banyak di rekomendasikan dan dimainkan banyak bettor. Bila anda bermain dengan agen judi online yang terpercaya, anda akan memperoleh kualitas permainan terbaik serta tak perlu takut kemungkinan penipuan. Daftar Agen Judi Terpopuler di Indonesia :
dewa poker
dewapoker
poker 88
poker
poker
Pertama kali, perintah suara direkam oleh perangkat Google Home dan diteruskan ke Asisten Google. Google menggunakan Dialogflow untuk menangani masukan ke Asisten Google.
ReplyDeleteDi internet sekarang banyak ssekali bermunculan situs judi online yang banyak di inginkan oleh bettor untuk bermain judi, namun perlu di perhatikan dan di waspadai, karena ada sebagian situs judi online yang tidak terpercaya dan memiliki banyak masalah soal penipuan. Maka dari itu anda perlu mencari tahu terlebih dahulu situs judi online yang ingin anda mainkan tersebut dan mencari tahu dari para pemain yang sudah bermain di situs tersebut. Jika anda kurang yakin dengan situs judi online yang anda temui dan susah mencari situs yang terpercaya, kami memberikan Daftar Agen Judi Online Terpercaya Indonesia 2019:
judi bola
togel hk
togel hongkong
judi bola
poker
inginkan oleh bettor untuk bermain judi, namun perlu di perhatikan dan di togel singapore
ReplyDeleteThe deal was brokered following complaints by two staff members about the way they were treated.
ReplyDeleteOne employee, engineer Kevin Cernekee, said he was fired in June 2018 because of his political views. Google said it let him go because he downloaded confidential material to a USB drive and broke other internal policies.
Details about the other complaint that Stream prompted the Board to investigate have not been released.
Staff at Google staged a walkout Streaming and other protests in late 2018 following revelations about the way it handled accusations of misconduct, including sexual harassment, by senior staff.
The protests led Google to rewrite its internal policies, end forced arbitration of cases and won a promise that it would be more transparent about investigations.
Many of those involved in the protests said they suffered retaliation dlive following the walkout. Google has denied taking any action against protesting staff.
Google's internal policies and the way it handles staff relations lobbyist were exposed to scrutiny in 2017 following Dlive its treatment of engineer James Damore.
Mr Damore wrote a memo suggesting genetic differences between men and women explained gender imbalances in the tech world.
nd really happy that there are other oyun people enjoying this group. muhammet Thanks :)
Grateful for the update on the 8171 ehsaas program 25000 bisp initiative. Thanks for keeping us informed about these vital programs aimed at supporting those in need. https://ehsaas8171bisp.com/
ReplyDeletePlatform menulis dan berbagi artikel dengan komunitas pembaca yang luas.
ReplyDeleteJasa Web Jepara
When it comes to outdoor furniture, few materials rival the beauty, durability, and timeless appeal of teak. Known for its resistance to weather, pests, and decay, teak has become a favorite choice for garden furniture worldwide. Behind every beautifully crafted teak bench, Indonesia Furniture dining set, or lounger lies the expertise of teak garden furniture manufacturers. In this article, we will delve into the world of teak furniture production, Mebel Jepara exploring the processes, sustainability efforts, and craftsmanship that define this industry.
ReplyDeleteAakhir mein, Ehsaas Program Ka Portal gareebi khatam karne aur social welfare ko promote karne ka aik digital zariya hai. Har shakhs jo madad ka haqdaar hai, usay is portal ka faida uthana chahiye.
ReplyDelete