Gemini.Types.Request.CountTokensRequest (GeminiEx v0.0.1)

View Source

Request structure for counting tokens.

Supports counting tokens for both simple contents and full GenerateContentRequest structures.

Summary

Functions

Create a new CountTokensRequest.

Convert request to map suitable for JSON encoding.

Types

t()

@type t() :: %Gemini.Types.Request.CountTokensRequest{
  contents: [Gemini.Types.Content.t()] | nil,
  generate_content_request:
    Gemini.Types.Request.GenerateContentRequest.t() | nil
}

Functions

new(input, opts \\ [])

@spec new(
  String.t()
  | [Gemini.Types.Content.t()]
  | Gemini.Types.Request.GenerateContentRequest.t(),
  keyword()
) :: {:ok, t()} | {:error, String.t()}

Create a new CountTokensRequest.

Parameters

  • input - Either contents (string/list) or a GenerateContentRequest
  • opts - Additional options

Examples

iex> CountTokensRequest.new("Hello world")
{:ok, %CountTokensRequest{contents: [%Content{...}]}}

iex> CountTokensRequest.new(generate_request)
{:ok, %CountTokensRequest{generate_content_request: generate_request}}

to_json_map(count_tokens_request)

@spec to_json_map(t()) :: map()

Convert request to map suitable for JSON encoding.

Only includes the non-nil field (either contents or generate_content_request).