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 sebuah set data yang terdiri dari 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 yang umum adalah menyediakan antarmuka yang lebih baik kepada pengguna untuk mengajukan pertanyaan tentang konten situs. Anda dapat meningkatkan hasil pencarian pengguna dengan bantuan machine learning.

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

Misalkan fitur seperti itu ada di situs ini. Seorang pengguna ingin mengetahui API mana yang disertakan dalam Interop 2024, dan mereka memasukkan kueri berikut:

What are the features included in Interop 24?

Sayangnya, outputnya kemungkinan akan salah karena beberapa alasan:

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

Meskipun LLM dapat menemukan informasi yang lebih baru, set data pelatihan LLM sudah ketinggalan zaman. Mempertahankan hasil yang segar bisa sangat memakan waktu dan mahal.

Menggunakan prompt engineering

Prompt Engineering adalah serangkaian teknik untuk mendapatkan output terbaik dari LLM.

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

Melanjutkan contoh Interop kami, langkah pertama adalah memberikan konten artikel lengkap sebagai konteks. Kemudian tambahkan pertanyaan sebagai input untuk dijawab oleh LLM. 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 dapat menghasilkan 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.

Tingkatkan 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 dilakukan untuk situs yang lebih kecil, mengingat jendela konteks Gemini 1.5 yang terdiri dari 1 juta token, perintah yang lebih besar akan lebih lambat dan lebih mahal untuk dijalankan.

Panjang input dan output LLM diukur dan diisi dayanya dalam token, yang merupakan cara untuk merepresentasikan urutan karakter umum yang ditemukan dalam input teks. Jumlah token umumnya akan lebih besar dari jumlah kata. Misalnya, input dalam contoh pertama memiliki 775 kata, yang diwakili oleh 1.097 token. LLM yang berbeda dapat menghitung token dengan cara yang berbeda dan sebagian besar menyediakan API atau endpoint untuk menghitung jumlah token untuk input teks.

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

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

Kami 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 mereka yang terbiasa dengan teknik AI, pendekatan ini menggunakan RAG, praktik umum untuk meningkatkan kemungkinan jawaban nyata dari alat AI generatif.

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

  • Penelusuran teks lengkap membantu AI menemukan pencocokan kata kunci yang persis. Namun, LLM tidak dapat menentukan arti yang dimaksudkan di balik kueri pengguna. Hal ini dapat menyebabkan {i>output<i} tidak lengkap atau salah.
  • Mungkin akan terjadi masalah saat kata memiliki beberapa arti atau kueri menggunakan sinonim. Misalnya, "bank" (lembaga keuangan versus tepi sungai) dapat menyebabkan hasil yang tidak relevan.
  • Penelusuran teks lengkap dapat menampilkan hasil yang berisi kata kunci, tetapi tidak sesuai dengan tujuan pengguna.

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

  • Niat penelusur: Hal ini mencoba memahami alasan pengguna menelusuri sesuatu. Apa yang mereka coba temukan atau capai?
  • Makna kontekstual: Menafsirkan kata dan frasa yang terkait dengan teks di sekitarnya, serta faktor lain seperti lokasi pengguna atau histori penelusuran pengguna.
  • Hubungan antara konsep: Penelusuran semantik menggunakan grafik pengetahuan (jaringan besar entity terkait) dan natural language processing untuk memahami hubungan antara kata dan ide.

Akibatnya, ketika Anda membuat alat dengan penelusuran semantik, output penelusuran akan bergantung pada tujuan kueri secara keseluruhan, bukan kata kunci. Artinya, alat ini dapat menentukan dokumen yang relevan, meskipun kata kunci yang tepat tidak ada. Fungsi ini juga dapat menghindari hasil jika kata tersebut ada, tetapi memiliki arti yang berbeda.

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

Menarik 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. Anda juga 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, sehingga menerapkan RAG ke dalam produk Anda dengan lebih baik.

Alat AI generatif dapat mengalami "halusinasi" yang sering kali menjadi masalah umum, yang terkadang tidak dapat diandalkan, atau paling buruknya, aktif berbahaya bagi bisnis. Dengan teknik ini, pengguna dan developer dapat meningkatkan keandalan dan, mungkin, membangun kepercayaan pada output dari aplikasi ini.