AI Generatif mengacu pada penggunaan 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 yang berisi konten buatan manusia.
Teknologi ini telah menunjukkan kemampuan yang luar biasa, melalui aplikasi seperti Gemini. Anda mungkin bertanya-tanya, bagaimana cara menerapkan AI generatif ke dalam produk web saya?
Salah satu kasus penggunaan umum adalah menyediakan antarmuka yang lebih baik bagi pengguna untuk mengajukan pertanyaan tentang konten situs web. Anda dapat meningkatkan hasil pencarian pengguna Anda secara signifikan, dengan bantuan machine learning.
Membuat penelusuran khusus situs yang lebih baik
Anda dapat membuat antarmuka di mana pengguna menulis pertanyaan, yang kemudian dikirim ke model bahasa besar (LLM), seperti Gemini, dan kemudian menampilkan jawabannya kepada pengguna Anda.
Misalkan fitur seperti itu ada di situs ini. Seorang pengguna ingin tahu API mana disertakan dalam Interop 2024, dan mereka memasukkan kueri berikut:
What are the features included in Interop 24?
Sayangnya, output-nya kemungkinan akan salah, karena beberapa alasan:
- Pengguna telah memberikan sedikit konteks pada LLM untuk pertanyaan tersebut, oleh karena itu LLM lebih rentan untuk memberikan jawaban yang salah atau halusinasi.
- LLM kemungkinan dilatih sebelum Interop 2024 dibuat, atau fiturnya memutuskan, jadi ia tidak mengetahui informasi itu.
Meskipun LLM dapat menemukan informasi terkini, pelatihan LLM secara inheren sudah usang. Mempertahankan hasil yang segar bisa sangat memakan waktu dan mahal.
Menggunakan rekayasa perintah
Rekayasa perintah adalah seperangkat teknik untuk mendapatkan hasil terbaik dari LLM.
Salah satu tekniknya adalah dengan memberikan konteks tambahan pada prompt, sehingga model LLM lebih mungkin menghasilkan konten yang terkait dengan konteks.
Melanjutkan contoh Interop kita, langkah pertama kita adalah memberikan artikel sebagai konteks. Kemudian, tambahkan pertanyaan sebagai input untuk LLM untuk 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 {i>prompt<i} tanpa konteks, karena jawaban didasarkan pada konteks yang diberikan.
Meningkatkan skala dengan RAG
Misalnya, alih-alih menjawab pertanyaan tentang satu artikel, kita ingin LLM untuk menjawab lebih banyak pertanyaan tentang web.dev, dengan menggunakan artikel apa pun konteks tambahan. Meskipun ini mungkin dilakukan untuk situs yang lebih kecil, mengingat Jendela konteks Gemini 1.5 dengan 1 juta token, perintah yang lebih besar lebih lambat dan lebih mahal untuk dijalankan.
Panjang input dan output LLM diukur dan diisi dalam token, yang merupakan untuk merepresentasikan urutan karakter umum yang ditemukan dalam input teks. Tujuan jumlah token umumnya akan lebih besar dari jumlah kata. Sebagai seorang Misalnya input dalam contoh pertama memiliki 775 kata, diwakili oleh 1097 token kata. LLM yang berbeda mungkin menghitung token dengan cara berbeda dan sebagian besar memberikan API atau endpoint untuk menghitung jumlah token untuk input teks.
Salah satu solusinya adalah menyediakan artikel yang relevan dengan perintah LLM. Tugas ini harus diberi dua bagian:
- Tambahkan konten artikel teratas sebagai konteks saat meminta LLM.
- Telusuri konten untuk menemukan artikel yang terkait dengan "Fitur apa saja yang disertakan dalam Interop 2024?".
Kita ingin hasil Gemini menampilkan konten berdasarkan artikel berikut:
- Artikel 1: web.dev/blog/submit-your-proposals-for-interop-2024
- Artikel 2: web.dev/blog/interop-2023-wrapup
- Artikel 3: web.dev/blog/interop-2024
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 yang umum untuk meningkatkan kemungkinan jawaban nyata dari alat AI generatif.
Meningkatkan output dengan penelusuran semantik
Meskipun teknik RAG dapat bekerja dengan pencarian teks lengkap reguler, ada kekurangan pada pendekatan tersebut.
- Penelusuran teks lengkap membantu AI menemukan pencocokan kata kunci yang persis. Namun, LLM tidak dapat untuk menentukan makna yang dimaksudkan di balik kueri pengguna. Hal ini dapat menyebabkan output tidak lengkap atau salah.
- Mungkin ada masalah ketika kata-kata memiliki beberapa arti atau kueri menggunakan sinonim. Misalnya, "bank" (lembaga keuangan versus tepi sungai) dapat menyebabkan pada 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-aspek utama berikut:
- Maksud penelusur: Niat pengguna mencoba memahami alasan pengguna melakukan penelusuran terhadap sesuatu. Apa yang mereka coba temukan atau capai?
- Makna kontekstual: Memahami kata dan frasa yang terkait dengan teks di sekitar, serta faktor lain seperti lokasi pengguna atau sejarah.
- Hubungan antarkonsep: Penelusuran semantik menggunakan grafik pengetahuan (besar jaringan entitas terkait) dan natural language processing untuk memahami bagaimana kata-kata dan ide-ide terhubung.
Akibatnya, saat Anda membuat alat dengan penelusuran semantik, output penelusuran bergantung tujuan kueri secara keseluruhan, bukan kata kunci. Ini berarti sebuah alat dapat menentukan dokumen yang relevan, bahkan saat kata kunci yang sama persis tidak ada. Teknologi ini dapat menghindari hasil di mana kata tersebut ada, tetapi memiliki arti yang berbeda.
Saat ini, Anda dapat menerapkan dua alat penelusuran yang menggunakan penelusuran semantik: Vertex AI Search dan Algolia AI Search.
Ambil jawaban dari konten yang dipublikasikan
Anda telah mempelajari cara menggunakan Prompt Engineering untuk memungkinkan LLM memberikan jawaban yang terkait dengan konten yang belum pernah dilihat dengan menambahkan konteks ke prompt. Anda telah mempelajari cara meningkatkan pendekatan ini, mulai dari artikel individual hingga ke seluruh korpus konten menggunakan Pembuatan Augmented Reality (RAG) standar. Anda telah mempelajari bagaimana penelusuran semantik dapat lebih meningkatkan hasil bagi pengguna kueri penelusuran, menerapkan RAG dengan lebih baik ke dalam produk Anda.
Sudah diketahui bahwa alat AI generatif dapat "berhalusinasi", yang membuat dalam kondisi terbaik, terkadang tidak dapat diandalkan, atau paling buruk, membahayakan secara aktif bisnis. Dengan teknik ini, pengguna dan pengembang dapat meningkatkan keandalan dan, mungkin, membangun kepercayaan terhadap {i>output<i} dari aplikasi ini.