An interface defining the input to the ChatGoogleGenerativeAI class.

interface GoogleGenerativeAIChatInput {
    apiKey?: string;
    apiVersion?: string;
    baseUrl?: string;
    cache?: boolean | BaseCache<Generation[]>;
    callbackManager?: CallbackManager;
    callbacks?: Callbacks;
    json?: boolean;
    maxConcurrency?: number;
    maxOutputTokens?: number;
    maxRetries?: number;
    metadata?: Record<string, unknown>;
    model?: string;
    modelName?: string;
    onFailedAttempt?: FailedAttemptHandler;
    safetySettings?: SafetySetting[];
    stopSequences?: string[];
    streamUsage?: boolean;
    streaming?: boolean;
    tags?: string[];
    temperature?: number;
    topK?: number;
    topP?: number;
    verbose?: boolean;
}

Hierarchy

Implemented by

Properties

apiKey?: string

Google API key to use

apiVersion?: string

Google API version to use

baseUrl?: string

Google API base URL to use

cache?: boolean | BaseCache<Generation[]>
callbackManager?: CallbackManager

Use callbacks instead

callbacks?: Callbacks
json?: boolean

Whether or not to force the model to respond with JSON. Available for gemini-1.5 models and later.

false
maxConcurrency?: number

The maximum number of concurrent calls that can be made. Defaults to Infinity, which means no limit.

maxOutputTokens?: number

Maximum number of tokens to generate in the completion.

maxRetries?: number

The maximum number of retries that can be made for a single call, with an exponential backoff between each attempt. Defaults to 6.

metadata?: Record<string, unknown>
model?: string

Model Name to use

Note: The format must follow the pattern - {model}

modelName?: string

Use "model" instead.

Model Name to use

Alias for model

Note: The format must follow the pattern - {model}

onFailedAttempt?: FailedAttemptHandler

Custom handler to handle failed attempts. Takes the originally thrown error object as input, and should itself throw an error if the input error is not retryable.

safetySettings?: SafetySetting[]

A list of unique SafetySetting instances for blocking unsafe content. The API will block any prompts and responses that fail to meet the thresholds set by these settings. If there is no SafetySetting for a given SafetyCategory provided in the list, the API will use the default safety setting for that category.

stopSequences?: string[]

The set of character sequences (up to 5) that will stop output generation. If specified, the API will stop at the first appearance of a stop sequence.

Note: The stop sequence will not be included as part of the response. Note: stopSequences is only supported for Gemini models

streamUsage?: boolean

Whether or not to include usage data, like token counts in the streamed response chunks.

true
streaming?: boolean

Whether to stream the results or not

tags?: string[]
temperature?: number

Controls the randomness of the output.

Values can range from [0.0,1.0], inclusive. A value closer to 1.0 will produce responses that are more varied and creative, while a value closer to 0.0 will typically result in less surprising responses from the model.

Note: The default value varies by model

topK?: number

Top-k changes how the model selects tokens for output.

A top-k of 1 means the selected token is the most probable among all tokens in the model’s vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature).

Note: The default value varies by model

topP?: number

Top-p changes how the model selects tokens for output.

Tokens are selected from most probable to least until the sum of their probabilities equals the top-p value.

For example, if tokens A, B, and C have a probability of .3, .2, and .1 and the top-p value is .5, then the model will select either A or B as the next token (using temperature).

Note: The default value varies by model

verbose?: boolean