Class for generating embeddings using the OpenAI API.
To use with Azure, import the AzureOpenAIEmbeddings class.
class OpenAIEmbeddingsEmbeddings<TOutput>The maximum number of documents to embed in a single request. This is limited by the OpenAI API to a maximum of 2048.
The async caller should be used by subclasses to make any async calls, which will thus benefit from the concurrency and retry logic.
The number of dimensions the resulting output embeddings should have.
Only supported in text-embedding-3 and later models.
The format to return the embeddings in. Can be either 'float' or 'base64'.
Model name to use
Whether to strip new lines from the input text. This is recommended by OpenAI for older models, but may not be suitable for all use cases. See: https://github.com/openai/openai-python/issues/418#issuecomment-1525939500
Timeout to use when making requests to OpenAI.
Private method to make a request to the OpenAI API to generate embeddings. Handles the retry logic and returns the response from the API.
Method to generate embeddings for an array of documents. Splits the documents into batches and makes requests to the OpenAI API to generate embeddings.
Method to generate an embedding for a single document. Calls the embeddingWithRetry method with the document as the input.
// Embed a query using OpenAIEmbeddings to generate embeddings for a given text
const model = new OpenAIEmbeddings();
const res = await model.embedQuery(
"What would be a good company name for a company that makes colorful socks?",
);
console.log({ res });