Module: RubyLLM::Providers::OpenAI::Embeddings
- Included in:
- RubyLLM::Providers::OpenAI
- Defined in:
- lib/ruby_llm/providers/openai/embeddings.rb
Overview
Embeddings methods of the OpenAI API integration
Class Method Summary collapse
- .embedding_url ⇒ Object
- .parse_embedding_response(response, model:, text:) ⇒ Object
- .render_embedding_payload(text, model:, dimensions:) ⇒ Object
Class Method Details
.embedding_url ⇒ Object
10 11 12 |
# File 'lib/ruby_llm/providers/openai/embeddings.rb', line 10 def (...) 'embeddings' end |
.parse_embedding_response(response, model:, text:) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/ruby_llm/providers/openai/embeddings.rb', line 22 def (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
14 15 16 17 18 19 20 |
# File 'lib/ruby_llm/providers/openai/embeddings.rb', line 14 def (text, model:, dimensions:) { model: model, input: text, dimensions: dimensions }.compact end |