Skip to content

Search

Salah satu fitur utama yang diandelin banget di Malika Tools ini ya jelas fitur Search. Di sini, kamu bisa ngeintegrasiin data klien di luar sana yang punya platform beda-beda lewat tools ini. Adanya tools ini tentunya ngemudahin banget buat AI, karena tools ini bisa jadi orkestrator buat nyatuin data klien ke satu “rumah” biar AI bisa nyari data katalog dengan keyword yang lebih fleksibel dan human-like tanpa mengorbankan akurasi dan performa pencarian. Adanya tools ini juga bantu ngemudahin kita biar semua proses pencarian data klien yang format dan platform-nya macem-macem itu cuma lewat satu pintu aja. Gimana, keren kan!

Untuk saat ini, Malika Tools baru punya 2 connector untuk nyambungin ke platform tertentu, yaitu: Google Sheet dan Jubelio. Nantinya, connector-connector akan ditambah nyesuain keinginan dan kebutuhan data dari klien-klien yang makin variatif dan banyak.

How this Feature Works Under the Hood

Seperti yang udah dijelasin di bagian Understanding Malika Tools tentang apa bedanya Malika Tools yang baru (v2) dan yang lama, adalah pada perbedaan mengolah data dari third party. Pada versi sebelumnya, pencarian data yang dilakukan oleh tools langsung coba nyari item di data klien yang terletak di Google Sheet, sedangkan pada tools baru, data klien yang ada di Google Sheet dikloning dahulu ke database internal Malika, lalu pencarian beroperasi di database internal tersebut, alih-alih langsung di Google Sheet. Hal tersebut membuat tools baru secara berkala harus disinkronisasi menggunakan trigger yang disediakan di https://tools.malika.ai setiap terdapat perubahan data klien yang terletak di Google Sheet. Biar lebih jelas, kuy bisa cek diagram perbandingan berikut.

Alur Pencarian Tools Lama

Alur Pencarian Tools Lama

Pada alur tools yang lama, operasi pencarian cenderung straightforward, alias item yang diinginkan sama customer langsung dicari di sumbernya—Google Sheet langsung tanpa ada intermediate process di dalemnya. Dengan gitu, tools yang lama tidak perlu buat nglakuin sinkronisasi data karena emang pencariannya diselesaikan secara langsung ke data mentah klien.

Alur Pencarian Tools Baru

Alur Pencarian Tools Baru

Beda dengan alur tools yang baru (Malika Tools v2), di mana pencarian data tidak langsung ke data mentah klien yang ada di Google Sheet (atau sumber lain), tapi dikloning dulu ke database internal Malika lalu pencarian dijalanin di dalem database internal itu.

Proses Sinkronisasi Data Tools Baru

Proses Sinkronisasi Data Tools Baru

Karena ada duplikasi data hasil kloning, yaitu di data mentah klien (Google Sheet) dan data kloningan (database internal), maka perlu banget untuk sinkronisasi data setiap kali ada perubahan di data mentah klien yang ada di Google Sheet agar item yang dicari tools tetap relevan.

Just.. Why?

Mungkin kalian mikir gini…

Ngapain repot2 harus clone ke database dulu? bukannya malah jadi repot?

Yak betul, mimin personally setuju. Di salah satu aspek, alur di tools baru akan menyebabkan redundansi data karena perlu dilakuin kloning data setiap kali data asal klien berubah. Ini bakal lumayan PR kalo data yang dikloning terlalu gede sampai-sampai bikin server lambat.

Tapi, implementasi kayak gini nyelesein beberapa stuck yang gak bisa diselesein di tools sebelumnya, yakni:

  1. Pencarian dilakuin di database internal Malika alih-alih langsung di Google Sheet, yang mana pake PostgreSQL buat basis datanya. PostgreSQL memungkinkan operasi CRUD (Create Read Update Delete) yang JAUH lebih kencang daripada pencarian langsung ke Google Sheet menggunakan API.
  2. PostgreSQL saat ini nyediain ekstensi terkait algoritma pencarian yang sangat beragam tanpa ngorbanin performa yang jadiin dia super fleksibel. Dia bisa nglakuin exact search (istilah kerennya Full-Text Search atau FTS) bersamaan dengan fuzzy. Selain itu, penggunakan PostgreSQL juga sekalian digunain buat database utama untuk menyimpan konfigurasi atau data internal terkait aplikasi Malika Tools.
  3. Karena lebih kenceng, penggunaan database ini otomatis jadi ningkatan RPS (request per second) yang punya tujuan utama untuk ningkatin keandalan Malika Tools kalau-kalau kliennya makin banyak dan akses tools-nya bebarengan.

