Current section
Files
Jump to
Current section
Files
lib/schemas/eval.ex
defmodule OpenAi.Eval do
@moduledoc """
Provides struct and type for a Eval
"""
@type t :: %__MODULE__{
created_at: integer,
data_source_config:
OpenAi.Eval.CustomDataSource.Config.t()
| OpenAi.Eval.StoredCompletions.DataSourceConfig.t(),
id: String.t(),
metadata: map,
name: String.t(),
object: String.t(),
testing_criteria: [
OpenAi.Eval.LabelModelGrader.t()
| OpenAi.Eval.PythonGrader.t()
| OpenAi.Eval.ScoreModelGrader.t()
| OpenAi.Eval.StringCheckGrader.t()
| OpenAi.Eval.TextSimilarityGrader.t()
]
}
defstruct [:created_at, :data_source_config, :id, :metadata, :name, :object, :testing_criteria]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
created_at: :integer,
data_source_config:
{:union,
[
{OpenAi.Eval.CustomDataSource.Config, :t},
{OpenAi.Eval.StoredCompletions.DataSourceConfig, :t}
]},
id: {:string, :generic},
metadata: :map,
name: {:string, :generic},
object: {:const, "eval"},
testing_criteria: [
union: [
{OpenAi.Eval.LabelModelGrader, :t},
{OpenAi.Eval.PythonGrader, :t},
{OpenAi.Eval.ScoreModelGrader, :t},
{OpenAi.Eval.StringCheckGrader, :t},
{OpenAi.Eval.TextSimilarityGrader, :t}
]
]
]
end
end