GeminiClient

GeminiClient(**kwargs)

Client for Google’s Gemini API.
Uses either either api_key for authentication from the LLM config (specifying the GOOGLE_GEMINI_API_KEY environment variable also works), or follows the Google authentication mechanism for VertexAI in Google Cloud if no api_key is specified, where project_id and location can also be passed as parameters. Previously created credentials object can be provided, or a Service account key file can also be used. If neither a service account key file, nor the api_key are passed, then the default credentials will be used, which could be a personal account if the user is already authenticated in, like in Google Cloud Shell.

Parameters:
NameDescription
**kwargs

Class Attributes

PARAMS_MAPPING



Instance Methods

cost

cost(self, response) -> float
Parameters:
NameDescription
response

create

create(self, params: dict) -> ChatCompletionExtended
Parameters:
NameDescription
paramsType: dict

get_usage

get_usage(response) -> dict

Return usage summary of the response using RESPONSE_USAGE_KEYS.

Parameters:
NameDescription
response

message_retrieval

message_retrieval(self, response) -> list

Retrieve and return a list of strings or a list of Choice.Message from the response.
NOTE: if a list of Choice.Message is returned, it currently needs to contain the fields of OpenAI’s ChatCompletion Message object, since that is expected for function or tool calling in the rest of the codebase at the moment, unless a custom agent is being used.

Parameters:
NameDescription
response