Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openai[patch]: Add API Reference docs to OpenAIEmbeddings #25290

Merged
merged 3 commits into from
Aug 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 76 additions & 10 deletions libs/partners/openai/langchain_openai/embeddings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,21 +99,87 @@ def _process_batched_chunked_embeddings(


class OpenAIEmbeddings(BaseModel, Embeddings):
"""OpenAI embedding models.
"""OpenAI embedding model integration.

To use, you should have the
environment variable ``OPENAI_API_KEY`` set with your API key or pass it
as a named parameter to the constructor.
Setup:
Install ``langchain_openai`` and set environment variable ``OPENAI_API_KEY``.

In order to use the library with Microsoft Azure endpoints, use
AzureOpenAIEmbeddings.
.. code-block:: bash

Example:
.. code-block:: python
pip install -U langchain_openai
export OPENAI_API_KEY="your-api-key"

from langchain_openai import OpenAIEmbeddings
Key init args — embedding params:
model: str
Name of OpenAI model to use.
dimensions: Optional[int] = None
The number of dimensions the resulting output embeddings should have.
Only supported in `text-embedding-3` and later models.

model = OpenAIEmbeddings(model="text-embedding-3-large")
Key init args — client params:
api_key: Optional[SecretStr] = None
OpenAI API key.
organization: Optional[str] = None
OpenAI organization ID. If not passed in will be read
from env var OPENAI_ORG_ID.
max_retries: int = 2
Maximum number of retries to make when generating.
request_timeout: Optional[Union[float, Tuple[float, float], Any]] = None
Timeout for requests to OpenAI completion API

See full list of supported init args and their descriptions in the params section.

Instantiate:
.. code-block:: python

from langchain_openai import OpenAIEmbeddings

embed = OpenAIEmbeddings(
model="text-embedding-3-large"
# With the `text-embedding-3` class
# of models, you can specify the size
# of the embeddings you want returned.
# dimensions=1024
)

Embed single text:

.. code-block:: python

input_text = "The meaning of life is 42"
vector = embeddings.embed_query("hello")
print(vector[:3])

.. code-block:: python

[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]

Embed multiple texts:

.. code-block:: python

vectors = embeddings.embed_documents(["hello", "goodbye"])
# Showing only the first 3 coordinates
print(len(vectors))
print(vectors[0][:3])

.. code-block:: python

2
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]

Async:
.. code-block:: python

await embed.aembed_query(input_text)
print(vector[:3])

# multiple:
# await embed.aembed_documents(input_texts)

.. code-block:: python

[-0.009100092574954033, 0.005071679595857859, -0.0029193938244134188]
"""

client: Any = Field(default=None, exclude=True) #: :meta private:
Expand Down
Loading