Module: RubyLLM::Providers::Mistral::Embeddings

Included in:
RubyLLM::Providers::Mistral
Defined in:
lib/ruby_llm/providers/mistral/embeddings.rb

Overview

Embeddings methods for Mistral API

Class Method Summary collapse

Class Method Details

.embedding_urlObject



10
11
12
# File 'lib/ruby_llm/providers/mistral/embeddings.rb', line 10

def embedding_url(...)
  'embeddings'
end

.parse_embedding_response(response, model:, text:) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/ruby_llm/providers/mistral/embeddings.rb', line 21

def parse_embedding_response(response, model:, text:)
  data = response.body
  input_tokens = data.dig('usage', 'prompt_tokens') || 0
  vectors = data['data'].map { |d| d['embedding'] }

  vectors = vectors.first if vectors.length == 1 && !text.is_a?(Array)

  Embedding.new(vectors:, model:, input_tokens:)
end

.render_embedding_payload(text, model:, dimensions:) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



14
15
16
17
18
19
# File 'lib/ruby_llm/providers/mistral/embeddings.rb', line 14

def render_embedding_payload(text, model:, dimensions:) # rubocop:disable Lint/UnusedMethodArgument
  {
    model: model,
    input: text
  }
end