Di dunia digital saat ini, sebagian besar konsumen lebih memilih mencari jawaban atas pertanyaan layanan pelanggan mereka sendiri daripada meluangkan waktu untuk menghubungi bisnis dan/atau penyedia layanan. Posting blog ini mengeksplorasi solusi inovatif untuk membangun chatbot tanya jawab AmazonLex yang menggunakan FAQ yang ada dari situs web Anda. Alat yang didukung AI ini dapat memberikan respons yang cepat dan akurat terhadap pertanyaan di dunia nyata, memungkinkan pelanggan menyelesaikan masalah umum secara mandiri dengan cepat dan mudah.
Penyerapan URL tunggal
Banyak perusahaan yang menerbitkan kumpulan jawaban FAQ untuk pelanggannya di situs web mereka. Dalam hal ini, kami ingin menawarkan kepada pelanggan chatbot yang dapat menjawab pertanyaan mereka dari FAQ yang kami terbitkan. Dalam postingan blog berjudul Tingkatkan Amazon Lex dengan fitur FAQ percakapan menggunakan LLM, kami mendemonstrasikan bagaimana Anda dapat menggunakan kombinasi Amazon Lex dan LlamaIndex untuk membangun chatbot yang didukung oleh sumber pengetahuan Anda yang ada, seperti dokumen PDF atau Word. Untuk mendukung FAQ sederhana, berdasarkan situs FAQ, kita perlu membuat proses penyerapan yang dapat merayapi situs web dan membuat penyematan yang dapat digunakan oleh LlamaIndex untuk menjawab pertanyaan pelanggan. Dalam hal ini, kita akan membangun bot yang dibuat di posting blog sebelumnya, yang menanyakan penyematan tersebut dengan ucapan pengguna dan mengembalikan jawaban dari FAQ situs web.
Diagram berikut menunjukkan bagaimana proses penyerapan dan bot Amazon Lex bekerja sama untuk solusi kami.
Dalam alur kerja solusi, situs web dengan FAQ diserap melalui AWS Lambda. Fungsi Lambda ini merayapi situs web dan menyimpan teks yang dihasilkan dalam sebuah Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember. Bucket S3 kemudian memicu fungsi Lambda yang menggunakan LlamaIndex untuk membuat embeddings yang disimpan di Amazon S3. Ketika pertanyaan dari pengguna akhir tiba, seperti โApa kebijakan pengembalian Anda?โ, bot Amazon Lex menggunakan fungsi Lambda untuk menanyakan penyematan menggunakan pendekatan berbasis RAG dengan LlamaIndex. Untuk informasi lebih lanjut tentang pendekatan ini dan prasyaratnya, lihat postingan blog, Tingkatkan Amazon Lex dengan fitur FAQ percakapan menggunakan LLM.
Setelah prasyarat dari blog tersebut di atas selesai, langkah pertama adalah memasukkan FAQ ke dalam repositori dokumen yang dapat divektorisasi dan diindeks oleh LlamaIndex. Kode berikut menunjukkan cara melakukannya:
Pada contoh sebelumnya, kami mengambil URL situs FAQ yang telah ditentukan sebelumnya dari Zappos dan menyerapnya menggunakan EZWebLoader
kelas. Dengan kelas ini, kita telah menavigasi ke URL dan memuat semua pertanyaan yang ada di halaman ke dalam indeks. Sekarang kita dapat mengajukan pertanyaan seperti โApakah Zappos memiliki kartu hadiah?โ dan dapatkan jawabannya langsung dari FAQ kami di website. Tangkapan layar berikut menunjukkan konsol pengujian bot Amazon Lex menjawab pertanyaan tersebut dari FAQ.
Kami dapat mencapai hal ini karena kami telah merayapi URL pada langkah pertama dan membuat penyematan yang dapat digunakan LlamaIndex untuk mencari jawaban atas pertanyaan kami. Fungsi Lambda bot kami menunjukkan bagaimana pencarian ini dijalankan setiap kali maksud fallback dikembalikan:
Solusi ini berfungsi dengan baik bila satu halaman web memiliki semua jawabannya. Namun, sebagian besar situs FAQ tidak dibuat dalam satu halaman. Misalnya, dalam contoh Zappos, jika kita mengajukan pertanyaan โApakah Anda memiliki kebijakan pencocokan harga?โ, maka kita mendapatkan jawaban yang kurang memuaskan, seperti yang ditunjukkan pada gambar layar berikut.
Pada interaksi sebelumnya, jawaban kebijakan pencocokan harga tidak membantu pengguna kami. Jawaban ini singkat karena FAQ yang dirujuk adalah tautan ke halaman tertentu tentang kebijakan pencocokan harga dan perayapan web kami hanya untuk satu halaman. Mendapatkan jawaban yang lebih baik berarti merayapi tautan ini juga. Bagian selanjutnya menunjukkan cara mendapatkan jawaban atas pertanyaan yang memerlukan dua atau lebih tingkat kedalaman halaman.
Perayapan tingkat-N
Saat kami merayapi halaman web untuk mendapatkan pengetahuan FAQ, informasi yang kami inginkan dapat dimuat di halaman tertaut. Misalnya, dalam contoh Zappos, kami mengajukan pertanyaan โApakah Anda memiliki kebijakan pencocokan harga?โ dan jawabannya โIya silahkan berkunjung untuk mempelajari lebih lanjut.โ Jika seseorang bertanya โApa kebijakan pencocokan harga Anda?โ maka kami ingin memberikan jawaban yang lengkap dengan kebijakan tersebut. Untuk mencapai hal ini berarti kami harus menelusuri tautan untuk mendapatkan informasi aktual bagi pengguna akhir kami. Selama proses penyerapan, kita dapat menggunakan pemuat web untuk menemukan tautan jangkar ke halaman HTML lain dan kemudian melintasinya. Perubahan kode berikut pada perayap web memungkinkan kami menemukan tautan di laman yang kami jelajahi. Ini juga mencakup beberapa logika tambahan untuk menghindari perayapan melingkar dan mengizinkan filter berdasarkan awalan.
Pada kode sebelumnya, kami memperkenalkan kemampuan untuk merayapi tingkat N secara mendalam, dan kami memberikan awalan yang memungkinkan kami membatasi perayapan hanya pada hal-hal yang dimulai dengan pola URL tertentu. Dalam contoh Zappos kami, semua halaman layanan pelanggan di-root zappos.com/c
, jadi kami menyertakannya sebagai awalan untuk membatasi perayapan kami ke subkumpulan yang lebih kecil dan lebih relevan. Kode tersebut menunjukkan bagaimana kita dapat menyerap hingga kedalaman dua tingkat. Logika Lambda bot kami tetap sama karena tidak ada yang berubah kecuali perayap menyerap lebih banyak dokumen.
Kami sekarang telah mengindeks semua dokumen dan kami dapat mengajukan pertanyaan yang lebih rinci. Pada tangkapan layar berikut, bot kami memberikan jawaban yang benar atas pertanyaan โApakah Anda memiliki kebijakan pencocokan harga?โ
Kami sekarang memiliki jawaban lengkap atas pertanyaan kami tentang pencocokan harga. Daripada hanya diberi tahu โYa, lihat kebijakan kamiโ, ini memberi kami detail dari perayapan tingkat kedua.
Membersihkan
Untuk menghindari timbulnya biaya di masa depan, lanjutkan dengan menghapus semua sumber daya yang digunakan sebagai bagian dari latihan ini. Kami telah menyediakan skrip untuk mematikan titik akhir Sagemaker dengan baik. Detail penggunaan ada di README. Selain itu, untuk menghapus semua sumber daya lain yang dapat Anda jalankan cdk destroy
di direktori yang sama dengan perintah cdk lainnya untuk mencabut akses semua sumber daya di tumpukan Anda.
Kesimpulan
Kemampuan untuk memasukkan serangkaian FAQ ke dalam chatbot memungkinkan pelanggan Anda menemukan jawaban atas pertanyaan mereka dengan pertanyaan bahasa alami yang lugas. Dengan menggabungkan dukungan bawaan di Amazon Lex untuk penanganan fallback dengan solusi RAG seperti LlamaIndex, kami dapat memberikan jalur cepat bagi pelanggan kami untuk mendapatkan jawaban FAQ yang memuaskan, terkurasi, dan disetujui. Dengan menerapkan perayapan tingkat N ke dalam solusi kami, kami dapat memberikan jawaban yang mungkin mencakup beberapa tautan FAQ dan memberikan jawaban yang lebih mendalam terhadap pertanyaan pelanggan kami. Dengan mengikuti langkah-langkah ini, Anda dapat dengan mudah menggabungkan kemampuan Tanya Jawab berbasis LLM yang kuat dan penyerapan URL yang efisien ke dalam chatbot Amazon Lex Anda. Hal ini menghasilkan interaksi dengan pengguna yang lebih akurat, komprehensif, dan sadar konteks.
Tentang penulis
Max Henkel-Wallace adalah Insinyur Pengembangan Perangkat Lunak di AWS Lex. Dia senang bekerja memanfaatkan teknologi untuk memaksimalkan kesuksesan pelanggan. Di luar pekerjaan, dia sangat suka memasak, menghabiskan waktu bersama teman, dan backpacking.
Lagu Feng adalah Ilmuwan Terapan Senior di AWS AI Labs, dengan spesialisasi Pemrosesan Bahasa Alami dan Kecerdasan Buatan. Penelitiannya mengeksplorasi berbagai aspek bidang ini termasuk pemodelan dialog berbasis dokumen, penalaran untuk dialog berorientasi tugas, dan pembuatan teks interaktif menggunakan data multimodal.
John Baker adalah SDE Utama di AWS tempat dia mengerjakan Pemrosesan Bahasa Alami, Model Bahasa Besar, dan proyek terkait ML/AI lainnya. Dia telah bekerja di Amazon selama lebih dari 9 tahun dan telah bekerja di AWS, Alexa, dan Amazon.com. Di waktu luangnya, John menikmati bermain ski dan aktivitas luar ruangan lainnya di seluruh Pacific Northwest.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Otomotif / EV, Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/enhance-amazon-lex-with-llms-and-improve-the-faq-experience-using-url-ingestion/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 10
- 100
- 12
- 14
- 16
- 19
- 23
- 36
- 7
- 80
- a
- kemampuan
- Sanggup
- Tentang Kami
- menyelesaikan
- tepat
- Mencapai
- mencapai
- di seluruh
- kegiatan
- sebenarnya
- Tambahan
- Selain itu
- AI
- Bertenaga AI
- Alexa
- Semua
- mengizinkan
- Membiarkan
- memungkinkan
- sudah
- juga
- Amazon
- AmazonLex
- Amazon Web Services
- Amazon.com
- an
- Jangkar
- dan
- menjawab
- jawaban
- terapan
- Menerapkan
- pendekatan
- disetujui
- ADALAH
- Tiba
- buatan
- kecerdasan buatan
- AS
- aspek
- At
- tersedia
- menghindari
- sadar
- AWS
- kembali
- mendasarkan
- berdasarkan
- BE
- karena
- menjadi
- mulai
- makhluk
- Lebih baik
- Blog
- tubuh
- Bot
- membangun
- dibangun di
- built-in
- bisnis
- by
- CAN
- kemampuan
- Kartu-kartu
- kasus
- tertentu
- perubahan
- berubah
- ChatBot
- memeriksa
- kelas
- klien
- Penyelesaian
- kode
- COM
- kombinasi
- menggabungkan
- kedatangan
- Umum
- lengkap
- luas
- konsul
- Konsumen
- berisi
- Konten
- isi
- konteks
- percakapan
- mengubah
- mengkonversi
- benar
- bisa
- Melawan
- crawler
- membuat
- dibuat
- dikuratori
- pelanggan
- Layanan Pelanggan
- Kesuksesan Pelanggan
- pelanggan
- siklus
- data
- mendalam
- lebih dalam
- Default
- menunjukkan
- dikerahkan
- kedalaman
- terperinci
- rincian
- Pengembangan
- Dialog
- digital
- dunia digital
- langsung
- dokumen
- dokumen
- turun
- Download
- duplikat
- selama
- e
- setiap
- mudah
- efisien
- lain
- memungkinkan
- akhir
- Titik akhir
- insinyur
- mempertinggi
- perusahaan
- masuk
- Acara
- contoh
- Kecuali
- pengecualian
- Latihan
- ada
- biaya
- pengalaman
- mengeksplorasi
- FAQ
- Fitur
- Fields
- File
- menyaring
- Menemukan
- Pertama
- berikut
- Untuk
- ditemukan
- teman
- dari
- fungsi
- masa depan
- generasi
- mendapatkan
- hadiah
- kartu hadiah
- Memberikan
- diberikan
- memberikan
- Go
- memiliki
- Penanganan
- Memiliki
- he
- header
- bermanfaat
- dia
- -nya
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- if
- mengimpor
- memperbaiki
- in
- memasukkan
- termasuk
- Termasuk
- masuk
- menggabungkan
- secara mandiri
- indeks
- diindeks
- Info
- informasi
- inovatif
- memasukkan
- Pertanyaan
- contoh
- sebagai gantinya
- Intelijen
- maksud
- interaksi
- interaksi
- interaktif
- ke
- memperkenalkan
- IT
- NYA
- John
- jpg
- json
- kunci
- pengetahuan
- Labs
- bahasa
- besar
- BELAJAR
- Tingkat
- adalah ide yang bagus
- leveraging
- 'like'
- MEMBATASI
- LINK
- terkait
- link
- linux
- Daftar
- memuat
- pemuat
- lokal
- lokal
- penebangan
- logika
- cocok
- sesuai
- Maksimalkan
- berarti
- cara
- pesan
- pesan
- pemodelan
- model
- lebih
- paling
- beberapa
- nama
- Alam
- Pengolahan Bahasa alami
- Perlu
- berikutnya
- tidak ada
- sekarang
- jumlah
- objek
- of
- menawarkan
- on
- ONE
- hanya
- or
- OS
- Lainnya
- kami
- di luar
- di luar
- sendiri
- Pasifik
- halaman
- halaman
- bagian
- bergairah
- path
- pola
- plato
- Kecerdasan Data Plato
- Data Plato
- silahkan
- kebijaksanaan
- mungkin
- Pos
- didukung
- kuat
- mencegah
- harga pompa cor beton mini
- Utama
- masalah
- proses
- pengolahan
- memprojeksikan
- memberikan
- disediakan
- penyedia
- menyediakan
- diterbitkan
- query
- pertanyaan
- Pertanyaan
- Cepat
- segera
- menaikkan
- agak
- RE
- mencapai
- pembaca
- dunia nyata
- terkait
- relevan
- sisa
- menghapus
- gudang
- permintaan
- permintaan
- membutuhkan
- penelitian
- Sumber
- tanggapan
- tanggapan
- membatasi
- dihasilkan
- Hasil
- kembali
- Pengembalian
- akar
- Rute
- Run
- s
- pembuat bijak
- sama
- ilmuwan
- mulus
- Pencarian
- Bagian
- melihat
- DIRI
- senior
- layanan
- penyedia jasa
- Layanan
- set
- Pendek
- ditunjukkan
- Pertunjukkan
- menutup
- Sederhana
- hanya
- tunggal
- situs web
- Situs
- slot
- lebih kecil
- So
- Perangkat lunak
- pengembangan perangkat lunak
- larutan
- MEMECAHKAN
- beberapa
- Seseorang
- sumber
- merentang
- mengkhususkan diri
- tertentu
- Pengeluaran
- tumpukan
- awal
- Langkah
- Tangga
- penyimpanan
- menyimpan
- tersimpan
- toko
- mudah
- sukses
- seperti itu
- mendukung
- SYS
- Mengambil
- pengambilan
- Teknologi
- uji
- dari
- bahwa
- Grafik
- informasi
- mereka
- Mereka
- kemudian
- Ini
- hal
- ini
- itu
- di seluruh
- waktu
- berjudul
- untuk
- hari ini
- bersama
- alat
- mengobati
- benar
- mencoba
- dua
- mengetik
- URL
- us
- penggunaan
- menggunakan
- bekas
- Pengguna
- Pengguna
- kegunaan
- menggunakan
- berbagai
- melalui
- Mengunjungi
- mengunjungi
- ingin
- adalah
- we
- jaringan
- layanan web
- Situs Web
- BAIK
- adalah
- ketika
- kapan saja
- yang
- akan
- dengan
- Word
- Kerja
- bekerja sama
- bekerja
- alur kerja
- kerja
- bekerja
- dunia
- akan
- tertulis
- X11
- tahun
- Kamu
- Anda
- zephyrnet.dll