LLM Series: Ngobrol Sama Web

Hi Rekan Devs,

Temu lagi kita, kali ini kita bikin judul yang makin asik, ya ngobrol sama web, haha.. Sesuai judulnya, orang sekarang makin mager, sampe browsing aja males, jadi gimana caranya supaya kita bisa ngobrol sama website ? Tentunya ga sambil senyum-senyum sendiri di pinggir jalan yah.

Ok, langsung aja. Kalau dipikir ini semua bisa dilakukan dengan 2 cara atau lebih, antara lain:

  1. Crawling content web lalu kita lakukan RAG
  2. Manfaatin search engine untuk dapet konteks dari web yang ingin dicari, lalu lakukan RAG

Nah di artikel ini kita akan coba opsi yang pertama, karena kita suka yang gratisan, kalau pake API Google atau Bing mesti bayar, so pasti orang kita ga suka.

Oke cara kerjanya seperti ini:

  1. Kita akan bikin fungsi untuk crawling web yang datanya ingin kita ambil, banyak sekali library yang bisa dipake, tapi untuk ini kita pake Abot. Setiap halaman yang berhasil di capture, kita extract kontennya dan bersihkan dari html tag, styling, white space dan script2. Setiap halaman kita save sebagai file teks di temporary folder.
  2. Setelah proses crawling kelar, kita proses semua file teks untuk kita ubah jadi vektor dan taruh datanya di vektor db. Kita pakai vektor storage bawaan semantic memory yaitu disimpen di file aja. Opsi lain kita bisa juga store ke Qdrant, Cognitive Search, dsb
  3. Ya abis itu tinggal query deh datanya dari vektor db untuk dijadikan sebagai konteks saat prompting ke LLM (Open AI).

Simpel dan sederhana khan ? Yasud silakan sedot aja sourcenya dari repo berikut: Gravicode/ChatWithWeb: this is experimental project, how to chat with web by crawling it’s content, store the data to vectordb, and query using RAG (github.com)

Nah sebelum ngejalanin aplikasinya, silakan masukin open ai key dan organization id di file AppConstants.cs yah.

Berikut beberapa tampilannya saat in-action

Saat proses crawling halaman-halaman dari sebuah web, setiap halaman kita simpan jadi teks file

Saat mengubah teks file menjadi vektor dan menyimpannya ke vektor db

Saat ngobrol sama web, haha ini dia bagian yang asyiiik..

Silakan di obok-obok, semoga bermanfaat.

Salam Dev ;D

Loading

You May Also Like