Upgrade penelusuran situs Anda: Jawaban kontekstual dengan AI generatif

AI Generatif mengacu pada penggunaan kecerdasan buatan untuk membuat konten baru, seperti teks, gambar, musik, audio, dan video. AI generatif mengandalkan model machine learning (ML) untuk mempelajari pola dan hubungan dalam set data konten buatan manusia.

Teknologi ini telah menunjukkan kemampuan yang luar biasa, melalui aplikasi seperti Gemini. Anda mungkin bertanya-tanya, bagaimana cara menerapkan alat AI generatif ke dalam produk web saya?

Salah satu kasus penggunaan umum adalah memberikan antarmuka yang lebih baik kepada pengguna untuk mengajukan pertanyaan tentang konten situs. Anda dapat meningkatkan hasil penelusuran pengguna secara signifikan, dengan bantuan machine learning.

Anda dapat membuat antarmuka tempat pengguna menulis pertanyaan mereka, yang kemudian dikirim ke model bahasa besar (LLM), seperti Gemini, lalu menampilkan jawaban kepada pengguna.

Misalkan fitur tersebut ada di situs ini. Pengguna ingin mengetahui API mana yang disertakan dalam Interop 2024, dan ia memasukkan kueri berikut:

What are the features included in Interop 24?

Sayangnya, outputnya kemungkinan akan salah, karena beberapa alasan:

  • Pengguna telah memberikan sedikit konteks untuk pertanyaan kepada LLM, sehingga LLM lebih cenderung menampilkan jawaban yang salah atau halusinasi.
  • LLM kemungkinan dilatih sebelum Interop 2024 dibuat, atau fiturnya ditentukan, sehingga tidak mengetahui informasi tersebut.

Meskipun LLM dapat menemukan informasi yang lebih baru, set data pelatihan LLM pada dasarnya sudah usang. Menjaga hasil yang baru dapat sangat memerlukan waktu dan biaya.

Menggunakan rekayasa perintah

Rekayasa perintah adalah serangkaian teknik untuk mendapatkan output terbaik dari LLM.

Salah satu tekniknya adalah memberikan konteks tambahan dalam perintah, sehingga LLM lebih cenderung menghasilkan konten yang terkait dengan konteks.

Melanjutkan contoh Interop, langkah pertama kita adalah memberikan konten artikel lengkap sebagai konteks. Kemudian, tambahkan pertanyaan sebagai input untuk LLM agar dapat menjawab. Contoh:

Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)

Input:
What are the features included in Interop 2024?

Gemini akan memberikan output seperti berikut:

The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL

Jawaban ini mungkin jauh lebih baik daripada dengan perintah tanpa konteks, karena jawaban didasarkan pada konteks yang diberikan.

Meningkatkan skala dengan RAG

Misalnya, alih-alih menjawab pertanyaan tentang satu artikel, kita ingin LLM menjawab lebih banyak pertanyaan tentang web.dev, menggunakan artikel apa pun sebagai konteks tambahan. Meskipun hal ini mungkin dapat dilakukan untuk situs yang lebih kecil, mengingat jendela konteks Gemini 1.5 yang berisi 1 juta token, perintah yang lebih besar lebih lambat dan lebih mahal untuk dijalankan.

Panjang input dan output LLM diukur dan diisi biayanya dalam token, yang merupakan cara untuk merepresentasikan urutan karakter umum yang ditemukan dalam input teks. Umumnya, jumlah token akan lebih besar dari jumlah kata. Sebagai contoh, input dalam contoh pertama memiliki 775 kata, yang diwakili oleh 1.097 token. LLM yang berbeda mungkin menghitung token secara berbeda dan sebagian besar menyediakan API atau endpoint untuk menghitung jumlah token untuk input teks.

Salah satu solusinya adalah dengan menyediakan artikel yang relevan dengan perintah LLM. Tugas ini harus memiliki dua bagian:

  1. Tambahkan konten artikel teratas sebagai konteks saat meminta LLM.
  2. Telusuri konten untuk menemukan artikel yang terkait dengan "Apa saja fitur yang disertakan dalam Interop 2024?".

Kita ingin hasil Gemini menampilkan konten berdasarkan artikel berikut:

Input akan terlihat seperti berikut:

Context:
Article 1:
Over the past two years... (trimmed)

Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)

Article 3:
Following on from the success of Interop 2022... (trimmed)

Input:
What are the features included in Interop 2024?

Konteks ini menghasilkan output yang kita harapkan.

* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL

Bagi yang sudah memahami teknik AI, pendekatan ini menggunakan RAG, praktik umum untuk meningkatkan kemungkinan jawaban yang sebenarnya dari alat AI generatif.

Meskipun teknik RAG dapat berfungsi dengan penelusuran teks lengkap reguler, ada kelemahan pada pendekatan ini.

  • Penelusuran teks lengkap membantu AI menemukan pencocokan kata kunci yang sama persis. Namun, LLM tidak dapat menentukan makna yang dimaksud di balik kueri pengguna. Hal ini dapat menyebabkan output tidak lengkap atau salah.
  • Mungkin ada masalah saat kata memiliki beberapa arti atau kueri menggunakan sinonim. Misalnya, "bank" (lembaga keuangan versus tepi sungai) dapat mengarah ke hasil yang tidak relevan.
  • Penelusuran teks lengkap dapat menampilkan hasil yang kebetulan berisi kata kunci, tetapi tidak selaras dengan tujuan pengguna.

Penelusuran semantik adalah teknik untuk meningkatkan akurasi penelusuran dengan berfokus pada aspek utama berikut:

  • Intent penelusur: Fitur ini mencoba memahami alasan pengguna menelusuri sesuatu. Apa yang mereka coba temukan atau capai?
  • Makna kontekstual: Menafsirkan kata dan frasa sehubungan dengan teks di sekitarnya, serta faktor lain seperti lokasi pengguna atau histori penelusuran.
  • Hubungan antarkonsep: Penelusuran semantik menggunakan grafik pengetahuan (jaringan besar entity terkait) dan pemrosesan bahasa alami untuk memahami cara kata dan ide terhubung.

Akibatnya, saat Anda membuat alat dengan penelusuran semantik, output penelusuran bergantung pada tujuan keseluruhan kueri, bukan kata kunci. Artinya, alat dapat menentukan dokumen yang relevan, meskipun kata kunci persisnya tidak ada. Hal ini juga dapat menghindari hasil yang berisi kata, tetapi memiliki arti yang berbeda.

Saat ini, Anda dapat menerapkan dua alat penelusuran yang menggunakan penelusuran semantik: Vertex AI Search dan Algolia AI Search.

Mengambil jawaban dari konten yang dipublikasikan

Anda telah mempelajari cara menggunakan rekayasa perintah untuk memungkinkan LLM memberikan jawaban terkait konten yang belum pernah dilihat dengan menambahkan konteks ke perintah. Selain itu, Anda telah mempelajari cara menskalakan pendekatan ini dari setiap artikel ke seluruh korpus konten menggunakan teknik Retrieval-Augmented Generation (RAG). Anda telah mempelajari bagaimana penelusuran semantik dapat lebih meningkatkan hasil untuk kueri penelusuran pengguna, menerapkan RAG dengan lebih baik ke dalam produk Anda.

Sudah menjadi masalah umum bahwa alat AI generatif dapat "berhalusinasi", yang membuatnya tidak dapat diandalkan, atau paling buruk, secara aktif membahayakan bisnis. Dengan teknik ini, pengguna dan developer dapat meningkatkan keandalan dan, mungkin, membangun kepercayaan pada output dari aplikasi ini.