Getting Started with Vectra
Initialize a Client
require 'vectra'
# Initialize with Pinecone
client = Vectra::Client.new(
provider: :pinecone,
api_key: ENV['PINECONE_API_KEY'],
environment: 'us-west-4'
)
Basic Operations
Upsert Vectors
client.upsert(
vectors: [
{
id: 'vec-1',
values: [0.1, 0.2, 0.3],
metadata: { title: 'Document 1' }
},
{
id: 'vec-2',
values: [0.2, 0.3, 0.4],
metadata: { title: 'Document 2' }
}
]
)
Query (Search)
results = client.query(
vector: [0.1, 0.2, 0.3],
top_k: 5,
include_metadata: true
)
results.matches.each do |match|
puts "ID: #{match['id']}, Score: #{match['score']}"
end
Delete Vectors
client.delete(ids: ['vec-1', 'vec-2'])
Get Vector Stats
stats = client.stats
puts "Index dimension: #{stats['dimension']}"
puts "Vector count: #{stats['vector_count']}"
Configuration
Create a configuration file (Rails: config/initializers/vectra.rb):
Vectra.configure do |config|
config.provider = :pinecone
config.api_key = ENV['PINECONE_API_KEY']
config.environment = 'us-west-4'
end
# Later in your code:
client = Vectra::Client.new