module RubyLLM::Providers::OpenAI::Embeddings
def embedding_url
def embedding_url 'embeddings' end
def parse_embedding_response(response)
def parse_embedding_response(response) data = response.body model_id = data['model'] input_tokens = data.dig('usage', 'prompt_tokens') || 0 vectors = data['data'].map { |d| d['embedding'] } # If we only got one embedding, return it as a single vector vectors = vectors.first if vectors.size == 1 Embedding.new( vectors: vectors, model: model_id, input_tokens: input_tokens ) end
def render_embedding_payload(text, model:)
def render_embedding_payload(text, model:) { model: model, input: text } end