Bu makale, MongoDB'nin vektör arama yetenekleri ve Bir İndirgeme-Arttırma (RAG) pipeline kullanarak film tavsiyeleri sistemi oluşturma üzerine konuşuyor. Amacı, kullanıcı tercihlerini kavrama ve kişiselleştirilmiş film tavsiyeleri sunabilen akıllı ve verimli bir sistem oluşturmaktır. Makalenin sonunda, okuyucular, spesifik sorulara cevap verebilen ve örneğin yapay zeka üzerine iyi bir bilim kurgu filmi veya yetişkinler için uygun bir animasyon filmi tavsiyesinde bulunabilen işlevsel bir sisteme sahip olacaktır.
RAG pipeline, büyük dil modellerinin (LLM) ve yapılandırılmış veri aramanın gücünü birleştirerek, cevapların doğruluğunu ve bağlamsal ilgiliğini artırır. MongoDB, açık kaynaklı NoSQL veritabanı ve verimli vektör arama yetenekleri için seçilmiştir.
Proje, aşağıdaki adımlardan oluşmaktadır:
1. Ortamın hazırlanması ve Hugging Face'den film verisetinin yüklenmesi.
2. Pydantic ile veri modellemesi, veri tutarlılığını ve tip güvenliğini sağlamak için.
3. AçıkAI'nın API'sini kullanarak film bilgilerine gömme oluşturma.
4. İşlenmiş verilerin MongoDB veritabanına aktarılması.
5. MongoDB Atlas'ta vektör arama dizini oluşturma, benzerlik aramalarına izin vermek için.
6. Vektör arama işlevini oluşturma, ilgili filmleri bulmak için.
7. Kullanıcı sorgularını LLM ile ele alma, vektör arama sonuçlarına dayanarak bağlamsal olarak uygun yanıtlar üretebilmek için.
Makale, ortamın hazırlanması, gerekli kütüphanelerin ithalatı, verisetinin yüklenmesi ve MongoDB'nin yapılandırılması için ayrıntılı talimatlar sağlar. Pydantic ile veri modellemesi, film verilerini doğrulama ve seri hale getirme için Movie sınıfını tanımlamayı içerir. Gömmeler, AçıkAI'nın "text-embedding-3-small" modelini kullanarak, semantik aramalar için 1536 boyutlu gömmeler oluşturur.
Veriler MongoDB'ye aktarılır ve MongoDB Atlas'ta vektör arama dizini oluşturulur. Bu dizin, kullanıcı sorgularını film tanımlarıyla eşleştirmek için kosinüs benzerliğini kullanır. Vektör arama işlevi, geçici sorunları ele almak için yeniden deneme mekanizmasını içerir ve MongoDB'nin toplamda işlem hattını kullanarak ilgili filmleri alır.
Kullanıcı sorguları, sorgu için gömme oluşturma, vektör arama yapma ve AçıkAI'nın GPT-3.5-turbo modelini kullanarak arama sonuçlarına dayanarak yanıtlar üretebilmek için kullanılır. Makale, sistemin film tavsiyeleri sunma ve tavsiyelerin nedenlerini sağlama yeteneğini göstererek sona erer.
Sistemin esnekliği, gelecekteki genişletmeler için kapılar açar, örneğin daha fazla veri ekleme, gömmeleri iyileştirme veya gelişmiş tavsiye algoritmaları uygulama. Tam kod ve kaynaklar GitHub'da mevcuttur ve kullanılan veriseti, kamu malı olarak adanmıştır. Proje, MongoDB ve RAG pipeline'nin gücünü kullanarak kişiselleştirilmiş ve verimli tavsiye sistemleri oluşturma üzerine bir örnektir.
towardsdatascience.com
Building a RAG Pipeline with MongoDB: Vector Search for Personalized Movie Picks
Create attached notes ...