Cara Menggunakan Vector Database Dengan Mudah
Cara Menggunakan Vector Database Dengan Mudah - Tahu Vector Database belum? Atau pengen tahu cara pakainya? Yuk, baca di tutorial dibawa ini๐
Vector database itu adalah database spesial untuk designed untuk storing, indexing, dan query vector data. Vector database seringkali dioptimalkan untuk data high-dimension vector terutama output dari LLM.
Di LLM, model memiliki input teks dan dapat teks tersebut menjadi high-dimension vektor yang mewakili karakteristik semantik dan sintaksis dari teks tersebut. Proses ini lah yang biasa disebut dengan Embedding. Sebagai contoh, kalimat “I Love Data Science” dengan embedding.
Angka dalam vektor adalah koordinat dalam embedding space. Bersama-sama, mereka akan membentuk representasi unik dari makna kalimat yang berasal dari model tersebut. Vector database terus akan bertanggung jawab menyimpan vector data ini.
Sekarang, kita akan mencoba memakai Vector Database open-source @weaviate_io untuk menyimpan dan menggunakannya. Weaviate bisa dipakai lokal ataupun di cloud. Mereka juga menyediakan Weaviate Cloud Cluster sandbox yang bisa dipakai untuk 14 hari.
Beberapa packages yang diperlukan untuk tutorial ini adalah Weaviate Client, Pandas, dan LangChain. Coba di install dulu kalau belum pernah pakai ya. Jangan lupa juga pakai virtual environment. Kita juga akan pakai data dari Kaggle
Jika sudah berhasil install packages dan download datanya. Kita akan menggunakan sampel data dan initiate client connection ke weaviate. Kita perlu OpenAI API Key, Weaviate API key, dan Cluster Key untuk ini.
Kalau koneksinya sudah sukses, kita akan membuat vectore database kita. Di contoh ini, saya memberi nama database yang akan diisi dengan data kita sebagai "BookCollection. Di sini juga saya menggunakan vector embedding dari OpenAI serta Generative LLM dari OpenAI juga.
Sekarang, kita akan menyimpan data teks kita menjadi vector di vector database Weaviate. Kalau sukses, harus nya bisa kalian lihat metrics nya seperti dibawah ini. Next, kita akan mencoba beberapa use cases yang bisa dilakukan dengan Vector Database.
Pertama, kita akan mencoba Semantic Search. Semantic Search adalah proses pencarian data dengan menggunakan makna dari query untuk mengambil hasil yang lebih relevan dibandingkan hanya mengandalkan pencarian berbasis kata kunci tradisional. Berikut contoh dengan Weaviate:
Kedua adalah Generative Search. Generative Search bisa didefinisikan sebagai aplikasi lebih jauh dari Semantic Search. Generative Search, atau Retrieval Augmented Generation (RAG), menggunakan LLM prompting dengan Semantic search untuk menghasilkan output lebih baik.
Question Answering dengan RAG Dalam contoh sebelumnya, kita menggunakan semantic search untuk mendapatkan data yang diinginkan, dan RAG memproses data tersebut menjadi keluaran yang diinginkan. Tapi, kita bisa membuat RAG ini menjadi alat untuk question-answering.
Demikian kelas singkat sekali mengenai Vector Database dan aplikasinya.
Posting Komentar