跳转到内容

AzureOpenAIEmbeddings

参考文档

本页面包含 AzureOpenAIEmbeddings参考文档。有关使用 AzureOpenAIEmbeddings 的概念指南、教程和示例,请参阅文档

langchain_openai.embeddings.AzureOpenAIEmbeddings

基类:OpenAIEmbeddings

AzureOpenAI 嵌入模型集成。

设置

要访问 AzureOpenAI 嵌入模型,您需要创建一个 Azure 帐户,获取一个 API 密钥,并安装 langchain-openai 集成包。

您需要部署一个 Azure OpenAI 实例。您可以按照此指南在 Azure 门户上部署一个版本。

一旦您的实例运行,请确保您有实例的名称和密钥。您可以在 Azure 门户中实例的“密钥和终结点”部分找到密钥。

pip install -U langchain_openai

# Set up your environment variables (or pass them directly to the model)
export AZURE_OPENAI_API_KEY="your-api-key"
export AZURE_OPENAI_ENDPOINT="https://<your-endpoint>.openai.azure.com/"
export AZURE_OPENAI_API_VERSION="2024-02-01"

关键初始化参数 — completion params: model: 要使用的 AzureOpenAI 模型名称。dimensions: 嵌入的维度数量。仅当底层模型支持时才可指定。

有关支持的初始化参数及其描述的完整列表,请参见参数部分。

实例化
from langchain_openai import AzureOpenAIEmbeddings

embeddings = AzureOpenAIEmbeddings(
    model="text-embedding-3-large"
    # dimensions: int | None = None, # Can specify dimensions with new text-embedding-3 models
    # azure_endpoint="https://<your-endpoint>.openai.azure.com/", If not provided, will read env variable AZURE_OPENAI_ENDPOINT
    # api_key=... # Can provide an API key directly. If missing read env variable AZURE_OPENAI_API_KEY
    # openai_api_version=..., # If not provided, will read env variable AZURE_OPENAI_API_VERSION
)
嵌入单个文本

input_text = "The meaning of life is 42"
vector = embed.embed_query(input_text)
print(vector[:3])
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]

嵌入多个文本

input_texts = ["Document 1...", "Document 2..."]
vectors = embed.embed_documents(input_texts)
print(len(vectors))
# The first 3 coordinates for the first vector
print(vectors[0][:3])
2
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]

异步

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

# multiple:
# await embed.aembed_documents(input_texts)
[-0.009100092574954033, 0.005071679595857859, -0.0029193938244134188]

方法 描述
embed_documents

调用 OpenAI 的嵌入终结点以嵌入搜索文档。

embed_query

调用 OpenAI 的嵌入终结点以嵌入查询文本。

aembed_documents

异步调用 OpenAI 的嵌入终结点以嵌入搜索文档。

aembed_query

异步调用 OpenAI 的嵌入终结点以嵌入查询文本。

build_extra

根据传入的额外参数构建额外的关键字参数(kwargs)。

validate_environment

验证 API 密钥和 Python 包是否存在于环境中。

dimensions class-attribute instance-attribute

dimensions: int | None = None

生成的输出嵌入应具有的维度数。

仅在 text-embedding-3 及更高版本的模型中支持。

openai_api_base class-attribute instance-attribute

openai_api_base: str | None = Field(
    alias="base_url", default_factory=from_env("OPENAI_API_BASE", default=None)
)

API 请求的基础 URL 路径,如果不使用代理或服务模拟器,请留空。

embedding_ctx_length class-attribute instance-attribute

embedding_ctx_length: int = 8191

一次嵌入的最大令牌数。

openai_organization class-attribute instance-attribute

openai_organization: str | None = Field(
    alias="organization",
    default_factory=from_env(["OPENAI_ORG_ID", "OPENAI_ORGANIZATION"], default=None),
)

如果未提供,则从环境变量 `OPENAI_ORG_ID` 自动推断。

max_retries class-attribute instance-attribute

max_retries: int = 2

生成时允许的最大重试次数。

request_timeout class-attribute instance-attribute

request_timeout: float | tuple[float, float] | Any | None = Field(
    default=None, alias="timeout"
)

请求 OpenAI 完成 API 的超时时间。可以是浮点数、`httpx.Timeout` 或 None。

tiktoken_enabled class-attribute instance-attribute

tiktoken_enabled: bool = True

对于嵌入 API 的非 OpenAI 实现,请将此设置为 False,例如 text-generation-webui--extensions openai 扩展。

tiktoken_model_name class-attribute instance-attribute

tiktoken_model_name: str | None = None

使用此类时传递给 tiktoken 的模型名称。Tiktoken 用于计算文档中的令牌数量,以将其限制在特定限制以下。默认情况下,当设置为 None 时,这将与嵌入模型名称相同。但是,在某些情况下,您可能希望将此 Embedding 类与 tiktoken 不支持的模型名称一起使用。这可能包括使用 Azure 嵌入时,或使用众多提供类似 OpenAI API 但具有不同模型的模型提供商之一时。在这些情况下,为了避免在调用 tiktoken 时出错,您可以在此处指定要使用的模型名称。

show_progress_bar class-attribute instance-attribute

show_progress_bar: bool = False

嵌入时是否显示进度条。

model_kwargs class-attribute instance-attribute

model_kwargs: dict[str, Any] = Field(default_factory=dict)

保存任何未明确指定的、对 create 调用有效的模型参数。

skip_empty class-attribute instance-attribute

skip_empty: bool = False