Oke, karena udah tau gimana cara kerja si Malika Tools spesifik buat fitur ini, maka bisa disimpulin kalo sinkronisasi data setiap setelah data asli dari klien diubah itu WAJIB HUKUMNYA. Biar ngemudahin kalian para trainer buat ngesinkronin data klien yang ganti-ganti mulu, kalian bisa ngasih url Trigger Sinkronisasi (dibahas setelah ini) yang bisa dikasihin ke klien. Dengan gitu, klien bisa ngesinkronin secara mandiri tiap kali mereka ngubah data mereka masing-masing.

Google Sheet

Platform pertama yang bisa disambungin sama si Malika Tools yaitu jelas Google Sheet, berikut adalah panduan-panduan biar kamu ngerti gimana sih cara pake fitur ini. Cekidot!

Data Preparation

Di bagian ini, kamu harus nyiapin format data Google Sheet yang bener biar bisa dibaca si Malika Tools

1. Clean table format

Format tabel harus simpel. 1 worksheet untuk 1 tabel dengan 1 baris header dan n baris untuk data, that’s it. Merge cells, banyak tabel kecil dalam satu worksheet, baris pembatas, dll tidak bisa ditolerir.

Apabila memungkinkan, gabung beberapa tabel yang relevan menjadi 1 tabel besar di dalam 1 worksheet. Apabila tidak, maka dipisahkan dengan worksheet yang berbeda.

Penamaan header tabel juga diusahakan normal atau hindari karakter-karakter aneh seperti @, $, %, dll. Spasi diperbolehkan.

1.1 Table must starts from top left (or A1 cell)

Tabel tidak boleh mulai dari tengah-tengah, ataupun bergeser dari pojok kiri atas even satu cell-pun

2. Unique ID is mandatory

Buat 1 kolom baru di sebelah paling kiri untuk dijadikan ID dari setiap baris pada data. Penamaan header bebas, boleh ID, boleh PK, boleh yang lain. ID yang dipakai harus angka!

3. No dangling spreadsheet item which located at somewhere

Pastiin tidak ada value yang keluar dari cell yang dah didefinisiin di tabel. Pastiin juga setiap sheet bersih hanya data dari tabel saja

