Makale, SQLite içinde ikili gömme (binary embeddings) ve Hamming mesafesi kullanarak semantik aramanın nasıl uygulandığını ve böylece harici vektör veritabanlarına ihtiyaç duymadan hibrit arama yeteneği kazandırıldığını açıklıyor. SQLite'ın FTS5 uzantısı metin aramada başarılı olsa da, anahtar kelime eşleştirme ile anlam tabanlı erişimi birleştiren hibrit aramayı desteklemez. Bu eksiklik, metinlerin anlamını yakalayan sayısal vektörlere (gömme) dönüştürülmesiyle giderilebilir.
Geleneksel gömmeler genellikle float32 değerleri kullanır ve bu da yüksek depolama maliyeti (1024 boyutlu bir gömme için 4KiB) anlamına gelir. Ancak, ikili gömmeler her boyutu tek bir bite (0 veya 1) indirgeyerek depolamayı önemli ölçüde azaltır; örneğin, 1024 boyut sadece 128 bayta düşer. Benzerlik ölçütü de kosinüs mesafesinden Hamming mesafesine dönüşür, bu da daha hızlı bit işlemleri kullanılmasına olanak tanır. Bu yaklaşım, doğrulukta bir miktar kayba yol açsa da, depolama ve hız avantajları göz önüne alındığında, özellikle BM25 gibi klasik metin arama algoritmalarıyla birleştirildiğinde birçok uygulama için kabul edilebilir bir denge sunar.
Hamming mesafesi, iki ikili vektör arasındaki farklı bit konumlarının sayısını sayar. Daha düşük Hamming mesafesi, daha yüksek benzerlik anlamına gelir. Bu mesafe, vektörlerin XOR işlemiyle karşılaştırılması ve ardından sonuçtaki '1' bitlerinin (popcount) sayılmasıyla verimli bir şekilde hesaplanabilir. Modern CPU'lar, bu popcount işlemleri için özel talimatlara sahiptir, bu da hesaplamayı çok hızlı hale getirir. Bu işlevsellik, SQLite uzantısı olarak uygulanır; bu, SQLite'ı çatallamak veya harici araçlar kullanmak yerine özel SQL fonksiyonları kaydetmek için dinamik olarak yüklenen paylaşımlı kütüphaneler aracılığıyla gerçekleştirilir. Uzantı, iki BLOB argümanı alan ve bunların Hamming mesafesini döndüren bir hamming_distance fonksiyonunu kaydeder.
Bu yaklaşım, geliştiricilerin karmaşık semantik arama yeteneklerini harici bağımlılıklar olmadan doğrudan SQLite veritabanlarına entegre etmelerini sağlayarak maliyet ve performans avantajları sunar.