在嵌入时是跳过空字符串还是引发错误。

retry_min_seconds class-attribute instance-attribute

retry_min_seconds: int = 4

两次重试之间等待的最小秒数。

retry_max_seconds class-attribute instance-attribute

retry_max_seconds: int = 20

两次重试之间等待的最大秒数。

http_client class-attribute instance-attribute

http_client: Any | None = None

可选的 `httpx.Client`。仅用于同步调用。如果您希望为异步调用使用自定义客户端,则还必须指定 `http_async_client`。

http_async_client class-attribute instance-attribute

http_async_client: Any | None = None

可选的 `httpx.AsyncClient`。仅用于异步调用。如果您希望为同步调用使用自定义客户端,则还必须指定 `http_client`。

check_embedding_ctx_length class-attribute instance-attribute

check_embedding_ctx_length: bool = True

是否检查输入的令牌长度,并自动分割超过 embedding_ctx_length 的输入。

azure_endpoint class-attribute instance-attribute

azure_endpoint: str | None = Field(
    default_factory=from_env("AZURE_OPENAI_ENDPOINT", default=None)
)

您的 Azure 端点,包括资源。

如果未提供,则自动从环境变量 AZURE_OPENAI_ENDPOINT 推断。

示例:https://example-resource.azure.openai.com/

deployment class-attribute instance-attribute

deployment: str | None = Field(default=None, alias='azure_deployment')

一个模型部署。

如果给定,则设置基础客户端 URL 以包含 /deployments/{azure_deployment}

注意

这意味着您将无法使用非部署端点。

openai_api_key class-attribute instance-attribute

openai_api_key: SecretStr | None = Field(
    alias="api_key",
    default_factory=secret_from_env(
        ["AZURE_OPENAI_API_KEY", "OPENAI_API_KEY"], default=None
    ),
)

如果未提供,则自动从环境变量 AZURE_OPENAI_API_KEY 推断。

openai_api_version class-attribute instance-attribute

openai_api_version: str | None = Field(
    default_factory=from_env("OPENAI_API_VERSION", default="2023-05-15"),
    alias="api_version",
)

如果未提供,则从环境变量 `OPENAI_API_VERSION` 自动推断。

如果未设置环境变量 OPENAI_API_VERSION,则默认设置为 '2023-05-15'

azure_ad_token class-attribute instance-attribute

azure_ad_token: SecretStr | None = Field(
    default_factory=secret_from_env("AZURE_OPENAI_AD_TOKEN", default=None)
)

您的 Azure Active Directory 令牌。

如果未提供,则自动从环境变量 AZURE_OPENAI_AD_TOKEN 推断。

更多信息,请参阅此页面。

azure_ad_token_provider class-attribute instance-attribute

azure_ad_token_provider: Callable[[], str] | None = None

一个返回 Azure Active Directory 令牌的函数。

将在每个同步请求中调用。对于异步请求,如果未提供 `azure_ad_async_token_provider`,则会调用此函数。

azure_ad_async_token_provider class-attribute instance-attribute

azure_ad_async_token_provider: Callable[[], Awaitable[str]] | None = None

一个返回 Azure Active Directory 令牌的函数。

将在每个异步请求中调用。

chunk_size class-attribute instance-attribute

chunk_size: int = 2048

每批嵌入的最大文本数

embed_documents

embed_documents(
    texts: list[str], chunk_size: int | None = None, **kwargs: Any
) -> list[list[float]]

调用 OpenAI 的嵌入终结点以嵌入搜索文档。

参数 描述
texts

要嵌入的文本列表。

类型: list[str]

chunk_size

嵌入的块大小。如果为 None,将使用类指定的块大小。

TYPE: int | None DEFAULT: None

kwargs

传递给嵌入 API 的额外关键字参数。

类型: Any 默认值: {}

返回 描述
list[list[float]]

嵌入列表,每个文本一个。

embed_query

embed_query(text: str, **kwargs: Any) -> list[float]

调用 OpenAI 的嵌入终结点以嵌入查询文本。

参数 描述
text

要嵌入的文本。

类型: str

kwargs

传递给嵌入 API 的额外关键字参数。

类型: Any 默认值: {}

返回 描述
list[float]

文本的嵌入。

aembed_documents async

aembed_documents(
    texts: list[str], chunk_size: int | None = None, **kwargs: Any
) -> list[list[float]]

异步调用 OpenAI 的嵌入终结点以嵌入搜索文档。

参数 描述
texts

要嵌入的文本列表。

类型: list[str]

chunk_size

嵌入的块大小。如果为 None,将使用类指定的块大小。

TYPE: int | None DEFAULT: None

kwargs

传递给嵌入 API 的额外关键字参数。

类型: Any 默认值: {}

返回 描述
list[list[float]]

嵌入列表,每个文本一个。

aembed_query async

aembed_query(text: str, **kwargs: Any) -> list[float]

异步调用 OpenAI 的嵌入终结点以嵌入查询文本。

参数 描述
text

要嵌入的文本。

类型: str

kwargs

传递给嵌入 API 的额外关键字参数。

类型: Any 默认值: {}

返回 描述
list[float]

文本的嵌入。

build_extra classmethod

build_extra(values: dict[str, Any]) -> Any

根据传入的额外参数构建额外的关键字参数(kwargs)。

validate_environment

validate_environment() -> Self

验证 API 密钥和 Python 包是否存在于环境中。

© . This site is unofficial and not affiliated with LangChain, Inc.