AzureOpenAIEmbeddings#
- class langchain_community.embeddings.azure_openai.AzureOpenAIEmbeddings[source]#
基础类:
OpenAIEmbeddings
自版本0.0.9起已弃用:请改用
:class:`~langchain_openai.AzureOpenAIEmbeddings`
。在langchain-community==1.0之前不会移除。Azure OpenAI Embeddings API.
通过解析和验证来自关键字参数的输入数据来创建一个新模型。
如果输入数据无法验证以形成有效模型,则引发 [ValidationError][pydantic_core.ValidationError]。
self 被显式地设为仅位置参数,以允许 self 作为字段名称。
- param allowed_special: Literal['all'] | Set[str] = {}#
- param azure_ad_async_token_provider: Callable[[], Awaitable[str]] | None = None#
返回Azure Active Directory令牌的函数。
将在每个异步请求上调用。
- param azure_ad_token: str | None = None#
您的 Azure Active Directory 令牌。
如果未提供,则自动从环境变量 AZURE_OPENAI_AD_TOKEN 推断。
更多信息: https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id.
- param azure_ad_token_provider: Callable[[], str] | None = None#
返回Azure Active Directory令牌的函数。
将在每次同步请求时调用。对于异步请求,如果未提供azure_ad_async_token_provider,则将被调用。
- param azure_endpoint: str | None = None#
您的Azure端点,包括资源。
如果未提供,则自动从环境变量 AZURE_OPENAI_ENDPOINT 推断。
示例:https://example-resource.azure.openai.com/
- param chunk_size: int = 1000#
每批嵌入的最大文本数量
- param default_headers: Mapping[str, str] | None = None#
- param default_query: Mapping[str, object] | None = None#
- param deployment: str | None = None (alias 'azure_deployment')#
模型部署。
如果给定,将基础客户端URL设置为包含/deployments/{azure_deployment}。 注意:这意味着您将无法使用非部署端点。
- param disallowed_special: Literal['all'] | Set[str] | Sequence[str] = 'all'#
- param embedding_ctx_length: int = 8191#
一次嵌入的最大令牌数。
- param headers: Any = None#
- param http_client: Any | None = None#
可选的 httpx.Client。
- param max_retries: int = 2#
生成时的最大重试次数。
- param model: str = 'text-embedding-ada-002'#
- param model_kwargs: Dict[str, Any] [Optional]#
保存任何适用于create调用但未明确指定的模型参数。
- param openai_api_base: str | None = None (alias 'base_url')#
API请求的基本URL路径,如果不使用代理或服务模拟器,请留空。
- param openai_api_key: str | None = None (alias 'api_key')#
如果未提供,则自动从环境变量 AZURE_OPENAI_API_KEY 推断。
- param openai_api_type: str | None = None#
- param openai_api_version: str | None = None (alias 'api_version')#
如果未提供,则自动从环境变量 OPENAI_API_VERSION 推断。
- param openai_organization: str | None = None (alias 'organization')#
如果未提供,则自动从环境变量 OPENAI_ORG_ID 推断。
- param openai_proxy: str | None = None#
- param request_timeout: float | Tuple[float, float] | Any | None = None (alias 'timeout')#
请求OpenAI完成API的超时时间。可以是浮点数、httpx.Timeout或None。
- param retry_max_seconds: int = 20#
重试之间等待的最大秒数
- param retry_min_seconds: int = 4#
重试之间等待的最小秒数
- param show_progress_bar: bool = False#
是否在嵌入时显示进度条。
- param skip_empty: bool = False#
在嵌入时是否跳过空字符串或引发错误。默认情况下不跳过。
- param tiktoken_enabled: bool = True#
对于非OpenAI实现的embeddings API,请将此设置为False,例如 –extensions openai 扩展用于 text-generation-webui
- param tiktoken_model_name: str | None = None#
在使用此类时传递给tiktoken的模型名称。 Tiktoken用于计算文档中的令牌数量,以限制它们不超过某个限制。默认情况下,当设置为None时,这将与嵌入模型名称相同。然而,在某些情况下,您可能希望将此嵌入类与tiktoken不支持的模型名称一起使用。这可能包括在使用Azure嵌入或使用许多模型提供商之一时,这些提供商暴露了一个类似OpenAI的API,但使用不同的模型。在这些情况下,为了避免在调用tiktoken时出错,您可以在此处指定要使用的模型名称。
- param validate_base_url: bool = True#
- async aembed_documents(texts: List[str], chunk_size: int | None = 0) List[List[float]] #
异步调用OpenAI的嵌入端点以进行嵌入搜索文档。
- Parameters:
texts (List[str]) – 要嵌入的文本列表。
chunk_size (int | None) – 嵌入的块大小。如果为None,将使用类指定的块大小。
- Returns:
嵌入列表,每个文本对应一个。
- Return type:
列表[列表[float]]
- async aembed_query(text: str) List[float] #
异步调用OpenAI的嵌入端点以嵌入查询文本。
- Parameters:
文本 (str) – 要嵌入的文本。
- Returns:
文本的嵌入。
- Return type:
列表[float]
- embed_documents(texts: List[str], chunk_size: int | None = 0) List[List[float]] #
调用OpenAI的嵌入端点以嵌入搜索文档。
- Parameters:
texts (List[str]) – 要嵌入的文本列表。
chunk_size (int | None) – 嵌入的块大小。如果为None,将使用类指定的块大小。
- Returns:
嵌入列表,每个文本对应一个。
- Return type:
列表[列表[float]]
- embed_query(text: str) List[float] #
调用OpenAI的嵌入端点以嵌入查询文本。
- Parameters:
文本 (str) – 要嵌入的文本。
- Returns:
文本的嵌入。
- Return type:
列表[float]
使用 AzureOpenAIEmbeddings 的示例