# AzureOpenAI

> **Class** in `@langchain/openai`

📖 [View in docs](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI)

Wrapper around OpenAI large language models.

To use you should have the `openai` package installed, with the
`OPENAI_API_KEY` environment variable set.

To use with Azure, import the `AzureOpenAI` class.

## Signature

```javascript
class AzureOpenAI
```

## Description

Any parameters that are valid to be passed to `openai.createCompletion` can be passed through modelKwargs, even
if not explicitly available on this class.

## Extends

- `OpenAI`

## Constructors

- [`constructor()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/constructor)

## Properties

- `apiKey`
- `azureADTokenProvider`
- `azureOpenAIApiDeploymentName`
- `azureOpenAIApiInstanceName`
- `azureOpenAIApiKey`
- `azureOpenAIApiVersion`
- `azureOpenAIBasePath`
- `azureOpenAIEndpoint`
- `batchSize`
- `bestOf`
- `cache`
- `callbacks`
- `caller`
- `client`
- `clientConfig`
- `frequencyPenalty`
- `lc_kwargs`
- `lc_namespace`
- `lc_runnable`
- `lc_serializable`
- `logitBias`
- `maxTokens`
- `metadata`
- `model`
- `modelKwargs`
- `modelName`
- `n`
- `name`
- `openAIApiKey`
- `organization`
- `ParsedCallOptions`
- `presencePenalty`
- `stop`
- `stopSequences`
- `streaming`
- `tags`
- `temperature`
- `timeout`
- `topP`
- `user`
- `verbose`
- `callKeys`
- `lc_aliases`
- `lc_attributes`
- `lc_id`
- `lc_secrets`
- `lc_serializable_keys`
- `profile`

## Methods

- [`_addVersion()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_addVersion)
- [`_batchWithConfig()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_batchWithConfig)
- [`_callWithConfig()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_callWithConfig)
- [`_filterInvocationParamsForTracing()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_filterInvocationParamsForTracing)
- [`_flattenLLMResult()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_flattenLLMResult)
- [`_generate()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_generate)
- [`_generateCached()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_generateCached)
- [`_getClientOptions()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_getClientOptions)
- [`_getOptionsList()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_getOptionsList)
- [`_getSerializedCacheKeyParametersForCall()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_getSerializedCacheKeyParametersForCall)
- [`_llmType()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_llmType)
- [`_modelType()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_modelType)
- [`_separateRunnableConfigFromCallOptions()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_separateRunnableConfigFromCallOptions)
- [`_separateRunnableConfigFromCallOptionsCompat()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_separateRunnableConfigFromCallOptionsCompat)
- [`_streamIterator()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_streamIterator)
- [`_streamLog()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_streamLog)
- [`_streamResponseChunks()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_streamResponseChunks)
- [`_transformStreamWithConfig()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_transformStreamWithConfig)
- [`assign()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/assign)
- [`asTool()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/asTool)
- [`batch()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/batch)
- [`completionWithRetry()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/completionWithRetry)
- [`generate()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/generate)
- [`generatePrompt()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/generatePrompt)
- [`getGraph()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/getGraph)
- [`getName()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/getName)
- [`getNumTokens()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/getNumTokens)
- [`identifyingParams()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/identifyingParams)
- [`invocationParams()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/invocationParams)
- [`invoke()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/invoke)
- [`pick()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/pick)
- [`pipe()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/pipe)
- [`serialize()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/serialize)
- [`stream()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/stream)
- [`streamEvents()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/streamEvents)
- [`streamLog()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/streamLog)
- [`toJSON()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/toJSON)
- [`toJSONNotImplemented()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/toJSONNotImplemented)
- [`transform()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/transform)
- [`withConfig()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/withConfig)
- [`withFallbacks()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/withFallbacks)
- [`withListeners()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/withListeners)
- [`withRetry()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/withRetry)
- [`withStructuredOutput()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/withStructuredOutput)
- [`_convertInputToPromptValue()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/_convertInputToPromptValue)
- [`deserialize()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/deserialize)
- [`isRunnable()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/isRunnable)
- [`lc_name()`](https://reference.langchain.com/javascript/langchain-openai/AzureOpenAI/lc_name)

## Examples

```typescript
const model = new OpenAI({
  modelName: "gpt-4",
  temperature: 0.7,
  maxTokens: 1000,
  maxRetries: 5,
});

const res = await model.invoke(
  "Question: What would be a good company name for a company that makes colorful socks?\nAnswer:"
);
console.log({ res });
```

---

[View source on GitHub](https://github.com/langchain-ai/langchainjs/blob/bc4466b222cac78b701fc006af1433f8d5f73569/libs/providers/langchain-openai/src/azure/llms.ts#L16)