Class: Ollama::Client::OpenAICompat::EmbeddingsAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/ollama/client/openai_compat.rb

Overview

Adapter for OpenAI-like embeddings create API.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ EmbeddingsAdapter

Returns a new instance of EmbeddingsAdapter.

Parameters:



74
75
76
# File 'lib/ollama/client/openai_compat.rb', line 74

def initialize(client)
  @client = client
end

Instance Method Details

#create(model:, input:, **opts) ⇒ Hash

Create embeddings in OpenAI-compatible format.

Parameters:

  • model (String)
  • input (String, Array<String>)
  • opts (Hash)

    additional options

Returns:

  • (Hash)

    OpenAI-style embeddings response



83
84
85
86
87
88
89
90
91
92
93
# File 'lib/ollama/client/openai_compat.rb', line 83

def create(model:, input:, **opts)
  vectors = @client.embeddings.embed(model: model, input: input, **opts)
  vectors = [vectors] unless input.is_a?(Array)
  {
    "object" => "list",
    "data" => vectors.each_with_index.map do |emb, i|
      { "object" => "embedding", "embedding" => emb, "index" => i }
    end,
    "model" => model
  }
end