Keterampilan Kotak: Potongan Puzzle + Tutorial
Keterampilan Kotak diperkenalkan pada tahun 2017, dan sejak saat itu, lebih dari 1000 keterampilan telah digunakan di berbagai industri untuk menghadirkan kecerdasan pada konten Kotak. Seberapa mudah untuk menyiapkan keterampilan? Di blog ini, saya akan menunjukkan kepada Anda!
Penyegaran Keterampilan Kotak
Sebelum mendalami cara mengatur Keterampilan Kotak, saya ingin memberikan gambaran umum tentang apa itu dan bagian apa yang melengkapi penerapan Keterampilan Kotak.
Jika Anda merujuk ke bagian pola arsitektur situs pengembang kami , diagram di bawah ini akan muncul. Ini mewakili contoh klasik Keterampilan Kotak — dalam hal ini, solusi identifikasi denah lantai.
- Alur dipicu dari file denah lantai yang diunggah , dipindahkan , atau disalin ke dalam folder yang dikonfigurasi untuk Keterampilan Kotak.
- File dikirim ke Google Cloud Function melalui URL pemanggilan yang disiapkan di langkah- langkah konfigurasi Keterampilan Kotak . Semua penyedia cloud yang menawarkan fungsi tanpa server dapat digunakan, meskipun kami menunjukkan GCP dalam tutorial ini.
- Fungsi menjalankan kode tertulis khusus untuk mem-parsing muatan Box Skill , memverifikasi kunci keamanan , mengunduh salinan lokal file , mengirim file ke penyedia pembelajaran mesin — juga GCP dalam contoh ini, dan menulis kembali metadata yang ditemukan oleh layanan pembelajaran mesin ke file asli di Box.
Bagian kedua dan ketiga tidak dilisensikan atau ditagih melalui Box Platform, dan karena itu, biasanya memerlukan kerja melalui tim penjualan dan pengaktifan layanan tertentu— mereka tidak harus menjadi penyedia yang sama. Misalnya, Anda dapat memiliki panggilan Fungsi Azure IBM Watson .
Kotak memberikan nilai dalam aliran, karena tindakan awal konten memicu proses untuk dimulai. Hal ini membuat pengembang tidak dapat memigrasikan atau menduplikasi konten untuk mengumpulkan wawasan. Selain itu, alur diakhiri dengan metadata yang dapat ditelusuri langsung di dalam platform dalam hitungan detik, memungkinkan pengguna untuk melihat informasi yang mereka butuhkan dengan lebih cepat.
Dalam demo di bawah ini, saya akan menunjukkan cara menyiapkan alur pada diagram di atas. Pada akhirnya, saya berharap dapat mengunggah denah lantai dan dapat memiliki jumlah kamar tidur di denah lantai yang ditulis kembali sebagai metadata pada file. Dengan begitu saya bisa mencari semua denah dengan jumlah kamar tidur tertentu di masa depan.
Mari lompat ke tutorialnya!
Pengaturan Administratif Keterampilan Kotak
Buat akun pengembang Box (opsional tetapi disarankan)
Jika Anda tidak memiliki akun perusahaan Box, Anda dapat mendaftar untuk mendapatkan akun pengembang gratis di sini . Saya sarankan menggunakan akun pengembang untuk tutorial daripada menggunakan lingkungan produksi Anda.
Harap perhatikan bahwa Anda tidak dapat menggunakan alamat email yang sama saat mendaftar karena pembatasan memiliki alamat email unik di semua Box.
Buat Keterampilan Kotak (diselesaikan oleh pengembang)
Arahkan ke Konsol Pengembang , dan klik Buat Aplikasi Baru.
Pilih Kotak Keahlian Khusus.
Beri nama aplikasi, dan klik Buat Aplikasi.
Setelah membuat aplikasi, Anda akan melihat layar di bawah ini. Kotak merah adalah tempat Anda akan meletakkan URL di mana Anda ingin membawa muatan Keterampilan Kotak . Kami akan menambahkan URL ini nanti.
Di tab kunci keamanan, Anda akan menemukan dua kunci yang dapat digunakan untuk memverifikasi bahwa Box adalah layanan yang disebut fungsi tanpa server.
Aktifkan/Otorisasi Keterampilan Kotak (diselesaikan oleh admin)
Sama seperti jenis aplikasi lainnya, administrator instans Box Anda harus mengaktifkan dan mengotorisasi Skill Box di bagian skill di konsol admin. Anda harus memberikan id klien aplikasi kepada admin, yang ditemukan di layar konfigurasi Box Skill.
Anda juga perlu memberikan nama folder/pemilik konten yang ingin dipicu oleh Skill. Jika Anda belum menyiapkan folder untuk dipantau Skill, Anda harus melakukannya sebelum meminta otorisasi dari admin Anda.
Di layar Konsol Admin Keterampilan , klik Tambahkan Keterampilan.
Masukkan ID Klien Keterampilan, dan klik Berikutnya.
Pilih apakah keterampilan harus dijalankan untuk semua konten atau sebagian folder.
Untuk (a) folder tertentu, filter pop-up berdasarkan nama pengguna atau folder. Periksa folder tempat Skill harus dipicu.
Konfirmasikan pilihan, dan klik Aktifkan.
Buat Templat Metadata Kotak (opsional — diselesaikan oleh admin)
Langkah ini opsional, karena metadata atau data keterampilan dapat ditulis ke file tanpa template; namun, membuat template metadata akan memungkinkan pengguna mencari dengan mudah berdasarkan hasil pembelajaran mesin yang diberikan.
Di Konsol Admin, klik Konten > Metadata > Buat Baru.
Konfigurasikan template metadata dengan memberinya nama, menambahkan atribut — yang masing-masing harus memiliki nama, format, dan deskripsi, dan mengklik Simpan.
Penyiapan Fungsi Tanpa Server
Contoh ini akan menggunakan repositori pemula Keterampilan Kustom Kotak Tanpa Server kami untuk mempercepat pengembangan.
Klik tautan di atas dan unduh repositori ke komputer Anda.
Buka zip folder yang diunduh. Temukan folder box-custom-skills-starter-gcp di dalam repositori yang diunduh dan ganti namanya menjadi sesuatu yang cocok dengan kasus penggunaan Anda. Juga, jangan ragu untuk memindahkan folder ke direktori proyek biasa Anda. Jika Anda lebih suka menggunakan AWS atau Azure, Anda akan menemukan direktori hello world di folder zip yang sama.
Buka folder di editor kode seperti Visual Studio Code .
Di terminal editor, pastikan Anda memiliki Node v10.0.0 atau lebih tinggi.
Sebelum melanjutkan, Anda harus menyiapkan akun GCP dengan lampiran metode penagihan. Saya tidak akan membahas semua langkah tersebut di sini, tetapi Anda dapat menemukan langkah-langkahnya di situs web Tanpa Server . Pastikan untuk menyelesaikan semua langkah termasuk membuat proyek + mengaktifkan API , membuat akun layanan, dan mengunduh file kunci JSON .
Seret file kunci JSON yang diunduh dari langkah di atas ke dalam folder .gcloud.
Ubah nama file menjadi serverless.json.
Perbarui file package.json untuk mendapatkan informasi penamaan untuk kasus penggunaan Anda.
Perbarui file serverless.yml untuk mendapatkan informasi konfigurasi dan penamaan akun GCP dan kasus penggunaan Anda. Juga, pastikan untuk menambahkan kunci keamanan Kotak yang ditunjukkan pada layar di bawah ini.
Kunci primer dan sekunder Box berasal dari bagian kunci keamanan konsol pengembang yang saya sebutkan beberapa bagian di atas. Penting untuk menggunakan kunci ini untuk memastikan hanya Box yang dapat menjalankan kode fungsi tanpa server.
Di terminal, jalankan npm install.
Lalu, lari npx serverless deploy.
Penerapan dapat memakan waktu beberapa menit, terutama saat pertama kali. Setelah selesai, Anda akan mendapatkan kembali URL permintaan.
Salin dan tempel itu ke dalam aplikasi konsol pengembang yang Anda buat sebelumnya.
Kunjungi konsol GCP untuk melihat apakah fungsi tanpa server Anda aktif.
Anda juga perlu menambahkan izin tambahan ke fungsi tersebut agar Box dapat memanggilnya. Klik izin > tambahkan.
Ketik "allUsers" di kotak prinsipal baru dengan peran yang dipilih dari Cloud Functions Invoker. Klik Simpan.
Unggah file ke folder Box yang dikonfigurasi oleh administrator.
Buka file di Box untuk melihat pesan "Hello World" terlampir sebagai metadata.
Anda juga dapat memeriksa log di fungsi tanpa server untuk verifikasi.
Penyiapan AI Dokumen GCP
Sekarang setelah Keterampilan Kotak dan fungsi tanpa server berfungsi, bagian terakhir adalah menyiapkan penyedia pembelajaran mesin dan mengedit kode kita untuk menggunakannya. Dokumen AI Google sangat cocok untuk kasus penggunaan ini, karena akan menarik teks OCR dari denah lantai yang diunggah tanpa perlu melatih model pembelajaran mesin khusus. Kami dapat mengirim teks yang ditemukannya kembali ke penyiapan fungsi tanpa server di atas, mengurai hasilnya, dan menerapkannya kembali ke file sebagai metadata yang dapat dicari.
Sebelum melompat ke langkah-langkah penyiapan, kunjungi bagian coba-coba untuk melihat respons umum yang akan Anda terima.
Perhatikan teks OCR dan tab JSON. Dalam respons JSON Anda dapat melihat kolom teks. Di sinilah data teks OCR ditempatkan untuk Anda parse.
Kita akan menggunakan bagian cara memandu dari dokumentasi AI Dokumen untuk mengonfigurasi api untuk proyek GCP yang dibuat sebelumnya. Ketahuilah bahwa kita tidak perlu menyiapkan akun layanan lain atau mengunduh file kunci JSON baru, karena kita sudah melakukannya di postingan blog sebelumnya.
Aktifkan AI Dokumen dengan mengklik di sini dan mengaktifkannya untuk proyek GCP yang telah kita siapkan sebelumnya dalam tutorial ini.
Buka halaman prosesor dan klik Jelajahi Prosesor.
Pilih jenis prosesor dokumen OCR.
Beri nama prosesor di jendela pop-up samping dan klik Buat.
Temukan titik akhir prediksi untuk prosesor. Inilah yang akan kita gunakan untuk mendapatkan informasi tentang denah lantai setelah kita mengedit kode kita.
Sekarang, kita akan mengedit kode untuk menggunakan api baru ini.
Di terminal, jalankan yang berikut ini:
npm install axios @google-cloud/documentai
Di file serverless.yml, kita perlu menambahkan beberapa variabel lagi: gcp_project_id, gcp_location, gcp_processor_id, box_metadata_key, box_api_endpoint, dan bedroom_list. Anda dapat menemukan bagian baru untuk disalin di bawah ini.
ID proyek, lokasi, dan id prosesor berasal dari konfigurasi GCP yang kita lakukan sebelumnya. Menambahkannya sebagai variabel sekarang memungkinkan kita untuk mengaksesnya dalam kode dan mengubahnya di masa mendatang tanpa mengedit kode.
Kunci metadata adalah kunci untuk templat metadata yang kami siapkan sebelumnya. Anda dapat menemukannya di konsol admin di bawah content > metadata.
Daftar kamar tidur adalah string yang dipisahkan koma dari semua nama yang disebut denah lantai kamar tidur. Ini akan membantu kami mengurai tes OCR menjadi bilangan bulat yang dapat dicari. Untuk daftar ini dan lainnya — kamar mandi, serambi, dll — tidak boleh ada spasi di antara istilah-istilah tersebut.
Ini semua akan lebih masuk akal setelah kita mengubah file index.js.
Untuk index.js, kita perlu membuat beberapa perubahan. Untuk lebih mudahnya ada contoh lengkap file index.js yang sudah jadi di repo yang sudah anda download tadi yang bisa anda copy. Ini disebut index_reference.js. Perlu diingat bahwa ini hanyalah sebuah contoh. Anda dapat menggunakan ini untuk memperluas fungsionalitas tergantung pada kasus penggunaan dunia nyata Anda. Anda akan melihat komentar di atas kode di bawah yang menjelaskan apa yang dilakukan setiap bagian.
Cukup salin/tempel file index_reference.js dan ganti konten file index.js.
Sekarang, kamu bisa lari npx serverless deploydan kita bisa menggunakan skillnya!
Menggunakan Keterampilan Kotak
Pada titik ini, semua bagian agar Keterampilan Kotak berfungsi telah disiapkan: pembuatan Keterampilan Kotak, otorisasi Keterampilan Kotak, pembuatan template metadata, dan penyiapan fungsi/pembelajaran mesin tanpa server. Kami sekarang dapat menggunakan skill untuk kasus penggunaan kami yang sebenarnya!
Unggah file ke folder Box yang dikonfigurasi oleh administrator.
Klik file yang diunggah dan lihat bahwa metadata telah diterapkan ke file.
Box membutuhkan waktu sekitar sepuluh menit untuk mengindeks metadata. Setelah itu, metadata dapat digunakan sebagai kriteria pencarian konten di dalam aplikasi web Box.
Klik bilah pencarian > Metadata > Pilih template dari dropdown > ketik kriteria pencarian > tekan Enter.
File apa pun yang cocok dengan kriteria akan dikembalikan.
Tutorial Keterampilan Kotak Selesai
Dalam posting blog ini, saya telah menunjukkan bagaimana Anda dapat menggunakan beberapa kode boilerplate sederhana dan API pembelajaran mesin yang tidak biasa untuk mengumpulkan dan menggunakan data berharga dalam konten yang disimpan di Box.
Dalam tutorial ini kami menggunakan denah lantai, tetapi Anda dapat menggunakan dokumen apa pun yang Anda inginkan — resume, faktur, aplikasi, dll. Kemungkinannya tidak terbatas karena banyaknya API pembelajaran mesin yang siap digunakan di luar sana. Plus — seperti yang bisa Anda lihat dari tutorial, menyiapkan alurnya tidak terlalu sulit!
Terima kasih banyak untuk Marley !
Kami harap Anda menikmati tutorial ini, dan jangan ragu untuk menghubungi kami di forum pengembang untuk mendapatkan dukungan, atau melalui Box Pulse untuk memberikan saran tentang cara meningkatkan Keterampilan Box.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































