Using sqlite-vec
in Ruby ​
Ruby developers can use sqlite-vec
with the sqlite-vec
Gem.
bash
gem install sqlite-vec
You can then use SqliteVec.load()
to load sqlite-vec
SQL functions in a given SQLite connection.
ruby
require 'sqlite3'
require 'sqlite_vec'
db = SQLite3::Database.new(':memory:')
db.enable_load_extension(true)
SqliteVec.load(db)
db.enable_load_extension(false)
result = db.execute('SELECT vec_version()')
puts result.first.first
See simple-ruby/demo.rb
for a more complete Ruby demo.
Working with vectors in Ruby ​
If your embeddings are provided as a list of numbers, use .pack("f*")
to convert them into the compact BLOB format that sqlite-vec
uses.
ruby
embedding = [0.1, 0.2, 0.3, 0.4]
result = db.execute("SELECT vec_length(?)", [query.pack("f*")]])
puts result.first.first # 4