langchain/docs/integrations/openai.md
Leonid Ganeline e2d7677526
docs: compound ecosystem and integrations (#4870)
# Docs: compound ecosystem and integrations

**Problem statement:** We have a big overlap between the
References/Integrations and Ecosystem/LongChain Ecosystem pages. It
confuses users. It creates a situation when new integration is added
only on one of these pages, which creates even more confusion.
- removed References/Integrations page (but move all its information
into the individual integration pages - in the next PR).
- renamed Ecosystem/LongChain Ecosystem into Integrations/Integrations.
I like the Ecosystem term. It is more generic and semantically richer
than the Integration term. But it mentally overloads users. The
`integration` term is more concrete.
UPDATE: after discussion, the Ecosystem is the term.
Ecosystem/Integrations is the page (in place of Ecosystem/LongChain
Ecosystem).

As a result, a user gets a single place to start with the individual
integration.
2023-05-18 09:29:57 -07:00

1.8 KiB

OpenAI

This page covers how to use the OpenAI ecosystem within LangChain. It is broken into two parts: installation and setup, and then references to specific OpenAI wrappers.

Installation and Setup

  • Install the Python SDK with pip install openai
  • Get an OpenAI api key and set it as an environment variable (OPENAI_API_KEY)
  • If you want to use OpenAI's tokenizer (only available for Python 3.9+), install it with pip install tiktoken

Wrappers

LLM

There exists an OpenAI LLM wrapper, which you can access with

from langchain.llms import OpenAI

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

from langchain.llms import AzureOpenAI

For a more detailed walkthrough of the Azure wrapper, see this notebook

Embeddings

There exists an OpenAI Embeddings wrapper, which you can access with

from langchain.embeddings import OpenAIEmbeddings

For a more detailed walkthrough of this, see this notebook

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

from langchain.text_splitter import CharacterTextSplitter
CharacterTextSplitter.from_tiktoken_encoder(...)

For a more detailed walkthrough of this, see this notebook

Moderation

You can also access the OpenAI content moderation endpoint with

from langchain.chains import OpenAIModerationChain

For a more detailed walkthrough of this, see this notebook