interface ChatOpenAIFields {
    apiKey?: string;
    azureADTokenProvider?: (() => Promise<string>);
    azureOpenAIApiCompletionsDeploymentName?: string;
    azureOpenAIApiDeploymentName?: string;
    azureOpenAIApiEmbeddingsDeploymentName?: string;
    azureOpenAIApiInstanceName?: string;
    azureOpenAIApiKey?: string;
    azureOpenAIApiVersion?: string;
    azureOpenAIBasePath?: string;
    cache?: boolean | BaseCache<Generation[]>;
    callbackManager?: CallbackManager;
    callbacks?: Callbacks;
    configuration?: ClientOptions & LegacyOpenAIInput;
    frequencyPenalty?: number;
    logitBias?: Record<string, number>;
    logprobs?: boolean;
    maxConcurrency?: number;
    maxRetries?: number;
    maxTokens?: number;
    metadata?: Record<string, unknown>;
    model?: string;
    modelKwargs?: Record<string, any>;
    modelName?: string;
    n?: number;
    onFailedAttempt?: FailedAttemptHandler;
    openAIApiKey?: string;
    prefixMessages?: ChatCompletionMessageParam[];
    presencePenalty?: number;
    stop?: string[];
    stopSequences?: string[];
    streamUsage?: boolean;
    streaming?: boolean;
    supportsStrictToolCalling?: boolean;
    tags?: string[];
    temperature?: number;
    timeout?: number;
    topLogprobs?: number;
    topP?: number;
    user?: string;
    verbose?: boolean;
}

Hierarchy

Properties

apiKey?: string

API key to use when making requests to OpenAI. Defaults to the value of OPENAI_API_KEY environment variable.

azureADTokenProvider?: (() => Promise<string>)

A function that returns an access token for Microsoft Entra (formerly known as Azure Active Directory), which will be invoked on every request.

azureOpenAIApiCompletionsDeploymentName?: string

Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI. Completions are only available for gpt-3.5-turbo and text-davinci-003 deployments. This is the name of the deployment you created in the Azure portal. This will fallback to azureOpenAIApiDeploymentName if not provided. e.g. "my-openai-deployment" this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/

azureOpenAIApiDeploymentName?: string

Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI. This is the name of the deployment you created in the Azure portal. e.g. "my-openai-deployment" this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/

azureOpenAIApiEmbeddingsDeploymentName?: string

Azure OpenAI API deployment name to use for embedding when making requests to Azure OpenAI. This is the name of the deployment you created in the Azure portal. This will fallback to azureOpenAIApiDeploymentName if not provided. e.g. "my-openai-deployment" this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/

azureOpenAIApiInstanceName?: string

Azure OpenAI API instance name to use when making requests to Azure OpenAI. this is the name of the instance you created in the Azure portal. e.g. "my-openai-instance" this will be used in the endpoint URL: https://my-openai-instance.openai.azure.com/openai/deployments/{DeploymentName}/

azureOpenAIApiKey?: string

API key to use when making requests to Azure OpenAI.

azureOpenAIApiVersion?: string

API version to use when making requests to Azure OpenAI.

azureOpenAIBasePath?: string

Custom endpoint for Azure OpenAI API. This is useful in case you have a deployment in another region. e.g. setting this value to "https://westeurope.api.cognitive.microsoft.com/openai/deployments" will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/

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

Use callbacks instead

callbacks?: Callbacks
frequencyPenalty?: number

Penalizes repeated tokens according to frequency

logitBias?: Record<string, number>

Dictionary used to adjust the probability of specific tokens being generated

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.

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.

maxTokens?: number

Maximum number of tokens to generate in the completion. -1 returns as many tokens as possible given the prompt and the model's maximum context size.

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

Model name to use

modelKwargs?: Record<string, any>

Holds any additional parameters that are valid to pass to openai.createCompletion that are not explicitly specified on this class.

modelName?: string

Model name to use Alias for model

n?: number

Number of completions to generate for each prompt

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.

openAIApiKey?: string

API key to use when making requests to OpenAI. Defaults to the value of OPENAI_API_KEY environment variable. Alias for apiKey

prefixMessages?: ChatCompletionMessageParam[]

ChatGPT messages to pass as a prefix to the prompt

presencePenalty?: number

Penalizes repeated tokens

stop?: string[]

List of stop words to use when generating Alias for stopSequences

stopSequences?: string[]

List of stop words to use when generating

streamUsage?: boolean

Whether or not to include token usage data in streamed chunks.

true
streaming?: boolean

Whether to stream the results or not. Enabling disables tokenUsage reporting

supportsStrictToolCalling?: boolean

Whether the model supports the strict argument when passing in tools. If undefined the strict argument will not be passed to OpenAI.

tags?: string[]
temperature?: number

Sampling temperature to use

timeout?: number

Timeout to use when making requests to OpenAI.

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

Total probability mass of tokens to consider at each step

user?: string

Unique string identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

verbose?: boolean