Learn R Programming

aisdk (version 1.1.0)

GeminiLanguageModel: Gemini Language Model Class

Description

Language model implementation for Gemini's generateContent API.

Arguments

Super class

aisdk::LanguageModelV1 -> GeminiLanguageModel

Methods

Inherited methods


Method new()

Initialize the Gemini language model.

Usage

GeminiLanguageModel$new(model_id, config)

Arguments

model_id

The model ID (e.g., "gemini-1.5-pro").

config

Configuration list with api_key, base_url, headers, etc.


Method get_config()

Get the configuration list.

Usage

GeminiLanguageModel$get_config()

Returns

A list with provider configuration.


Method build_payload_internal()

Build the request payload for generation

Usage

GeminiLanguageModel$build_payload_internal(params, stream = FALSE)

Arguments

params

A list of call options.

stream

Whether to build for streaming

Returns

A list with url, headers, and body.


Method do_generate()

Generate text (non-streaming).

Usage

GeminiLanguageModel$do_generate(params)

Arguments

params

A list of call options including messages, temperature, etc.

Returns

A GenerateResult object.


Method do_stream()

Generate text (streaming).

Usage

GeminiLanguageModel$do_stream(params, callback)

Arguments

params

A list of call options.

callback

A function called for each chunk: callback(text, done).

Returns

A GenerateResult object.


Method format_tool_result()

Format a tool execution result for Gemini's API.

Usage

GeminiLanguageModel$format_tool_result(tool_call_id, tool_name, result_content)

Arguments

tool_call_id

The ID of the tool call (unused in Gemini but present for interface compatibility).

tool_name

The name of the tool.

result_content

The result content from executing the tool.

Returns

A list formatted as a message for Gemini API.


Method get_history_format()

Get the message format for Gemini.

Usage

GeminiLanguageModel$get_history_format()


Method clone()

The objects of this class are cloneable with this method.

Usage

GeminiLanguageModel$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.