> ## Documentation Index
> Fetch the complete documentation index at: https://langchain.idochub.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

All functionality related to OpenAI

> [OpenAI](https://en.wikipedia.org/wiki/OpenAI) is American artificial intelligence (AI) research laboratory
> consisting of the non-profit **OpenAI Incorporated**
> and its for-profit subsidiary corporation **OpenAI Limited Partnership**.
> **OpenAI** conducts AI research with the declared intention of promoting and developing a friendly AI.
> **OpenAI** systems run on an **Azure**-based supercomputing platform from **Microsoft**.
>
> The [OpenAI API](https://platform.openai.com/docs/models) is powered by a diverse set of models with different capabilities and price points.
>
> [ChatGPT](https://chat.openai.com) is the Artificial Intelligence (AI) chatbot developed by `OpenAI`.

## Installation and Setup

Install the integration package with:

<CodeGroup>
  ```bash pip theme={null}
  pip install langchain-openai
  ```

  ```bash uv theme={null}
  uv add langchain-openai
  ```
</CodeGroup>

Get an OpenAI api key and set it as an environment variable (`OPENAI_API_KEY`)

## Chat model

See a [usage example](/oss/python/integrations/chat/openai).

```python theme={null}
from langchain_openai import ChatOpenAI
```

If you are using a model hosted on `Azure`, you should use different wrapper for that:

```python theme={null}
from langchain_openai import AzureChatOpenAI
```

For a more detailed walkthrough of the `Azure` wrapper, see [here](/oss/python/integrations/chat/azure_chat_openai).

## LLM

See a [usage example](/oss/python/integrations/llms/openai).

```python theme={null}
from langchain_openai import OpenAI
```

If you are using a model hosted on `Azure`, you should use different wrapper for that:

```python theme={null}
from langchain_openai import AzureOpenAI
```

For a more detailed walkthrough of the `Azure` wrapper, see [here](/oss/python/integrations/llms/azure_openai).

## Embedding Model

See a [usage example](/oss/python/integrations/text_embedding/openai)

```python theme={null}
from langchain_openai import OpenAIEmbeddings
```

## Document Loader

See a [usage example](/oss/python/integrations/document_loaders/chatgpt_loader).

```python theme={null}
from langchain_community.document_loaders.chatgpt import ChatGPTLoader
```

## Retriever

See a [usage example](/oss/python/integrations/retrievers/chatgpt-plugin).

```python theme={null}
from langchain.retrievers import ChatGPTPluginRetriever
```

## Tools

### Dall-E Image Generator

> [OpenAI Dall-E](https://openai.com/dall-e-3) are text-to-image models developed by `OpenAI`
> using deep learning methodologies to generate digital images from natural language descriptions,
> called "prompts".

See a [usage example](/oss/python/integrations/tools/dalle_image_generator).

```python theme={null}
from langchain_community.utilities.dalle_image_generator import DallEAPIWrapper
```

## Adapter

See a [usage example](/oss/python/integrations/adapters/openai).

```python theme={null}
from langchain.adapters import openai as lc_openai
```

## Tokenizer

There are several places you can use the `tiktoken` tokenizer. By default, it is used to count tokens
for OpenAI LLMs.

You can also use it to count tokens when splitting documents with

```python theme={null}
from langchain.text_splitter import CharacterTextSplitter
CharacterTextSplitter.from_tiktoken_encoder(...)
```

For a more detailed walkthrough of this, see [this notebook](/oss/python/how-to/split_by_token/#tiktoken)

## Chain

See a [usage example](https://python.langchain.com/v0.1/docs/guides/productionization/safety/moderation).

```python theme={null}
from langchain.chains import OpenAIModerationChain
```
