defmodule ExOpenAi.Embedding do
@moduledoc """
Represents an embedding request to the OpenAI API.
- [OpenAI API Docs](https://platform.openai.com/docs/api-reference/embeddings)
"""
defstruct object: nil,
model: nil,
data: nil,
usage: nil
@type t :: %__MODULE__{
object: String.t(),
model: String.t(),
data: list(),
usage: map()
}
use ExOpenAi.Resource, import: [:new, :create]
def keep_it_simple(response, true) do
response
|> Map.get(:data)
|> Enum.map(fn data -> data.embedding end)
end
def keep_it_simple(response, _), do: response
end