OpenAIEmbeddings¶
参考文档
此页面包含 OpenAIEmbeddings 的参考文档。有关使用 OpenAIEmbeddings 的概念指南、教程和示例,请参阅文档。
langchain_openai.embeddings.OpenAIEmbeddings ¶
基类:BaseModel, Embeddings
OpenAI 嵌入模型集成。
设置
安装 `langchain_openai` 并设置环境变量 `OPENAI_API_KEY`。
关键初始化参数 — 嵌入参数: model:要使用的 OpenAI 模型名称。 dimensions:生成的输出嵌入应具有的维度数。仅在 `text-embedding-3` 及更高版本的模型中受支持。
关键初始化参数 — 客户端参数: api_key:OpenAI API 密钥。 organization:OpenAI 组织 ID。如果未传入,将从环境变量 `OPENAI_ORG_ID` 读取。 max_retries:生成时进行的最大重试次数。 request_timeout:请求 OpenAI 完成 API 的超时时间。
有关支持的初始化参数及其描述的完整列表,请参见参数部分。
实例化
异步
| 方法 | 描述 |
|---|---|
build_extra |
根据传入的额外参数构建额外的关键字参数(kwargs)。 |
validate_environment |
验证 API 密钥和 Python 包是否存在于环境中。 |
embed_documents |
调用 OpenAI 的嵌入端点以嵌入搜索文档。 |
aembed_documents |
异步调用 OpenAI 的嵌入端点以嵌入搜索文档。 |
embed_query |
调用 OpenAI 的嵌入端点以嵌入查询文本。 |
aembed_query |
异步调用 OpenAI 的嵌入端点以嵌入查询文本。 |
dimensions 类属性 实例属性 ¶
dimensions: int | None = None
生成的输出嵌入应具有的维度数。
仅在 `text-embedding-3` 及更高版本的模型中受支持。
openai_api_version 类属性 实例属性 ¶
openai_api_version: str | None = Field(
default_factory=from_env("OPENAI_API_VERSION", default=None), alias="api_version"
)
如果未提供,则从环境变量 `OPENAI_API_VERSION` 自动推断。
openai_api_base 类属性 实例属性 ¶
openai_api_base: str | None = Field(
alias="base_url", default_factory=from_env("OPENAI_API_BASE", default=None)
)
API 请求的基础 URL 路径,如果不使用代理或服务模拟器,请留空。
openai_api_key 类属性 实例属性 ¶
openai_api_key: SecretStr | None | Callable[[], str] | Callable[[], Awaitable[str]] = (
Field(
alias="api_key", default_factory=secret_from_env("OPENAI_API_KEY", default=None)
)
)
如果未提供,则从环境变量 `OPENAI_API_KEY` 自动推断。
openai_organization 类属性 实例属性 ¶
openai_organization: str | None = Field(
alias="organization",
default_factory=from_env(["OPENAI_ORG_ID", "OPENAI_ORGANIZATION"], default=None),
)
如果未提供,则从环境变量 `OPENAI_ORG_ID` 自动推断。
request_timeout 类属性 实例属性 ¶
请求 OpenAI 完成 API 的超时时间。可以是浮点数、`httpx.Timeout` 或 None。
tiktoken_enabled 类属性 实例属性 ¶
tiktoken_enabled: bool = True
对于嵌入 API 的非 OpenAI 实现,请将此项设置为 False,例如 `text-generation-webui` 的 `--extensions openai` 扩展。
tiktoken_model_name 类属性 实例属性 ¶
tiktoken_model_name: str | None = None
使用此类时传递给 tiktoken 的模型名称。Tiktoken 用于计算文档中的令牌数量,以将其限制在特定限制以下。默认情况下,当设置为 None 时,这将与嵌入模型名称相同。但是,在某些情况下,您可能希望将此 Embedding 类与 tiktoken 不支持的模型名称一起使用。这可能包括使用 Azure 嵌入时,或使用众多提供类似 OpenAI API 但具有不同模型的模型提供商之一时。在这些情况下,为了避免在调用 tiktoken 时出错,您可以在此处指定要使用的模型名称。
model_kwargs 类属性 实例属性 ¶
保存任何未明确指定的、对 create 调用有效的模型参数。
http_client 类属性 实例属性 ¶
http_client: Any | None = None
可选的 `httpx.Client`。仅用于同步调用。如果您希望为异步调用使用自定义客户端,则还必须指定 `http_async_client`。
http_async_client 类属性 实例属性 ¶
http_async_client: Any | None = None
可选的 `httpx.AsyncClient`。仅用于异步调用。如果您希望为同步调用使用自定义客户端,则还必须指定 `http_client`。
check_embedding_ctx_length 类属性 实例属性 ¶
check_embedding_ctx_length: bool = True
是否检查输入的令牌长度并自动分割长于 embedding_ctx_length 的输入。