Couchbase Vector Araması ve Unstructured.io ile RAG Uygulamanızı Güçlendirin
Vishwa Yeruru, Kıdemli Ürün Yöneticisi, Couchbase – Maria Khalusova, Geliştirici Avukatı, Couchbase
Couchbase ve Unstructured.io‘nun yeni konektörünün lansmanını gerçekleştirmekten dolayı mutluluk duyuyoruz. Bu konektör, Couchbase üzerinde yapılandırılmış bir RAG pipeline’ına unstructured (yapılandırılmamış) verileri ekleme sürecini kolaylaştırıyor. Bu konektörü kullanarak, yapılandırılmamış belgeleri JSON dosyalarına dönüştürebilir ve sadece birkaç satır kodla RAG uygulamaları tarafından kullanılmak üzere vektör embedding’leri oluşturabilirsiniz.
Geliştiriciler için Yapılandırılmamış Veri Toplama Neden Önemli?
Kurumsal verilerin büyük bir çoğunluğu yapılandırılmamış durumda bulunuyor ve bu durumun yakın gelecekte değişmesi pek olası görünmüyor. Verilerin yapılandırılmamış formatlarda bulunması, geliştiriciler için yalnızca zaman ve maliyetin ötesinde sonuçlara yol açabiliyor. Bu durum, işletmelerin karar alma süreçlerinin yalnızca kullanılabilir yapılandırılmış verilere dayandırılması anlamına gelirken, işletme içinde bulunan tüm verilerin değerlendirilmesine engel oluyor. Ek olarak, çok sayıda kurumsal iş akışına (hem dahili hem de müşteriyle yüz yüze olanlar) birinci elden müdahale gerekiyor ve bu da onları daha maliyetli, yavaş ve hataya yatkın bir hale getiriyor. Bu sorun, işletme veri ayak izi büyüdükçe daha da içinden çıkılmaz bir hale geliyor.
Geliştiriciler Yapılandırılmamış Verileri Nasıl Kullanıyor?
Yapılandırılmamış verileri kullanmanın en etkili yollarından biri, veriyi vektör aramaları aracılığıyla erişilebilir hale getiren bir RAG pipeline’ına dahil etmektir. Bu yöntem, çeşitli sektörlerde geniş çapta uygulamalara sahiptir. RAG uygulamaları, daha alakalı belgelere erişimi kolaylaştırarak operasyonel verimliliği artırabilir ve böylelikle çözüm süresini kısaltarak daha düşük maliyet sağlayabilir. Bu yöntem ile çözüme ulaştırılabilecek bazı kullanım örnekleri şunlardır:
- Farklı sektörlerdeki müşteri destek ekiplerinin ilgili sorun giderme belgelerini bulabilmesi
- Tıbbi profesyonellerin tanı ve tedavi planlamasına yardımcı olmak amacıyla doküman veritabanlarında bulunan ilgili makaleler ve hasta kayıtlarını çıkarabilmesi
- Müşteri verilerini kullanarak en uygun ürünü önerebilen öneri sistemleri
Yapılandırılmamış Veri İşlemenin Mevcut Yöntemi Nedir?
Mevcut durumda Couchbase Capella ile yapılandırılmamış verileri RAG uygulamaları için almak isteyen geliştiriciler, bir yapılandırılmamış veri çıkarıcısına bağlanmak, onun çıktısını ayrıştırmak, parçalara ayırmak ve ardından embedding modeline göndererek vektörler oluşturmak için uygulama yazmak zorundadır. Daha sonra bu vektörlerin Couchbase Capella üzerindeki bir vektör veritabanına gönderilmesi gerekir.
Konektörümüz Yapılandırılmamış Veri Aktarım Yöntemini Nasıl Geliştiriyor?
Unstructured.io – Couchbase konektörleri, yukarıda bahsedilen iki ana bileşeni birbirine bağlama sürecini basitleştirerek aşağıdaki işlemleri kolaylaştırıyor:
- Yapılandırılmamış metin verisini yapılandırılmış JSON belgelerine dönüştürmek
- İlgili vektörleri oluşturmak
- Bunları Couchbase Capella’ya eklemek
Kaynak konektör, veriler Couchbase Capella’dan çekilip parçalara ayrılmadan önce veri alımına yardımcı olurken, hedef konektör ise işlenmiş verilerin unstructured.io’dan Couchbase Capella’ya alınmasını sağlıyor.
Capella, yüksek performanslı bir vektör veritabanıdır ve vektör veritabanını hızlı bir şekilde kurmanıza, dizinlemenize ve sorgulamanıza olanak tanır. Yalnızca birkaç satır kodla belgelerinizi işlemeye başlamak için konektörleri kullanabilirsiniz:
1.Adım: Ön Koşullar
Konektörü kullanmaya başlamadan önce bazı gereklilikleri yerine getirmeniz gerekiyor. İşte ihtiyacınız olanlar:
- Unstructured.io’dan bir API anahtarı (bir unstructured.io hesabı oluşturarak edinebilirsiniz)
- Cluster ve veritabanı kurulmuş, veritabanı içinde kapsam ve koleksiyonlar tanımlanmış aktif bir Capella hesabı
- Cluster’ınızı IP adresinizi kullanacak şekilde yapılandırın
- Veritabanı kimlik bilgilerini ayarlayın
2.Adım: Yapılandırılmamış Verilerinizin Kaynağını ve Hedefini Belirleyin
Ön gereklilikler tamamlandığında, işlemek için RAG pipeline’ınızda giriş olarak kullanmak istediğiniz belgelerin kaynağını tanımlayabilirsiniz. Konektör; Couchbase, yerel dizinler, S3 bucket’ları ve diğer depolama hizmetlerinden veri alımını destekler. Unstructured.io, PDF’ler, görüntü dosyaları (JPEG, PNG), metin belgeleri (DOCX, DOC), e-postalar, tablolar ve sunum dosyaları (PPT) gibi çok çeşitli yapılandırılmamış belge formatlarını desteklemektedir.
Aynı şekilde, unstructured.io tarafından oluşturulan çıktının metin vektörleştirilmeden önce depolanacağı ara konumu tanımlayın. Bu, Couchbase’de ölçeklenebilir bir veritabanındaki bir koleksiyon veya halihazırda kullanmakta olduğunuz başka bir depolama hizmeti olabilir. Ardından, orijinal metin, meta veriler ve ilgili embedding vektörünü içeren JSON belgelerinin depolanacağı Couchbase’deki vektör veritabanı koleksiyonunu tanımlayabilirsiniz.
3.Adım : Parçalama Stratejinizi Tanımlayın ve Vektör Embedding’leri İçin Bir Model Seçin
Giriş ve çıkış konumları tanımlandıktan sonra, unstructured.io tarafından desteklenen parçalama stratejilerinden birini seçebilir ve tercih ettiğiniz embedding modelini belirleyebilirsiniz. Unstructured.io; Huggingface, OpenAI ve Bedrock gibi çeşitli sağlayıcılarının embedding modellerini desteklemektedir.
4.Adım: Uygulamanızı Çalıştırın!
Uygulamanızı test edin. Tüm adımları unstructured.io aracılığıyla yürüttükten sonra yeni yapılandırılmış JSON belgelerini Capella koleksiyonunuza eklenmiş olarak görebileceksiniz. Bunu nasıl yapacağınızla ilgili adım adım kılavuz için hazırladığımız eğitime göz atabilirsiniz.