Interface GoogleAIBaseLLMInput<AuthOptions>

Parameters needed to setup the client connection. AuthOptions are something like GoogleAuthOptions (from google-auth-library) or WebGoogleAuthOptions.

interface GoogleAIBaseLLMInput<AuthOptions> {
    apiConfig?: GoogleAIAPIConfig;
    apiKey?: string;
    apiName?: string;
    apiVersion?: string;
    authOptions?: AuthOptions;
    cache?: boolean | BaseCache<Generation[]>;
    callbackManager?: CallbackManager;
    callbacks?: Callbacks;
    concurrency?: number;
    convertSystemMessageToHumanContent?: boolean;
    endpoint?: string;
    frequencyPenalty?: number;
    location?: string;
    logprobs?: boolean;
    maxConcurrency?: number;
    maxOutputTokens?: number;
    maxRetries?: number;
    metadata?: Record<string, unknown>;
    model?: string;
    modelName?: string;
    onFailedAttempt?: FailedAttemptHandler;
    platformType?: GooglePlatformType;
    presencePenalty?: number;
    responseMimeType?: GoogleAIResponseMimeType;
    safetyHandler?: GoogleAISafetyHandler;
    safetySettings?: GoogleAISafetySetting[];
    stopSequences?: string[];
    streaming?: boolean;
    tags?: string[];
    temperature?: number;
    topK?: number;
    topLogprobs?: number;
    topP?: number;
    verbose?: boolean;
}

Type Parameters

  • AuthOptions

Hierarchy (view full)

Properties

apiConfig?: GoogleAIAPIConfig
apiKey?: string

Some APIs allow an API key instead

apiName?: string
apiVersion?: string

The version of the API functions. Part of the path.

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

Use callbacks instead

callbacks?: Callbacks
concurrency?: number

Use maxConcurrency instead

convertSystemMessageToHumanContent?: boolean
endpoint?: string

Hostname for the API call (if this is running on GCP)

frequencyPenalty?: number

Frequency penalty applied to the next token's logprobs, multiplied by the number of times each token has been seen in the respponse so far. A positive penalty will discourage the use of tokens that have already been used, proportional to the number of times the token has been used: The more a token is used, the more dificult it is for the model to use that token again increasing the vocabulary of responses. Caution: A negative penalty will encourage the model to reuse tokens proportional to the number of times the token has been used. Small negative values will reduce the vocabulary of a response. Larger negative values will cause the model to start repeating a common token until it hits the maxOutputTokens limit.

location?: string

Region where the LLM is stored (if this is running on GCP)

logprobs?: boolean

Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the content of message.

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 to use

modelName?: string

Model to use Alias for 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.

platformType?: GooglePlatformType

What platform to run the service on. If not specified, the class should determine this from other means. Either way, the platform actually used will be in the "platform" getter.

presencePenalty?: number

Presence penalty applied to the next token's logprobs if the token has already been seen in the response. This penalty is binary on/off and not dependant on the number of times the token is used (after the first). Use frequencyPenalty for a penalty that increases with each use. A positive penalty will discourage the use of tokens that have already been used in the response, increasing the vocabulary. A negative penalty will encourage the use of tokens that have already been used in the response, decreasing the vocabulary.

responseMimeType?: GoogleAIResponseMimeType

Available for gemini-1.5-pro. The output format of the generated candidate text. Supported MIME types:

  • text/plain: Text output.
  • application/json: JSON response in the candidates.
"text/plain"
safetyHandler?: GoogleAISafetyHandler
safetySettings?: GoogleAISafetySetting[]
stopSequences?: string[]
streaming?: boolean

Whether or not to stream.

false
tags?: string[]
temperature?: number

Sampling temperature to use

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).

topLogprobs?: number

An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. logprobs must be set to true if this parameter is used.

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).

verbose?: boolean