Keterampilan Kotak: Potongan Puzzle + Tutorial

Dec 15 2022
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 menyelami cara mengatur Keterampilan Kotak, saya ingin memberikan gambaran umum tentang apa itu dan bagian apa yang menyelesaikan penerapan Keterampilan Kotak.

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.

Peta Infrastruktur Keterampilan Kotak
  1. Alur dipicu dari file denah lantai yang diunggah , dipindahkan , atau disalin ke dalam folder yang dikonfigurasi untuk Keterampilan Kotak.
  2. 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.
  3. 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.

Laman Landas Konsol Pengembang

Pilih Kotak Keahlian Khusus.

Layar Pemilihan Aplikasi Konsol Pengembang

Beri nama aplikasi, dan klik Buat Aplikasi.

Pop-Up Penciptaan Keterampilan Kotak

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.

Layar Konfigurasi Keterampilan Kotak

Di tab kunci keamanan, Anda akan menemukan dua kunci yang dapat digunakan untuk memverifikasi bahwa Box adalah layanan yang disebut fungsi tanpa server.

Kunci Keamanan Keterampilan Kotak

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.

Buat folder Kotak

Di layar Konsol Admin Keterampilan , klik Tambahkan Keterampilan.

Layar Konsol Admin Keterampilan Kotak

Masukkan ID Klien Keterampilan, dan klik Berikutnya.

Tambahkan Box Skill Pop-Up

Pilih apakah keterampilan harus dijalankan untuk semua konten atau sebagian folder.

Layar Konfigurasi Folder Keterampilan Kotak

Untuk (a) folder tertentu, filter pop-up berdasarkan nama pengguna atau folder. Periksa folder tempat Skill harus dipicu.

Pop-Up Pemilihan Folder Keterampilan Kotak

Konfirmasikan pilihan, dan klik Aktifkan.

Layar Konfirmasi Keterampilan Kotak

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.

Layar Templat Metadata Konsol Admin

Konfigurasikan template metadata dengan memberinya nama, menambahkan atribut — yang masing-masing harus memiliki nama, format, dan deskripsi, dan mengklik Simpan.

Langkah-langkah Penyiapan Template Metadata

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.

Proyek Quickstart Keterampilan Kotak

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 zip folder yang diunduh

Buka folder di editor kode seperti Visual Studio Code .

Buka folder contoh yang diubah namanya dan dipindahkan

Di terminal editor, pastikan Anda memiliki Node v10.0.0 atau lebih tinggi.

Periksa versi node

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.

Seret file kunci JSON Anda dari GCP

Ubah nama file menjadi serverless.json.

Ubah nama file JSON 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.

Salin dan tempel kunci ke file serverless.yml di atas

Di terminal, jalankan npm install.

Jalankan instalasi npm

Lalu, lari npx serverless deploy.

Jalankan penerapan tanpa server npx

Penerapan dapat memakan waktu beberapa menit, terutama saat pertama kali. Setelah selesai, Anda akan mendapatkan kembali URL permintaan.

penyebaran sls selesai

Salin dan tempel itu ke dalam aplikasi konsol pengembang yang Anda buat sebelumnya.

Tambahkan url doa ke Keterampilan Kotak

Kunjungi konsol GCP untuk melihat apakah fungsi tanpa server Anda aktif.

Verifikasi bahwa fungsi tanpa server diterapkan

Anda juga perlu menambahkan izin tambahan ke fungsi tersebut agar Box dapat memanggilnya. Klik izin > tambahkan.

Konfigurasi Izin Fungsi Tanpa Server GCP

Ketik "allUsers" di kotak prinsipal baru dengan peran yang dipilih dari Cloud Functions Invoker. Klik Simpan.

Fungsi Tanpa Server GCP menambahkan izin utama

Unggah file ke folder Box yang dikonfigurasi oleh administrator.

Unggah file

Buka file di Box untuk melihat pesan "Hello World" terlampir sebagai metadata.

Metadata khusus dapat dilihat di sudut kanan atas

Anda juga dapat memeriksa log di fungsi tanpa server untuk verifikasi.

Anda dapat melihat badan peristiwa dicatat dari kode yang kami gunakan sebelumnya

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.

Cobalah! Bagian

Perhatikan teks OCR dan tab JSON. Dalam respons JSON Anda dapat melihat kolom teks. Di sinilah data teks OCR ditempatkan untuk Anda parse.

Teks OCR Diidentifikasi
Tanggapan JSON

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.

Aktifkan Document AI API

Buka halaman prosesor dan klik Jelajahi Prosesor.

Halaman Prosesor GCP

Pilih jenis prosesor dokumen OCR.

Beri nama prosesor di jendela pop-up samping dan klik Buat.

Buat Pop-up Prosesor

Temukan titik akhir prediksi untuk prosesor. Inilah yang akan kita gunakan untuk mendapatkan informasi tentang denah lantai setelah kita mengedit kode kita.

Prosesor Dibuat

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.

Unggah File

Klik file yang diunggah dan lihat bahwa metadata telah diterapkan ke file.

Metadata Ditambahkan 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.

Pencarian Templat Metadata

File apa pun yang cocok dengan kriteria akan dikembalikan.

Hasil Pencarian Template Metadata

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.