VoyageAI
voyageai
is a ruby client for VoyageAI
Installation
gem install voyageai
Usage
Embedding
Generating Single Embedding
require 'voyageai'
input = 'A quick brown fox jumps over the lazy dog.'
voyageai = VoyageAI::Client.new(api_key: 'pa-...') # or configure ENV['VOYAGEAI_API_KEY']
= voyageai.emed(input)
.model # "..."
.usage # "#<VoyageAI::Usage total_tokens=...>"
. # [0.0, ...]
Generating Multiple Embeddings
require 'voyageai'
input = [
'John is a musician.',
'Paul is a plumber.',
'George is a teacher.',
'Ringo is a doctor.',
]
voyageai = VoyageAI::Client.new(api_key: 'pa-...') # or configure ENV['VOYAGEAI_API_KEY']
= voyageai.(input)
.model # "..."
.usage # "#<VoyageAI::Usage total_tokens=...>"
. # [[0.0, ...], ...]
Reranking
require 'voyageai'
query = 'Who is the best person to call for a toilet?'
documents = [
'John is a musician.',
'Paul is a plumber.',
'George is a teacher.',
'Ringo is a doctor.',
]
voyageai = VoyageAI::Client.new(api_key: 'pa-...') # or configure ENV['VOYAGEAI_API_KEY']
rerank = voyageai.rerank(query:, documents:, top_k: 3)
rerank.model # "..."
rerank.usage # "#<VoyageAI::Usage total_tokens=...>"
rerank.results # [#<VoyageAI::Reranking index=0 relevance_score=0.5>]
Configuration
require 'voyageai'
VoyageAI.configure do |config|
config.api_key = 'pa-...' # defaults to ENV['VOYAGEAI_API_KEY']
config.host = 'https://api.voyageai.com'
config.version = 'v1'
config.timeout = 15 # seconds
config.logger = Logger.new(STDOUT)
end