Current section
Files
Jump to
Current section
Files
lib/schemas/embedding/create_request.ex
defmodule OpenAi.Embedding.CreateRequest do
@moduledoc """
Provides struct and type for a Embedding.CreateRequest
"""
@type t :: %__MODULE__{
dimensions: integer | nil,
encoding_format: String.t() | nil,
input: String.t() | [integer] | [String.t()] | [[integer]],
model: String.t(),
user: String.t() | nil
}
defstruct [:dimensions, :encoding_format, :input, :model, :user]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
dimensions: :integer,
encoding_format: {:enum, ["float", "base64"]},
input: {:union, [{:string, :generic}, [:integer], [string: :generic], [[:integer]]]},
model:
{:union,
enum: ["text-embedding-ada-002", "text-embedding-3-small", "text-embedding-3-large"],
string: :generic},
user: {:string, :generic}
]
end
end