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