Geminix.V1beta.Model (geminix v0.2.0)

Information about a Generative Language Model.

Fields:

  • :base_model_id (binary/0) - Required. The name of the base model, pass this to the generation request. Examples: * gemini-1.5-flash
  • :description (binary/0) - A short description of the model.
  • :display_name (binary/0) - The human-readable name of the model. E.g. "Gemini 1.5 Flash". The name can be up to 128 characters long and can consist of any UTF-8 characters.
  • :input_token_limit (integer/0) - Maximum number of input tokens allowed for this model.
  • :max_temperature (number/0) - The maximum temperature this model can use.
  • :name (binary/0) - Required. The resource name of the Model. Refer to Model variants for all allowed values. Format: models/{model} with a {model} naming convention of: "{base_model_id}-{version}" Examples: models/gemini-1.5-flash-001
  • :output_token_limit (integer/0) - Maximum number of output tokens available for this model.
  • :supported_generation_methods (list of binary/0) - The model's supported generation methods. The corresponding API method names are defined as Pascal case strings, such as generateMessage and generateContent.
  • :temperature (number/0) - Controls the randomness of the output. Values can range over [0.0,max_temperature], inclusive. A higher value will produce responses that are more varied, while a value closer to 0.0 will typically result in less surprising responses from the model. This value specifies default to be used by the backend while making the call to the model.
  • :thinking (boolean/0) - Whether the model supports thinking.
  • :top_k (integer/0) - For Top-k sampling. Top-k sampling considers the set of top_k most probable tokens. This value specifies default to be used by the backend while making the call to the model. If empty, indicates the model doesn't use top-k sampling, and top_k isn't allowed as a generation parameter.
  • :top_p (number/0) - For Nucleus sampling. Nucleus sampling considers the smallest set of tokens whose probability sum is at least top_p. This value specifies default to be used by the backend while making the call to the model.
  • :version (binary/0) - Required. The version number of the model. This represents the major version (1.0 or 1.5)

Summary

Functions

Create a Geminix.V1beta.Model.t/0 from a map returned by the Gemini API.

Types

t()

@type t() :: %Geminix.V1beta.Model{
  __meta__: term(),
  base_model_id: binary(),
  description: binary(),
  display_name: binary(),
  input_token_limit: integer(),
  max_temperature: number(),
  name: binary(),
  output_token_limit: integer(),
  supported_generation_methods: [binary()],
  temperature: number(),
  thinking: boolean(),
  top_k: integer(),
  top_p: number(),
  version: binary()
}

Functions

from_map(schema \\ %__MODULE__{}, map)

@spec from_map(t(), map()) :: {:ok, t()} | {:error, Ecto.Changeset.t()}

Create a Geminix.V1beta.Model.t/0 from a map returned by the Gemini API.

Sometimes, this function should not be applied to the full response body, but instead it should be applied to the correct part of the map in the response body. This depends on the concrete API call.