Class: LLM::VoyageAI

Inherits:
Provider show all
Defined in:
lib/llm/providers/voyageai.rb,
lib/llm/providers/voyageai/error_handler.rb,
lib/llm/providers/voyageai/response_parser.rb

Defined Under Namespace

Modules: ResponseParser Classes: ErrorHandler

Constant Summary collapse

HOST =
"api.voyageai.com"

Instance Method Summary collapse

Methods inherited from Provider

#assistant_role, #audio, #chat, #chat!, #complete, #files, #images, #inspect, #models, #respond, #respond!, #responses

Constructor Details

#initialize(secret) ⇒ VoyageAI

Returns a new instance of VoyageAI.

Parameters:

  • secret (String)

    The secret key for authentication



11
12
13
# File 'lib/llm/providers/voyageai.rb', line 11

def initialize(secret, **)
  super(secret, host: HOST, **)
end

Instance Method Details

#embed(input, model: "voyage-2", **params) ⇒ LLM::Response::Embedding

Provides an embedding via VoyageAI per Anthropic’s recommendation

Parameters:

  • input (String, Array<String>)

    The input to embed

Returns:



20
21
22
23
24
25
# File 'lib/llm/providers/voyageai.rb', line 20

def embed(input, model: "voyage-2", **params)
  req = Net::HTTP::Post.new("/v1/embeddings", headers)
  req.body = JSON.dump({input:, model:}.merge!(params))
  res = request(@http, req)
  Response::Embedding.new(res).extend(response_parser)
end