Gambar harus berupa link dengan akhiran format .jpg, .jpeg, .png, dll (contoh: https://www.todayifoundout.com/wp-content/uploads/2017/11/rick-astley.png). Sebaiknya jangan gunakan link gambar yang disimpan di Google Drive, karena tidak terdapat akhiran format gambar seperti .png, yang menyebabkan gambar tidak bisa tertampil di live chat atau connected platform yang lain.

5. Publicly accessed or private + service account

Agar Malika Tools bisa baca data-data yang disimpan di Google Sheet, kamu harus memilih 1 dari 2 langkah yang bisa diambil:

  1. Buat Google Sheet klien bisa diakses publik dan buat semua orang yang mengakses memiliki role Editor
  2. Google Sheet tetap dibuat privat, tapi jangan lupa untuk menambahkan Google Service Account (GSA) dari Malika. Alamat email service account dapat dilihat pada https://tools.malika.ai pada sidebar menu Settings > General (biasanya berformat xx@xx.iam.gserviceaccount.com)

Akses Google Sheet

Akses Google Sheet

6. Spreadsheet format, not XLSX

Pastiin format yang dipakai adalah Spreadsheet, bukan XLSX. Biasanya, tulisan “XLSX” tampak di samping kanan nama Google Sheet, yang mana hal tersebut tidak ada apabila formatnya sudah benar.

Format XLSX

Format XLSX

Buatlah worksheet baru dan lakukan IMPORTRANGE data asli, lalu ubah data agar sesuai format di atas biar ga ngubah data asli milik klien

Clone and Create New Profile/Webhook

Setelah data Google Sheet dah dibuat format sesuai dengan yang udah dibahas di Data Preparation, kamu bisa mulai gabungin data Google Sheet ke Malika Tools dengan membuat profile Google Sheet baru di Malika Tools. Nantinya, profile yang dibuat akan membuat webhook baru yang bisa diakses sama si Cekat AI, dengan langkah-langkah berikut:

Alur Membuat Profile Baru (Google Sheet)

Alur Membuat Profile Baru (Google Sheet)

  1. Buka https://tools.malika.ai lalu navigasi ke Tools > Search
  2. Klik tombol “Tambah Connector” di sebelah kanan
  3. Pilih Google Sheet untuk profil yang akan dibuat
  4. Isi parameter Nama Profil (a), Deskripsi Profil (b), dan URL Google Sheet (c). Pastikan URL Google Sheet adalah link yang valid agar tidak error. Apabila valid, maka klik tombol “Dapatkan URL” (d) untuk mendapatkan informasi worksheet dan kolom dari data Google Sheet
  1. Pilih worksheet yang ingin diintegrasi dan search group yang relevan. Search group adalah kolom-kolom mana yang akan diperhitungkan selama proses pencarian berlangsung. Apabila semua sudah diisi, maka klik tombol “Tambah”
  2. Apabila berhasil, maka akan muncul pesan notifikasi sukses di bagian atas Malika Tools

Profil yang dibuat tersebut di balik layar sebenernya ngebuat webhook untuk data yang dah berhasil kamu tambah. So, kamu bisa daftarin webhook itu di tools-nya Cekat AI bagian Integrations.

Register the Newly Created Webhook to Cekat AI

Setelah udah buat profil baru (berupa webhook) untuk Google Sheet di Malika Tools yang dah dibahas di Clone and Create New Profile/Webhook, kamu bisa daftarin profil baru itu di tools Cekat AI di menu Integrations milik AI Agent.

Alur Mendaftarkan Webhook Malika Tools ke Cekat AI

Alur Mendaftarkan Webhook Malika Tools ke Cekat AI

  1. Buka profil yang sudah dibuat tadi
  2. Klik tombol “Salin ke Clipboard”
  3. Pastikan terdapat notifikasi bahwa proses copy berhasil
  4. Tambahkan tools baru di Cekat AI, lalu isi input yang tersedia
    a. Name ➡️ Bebas
    b. HTTP Method ➡️ Pilih POST
    c. Description ➡️ Buat deskripsi tentang kapan tools yang dibuat akan di-trigger oleh si AI melalui percakapan dengan customer. Better to use english instead
    d. Webhook Address ➡️ Isi dengan URL yang sudah di-copy dari Malika Tools
    e. Max Tool Calls ➡️ Buat yang lebih banyak dari 30, misal 99999
  5. Isi AI Inputs dengan data input webhook yang nilai kita mau dinamis ditentuin dari AI-nya
    a. Name ➡️ query
    b. Type ➡️ Text
    c. Description ➡️ Sebenernya bebas, tapi better diisi seperti yang di gambar dengan konteks Example yang disesuaiin. Format keyword pencarian dari query dapat dilihat di Delve More about Search feature
  6. Isi Additional Payload dengan data input webhook yang nilainya cukup dengan nilai statis
    a. limit (Wajib) dan fallback_fts (Opsional) b. Klik tombol “Create Tool” untuk membuat tools baru di Cekat AI

Delve More about Search feature

Apabila kalian membuat profil baru di Malika Tools, yang terjadi sebenarnya adalah Malika Tools membuatkan sebuah webhook API agar bisa dipanggil oleh tools yang ada di Cekat AI. Seperti pada webhook biasanya, webhook yang dibuat sama si Malika Tools ini memiliki dua nilai penting:

  1. URL Address ➡️ berfungsi sebagai “alamat” yang diberikan Cekat AI spesifik untuk tools tersebut. Biasnya berisi URL dengan isi seperti https://tools.malika.ai/api/search/nama-profile
  2. Request Body ➡️ Input yang dibutuhkan webhook untuk memproses pencarian. Input ini nantinya didaftarkan di tools Cekat AI pada segmen AI Inputs dan Additional Payload.

Request body yang tersedia untuk webhook pada fitur Search ini ada 4, di mana 2 wajib dan 2 lainnya opsional.

1. query (Wajib)

Berisi keyword pencarian untuk mendapatkan item tertentu yang relevan. Pencarian akan mencari berdasar kolom-kolom yang ter-include di search group. Punya format khusus buat nyari data biar lebih fleksibel sebagai berikut.

  • Apit keyword yang memiliki lebih dari dua kata pake tanda petik satu '' , misal 'kombed 30s'
  • Pisahin setiap keyword pencarian pake spasi untuk pencarian yang lebih spesifik (logika AND), misal tunik XL 'kombed 30s' maka akan menghasilkan semua data baju berbahan Kombed 30s, tipe Tunik, dengan ukuran XL
  • Pisahin setiap keyword pencarian pake or untuk pencarian dengan kondisi OR, misal tunik XL or tunik S maka akan menghasilkan semua data baju Tunik untuk ukuran XL atau S
  • Kasih tanda strip - persis sebelum keyword untuk mengecualikan keyword tersebut dalam pencarian, misal tunik -L -M maka menghasilkan semua daat baju Tunik, tapi selain ukuran L dan M
2. limit (Wajib)

Nilai limit adalah jumlah data maksimum yang dikembaliin si Malika Tools ke Cekat AI. Di tools sebelumnya, variabel limit bernama num_data.

3. fallback_fts (Opsional, default-nya true)

Algoritma pencarian yang digunakan di Malika Tools versi baru ini pakai dua jenis: pencarian exact menggunakan FTS (Full-Text Search) dan pencarian fuzzy. Pencarian exact akan mencari data secara eksak, alias apabila query yang diberikan tidak ada yang match dengan data, maka hasilnya akan kosong, yang mana berbeda dengan fuzzy di mana akan tetap dikembalikan hasilnya dengan mengurutkan nilai similarity dari query yang diberikan.

By default, algoritma yang digunakan adalah exact atau FTS. Apabila hasil tidak ada yang match, maka akan di-fallback atau di-backup menggunakan algoritma fuzzy agar tetap mendapatkan hasil yang paling dekat. Jika fallback_fts dimatikan (atau dibuat false), maka pencarian akan lebih strict dan terdapat kemungkinan menghasilkan nilai kosong.

4. sort_by (Opsional, default-nya kolom pertama dari tabel)

Digunakan untuk menentukan data yang ditampilkan akan diurutkan berdasarkan kolom apa. Usahakan nama kolom ditulis persis—tanpa typo dengan yang ada di Google Sheet milik klien.

5. order (Opsional, default-nya asc)

Biasanya kerja bareng sort_by, apakah diurutkan dalam urutan menaik/ascending (asc) atau menurun/descending (desc)

Biar gak bingung, mimin kasih contoh salah satu klien yang pake semua inputnya, yang mana input query dibuat di AI Inputs, sedangkan sisanya dibuat di Additional Payload.

Contoh Input yang Bisa Dipakai Webhook

Contoh Input yang Bisa Dipakai Webhook

Data Syncing

Seperti yang udah dijelasin, mekanisme Malika Tools yang baru ini adalah melakukan kloning data mentah klien ke database internal Malika, lalu proses pencarian yang dilakuin di Cekat akan ditembak langsung ke database internal Malika alih-alih langsung ke data mentah klien. Untuk itu, WAJIB HUKUMNYA melakukan proses sinkronisasi data di Malika Tools untuk mendapatkan data yang selalu update dari data asli klien.

Terdapat dua cara untuk melakukan ini, yaitu secara langsung di dalam dashboard https://tools.malika.ai atau menggunakan trigger eksternal milik https://tools.malika.ai

Perbandingan Metoed Sinkronisasi Data

Perbandingan Metoed Sinkronisasi Data

1. Directly from dashboard

Kamu bisa melakukan sinkron menggunakan tombol “Sinkronisasi Data” di bawah saat membuka salah satu profil di Malika Tools

Sinkronisasi via Dashboard

Sinkronisasi via Dashboard

Untuk melihat apakah proses sinkronisasi berhasil atau tidak, coba refresh web browser kamu dan lihat tulisan “Last sync: xxx” di bawah nama profil apakah sudah berganti atau belum.

Informasi Tanggal Sinkronisasi Terakhir

Informasi Tanggal Sinkronisasi Terakhir

2. Using external trigger created from dashboard

Kamu bisa klik tombol “Salin Trigger Sinkronisasi” lalu kamu bakal ndapetin link URL baru. Setelah itu paste link tersebut di web browser dan kamu akan melihat tampilan kurang lebih seperti di bawah.

Trigger Sinkronisasi Eksternal

Trigger Sinkronisasi Eksternal

Klik tombol “Sinkronisasi Data” dan semuanya sama persis seperti saat sinkronisasi langsung di dashboard.

What’s the Difference Between those Two?

Secara algoritma sinkronisasi sama aja, tapi sinkronisasi via dashboard harus memerlukan login terlebih dahulu. Hal tersebut gak ada di trigger eksternal, yang mana bisa secara publik diakses oleh klien. Dengan begitu, klien dapat bisa secara partisipatif ikut ngesinkronin data mereka sendiri ketika ada perubahan.

Search Playground

Kamu juga bisa ngetes apakah Search-nya bekerja dengan baik atau tidak di bagian Search Playground. Format-format yang sudah dijelaskan di Delve More about Search feature juga berlaku di sini.

Search Playground Malika Tools

Search Playground Malika Tools

Kamu juga bisa melakukan tes pencarian data langsung dari Cekat AI melalui tools di menu Integration

Search Playground Cekat AI

Search Playground Cekat AI

Update and Delete

Kamu juga bisa mengubah informasi mengenai profil seperti nama, deskripsi, worksheet, atau search group dengan menekan tombol “Edit”. Di sini, kamu bisa mengganti nama dan deskripsi secara bebas tanpa harus ada character restriction, misal Katalog Malika AI (v2).

Apabila tidak digunakan, kamu bisa menghapus profil dengan menekan tombol “Hapus” disamping tombol “Edit”

Add Row

On Development, Coming Soon ⚠️

Jubelio

Selain connector ke platform Google Sheet, Malika Tools juga nyediain connector ke platform Jubelio juga lho! Untuk saat ini, connector ini sudah bisa meng-cover fitur pencarian data yang disimpan di Jubelio

Credentials Preparation

Persiapan pertama sebelum memulai semuanya adalah kamu harus tanya klien apakah berkenan untuk membuatkan user baru dengan email punya Malika. Kalau mereka berkenan, simpan email dan password di tempat yang aman dulu ya.

Clone and Create New Profile/Webhook

Langkahnya kurang lebih mirip sama pas ngebuat profil webhook untuk Google Sheet, tapi ada sedikit perbedaan sebagai berikut.

Alur Membuat Profile Baru (Jubelio)

Alur Membuat Profile Baru (Jubelio)

  1. Memilih tipe Jubelio saat menekan tombol “Tambah Connector”
  2. Isi Email Jubelio (a) dan Password Jubelio (b) dari kredensial yang diberi klien, lalu diikuti dengan Nama Profil (c), Deskripsi Profil (d), dan Search Group (e)
  3. Pesan notifikasi akan muncul apabila proses penambahan berhasil

Register the Newly Created Webhook to Cekat AI

Caranya sama persis dengan sebelumnya. Lihat Register the Newly Created Webhook to Cekat AI (Google Sheet).

Bedanya, tambahkan Additional Payload connector dengan value jubelio, yang dah dicontohin seperti gambar di bawah.

Connector Jubelio

Connector Jubelio

Data Syncing

Caranya sama persis dengan sebelumnya. Lihat Data Syncing (Google Sheet)

Search Playground

Caranya sama persis dengan sebelumnya. Lihat Search Playground (Google Sheet)

Update and Delete

Caranya sama persis dengan sebelumnya. Lihat Update and Delete (Google Sheet)

Another Third Parties

Untuk saat ini, connector yang bisa di-support oleh Malika Tools baru dua: Google Sheet dan Jubelio. Kian hari, Malika Tools v2 akan terus dikembangkan biar bisa support sama banyak platform, seperti Accurate, Shopify, dan lain sebagainya.

Tools lebih beringas, jualan makin gassss, trainer tinggal kipas-kipas, letsgooo~ 🔥