langchain_openai embed.dianzi.xuanran
.OpenAIEmbedding¶
- classlangchain_openai embed.dianzi.xuanran.OpenAIEmbedding[source]¶
基类:
BaseModel
,Embedding
OpenAI 推理模型。
使用时,您需要在环境中设置环境变量
OPENAI_API_KEY
为您的 API 密钥,或者将其作为命名参数传递给构造函数。为了使用该库与 Microsoft Azure 端点,请使用 AzureOpenAIEmbedding。
示例
from langchain_openai import OpenAIEmbeddings model = OpenAIEmbeddings(model="text-embedding-3-large")
通过解析和验证从关键字参数输入的数据来创建一个新模型。
如果输入数据无法解析为有效模型,将引发 ValidationError。
- 参数allowed_special: Optional[Union[Literal['all'], Set[str]]]= None¶
- 参数check_bootstrap_context_length: bool = True¶
是否检查输入的标记长度并自动拆分超过 bootstrap_context_length 的输入。
- 参数chunk_size: int = 1000¶
每个批次中嵌入的最大文本文档数
- 参数default_headers: Optional[Mapping[str, str]]= None¶
- 参数 default_query: 可选[Mapping[str, object]] = None¶
- 参数 deployment: 可选[str] = 'text-embedding-ada-002'¶
- 参数 dimensions: 可选[int] = None¶
结果嵌入应具有的维度数量。
仅在 text-embedding-3 及以上版本中支持。
- 参数 disallowed_special: 可选[Union[Literal['all'], Set[str], Sequence[str]]] = None¶
- 参数 embedding_ctx_length: int = 8191¶
一次嵌入的最大标记数。
- 参数 headers: Any = None¶
- 参数 http_async_client: 可选[Any] = None¶
可选的httpx.AsyncClient。仅用于异步调用。如果需要同步调用的自定义客户端,还必须指定http_client。
- 参数 http_client: Optional[Any] = None¶
可选的httpx.Client。仅用于同步调用。如果需要异步调用的自定义客户端,还需指定http_async_client。
- 参数 max_retries : int = 2¶
当生成时最大重试次数。
- 参数 model: str = 'text-embedding-ada-002'¶
- 参数 model_kwargs: Dict[str, Any] [可选]¶
包含任何对 create 调用有效的模型参数,但没有明确指定。
- 参数 openai_api_base: Optional[str] = None (别称 'base_url')¶
API请求的基础URL路径,如果不使用代理或服务模拟器,请留空。
- 参数 openai_api_key: Optional[SecretStr] = None (别称 'api_key')¶
如果没有提供,将从环境变量 OPENAI_API_KEY 中自动推断。
- 约束
类型 = 字符串
写入时仅 = True
格式 = 密码
- 参数 openai_api_type: Optional[str] = None¶
- 参 数: openai_api_version: Optional[str] = None (别名 'api_version')¶
如果未提供,则自动从环境变量 OPENAI_API_VERSION 推断。
- 参 数: openai_organization: Optional[str] = None (别名 'organization')¶
如果未提供,则自动从环境变量 OPENAI_ORG_ID 推断。
- 参 数: openai_proxy: Optional[str] = None¶
- 参 数: request_timeout: Optional[Union[float, Tuple[float, float], Any] = None (别名 'timeout')¶
请求 OpenAI 完成API的的超时时间。可以是浮点数、httpx.Timeout 或 None。
- 参 数: retry_max_seconds: int = 20¶
重试之间的最大等待时间(秒)
- 参 数: retry_min_seconds: int = 4¶
重试之间的最小等待时间(秒)
- 参 数: show_progress_bar: bool = False¶
在嵌入时是否显示进度条。
- 参数skip_empty: bool = False¶
在嵌入时是否跳过空字符串或抛出错误。默认不跳过。
- 参数tiktoken_enabled: bool = True¶
对于非OpenAI的嵌入API实现,如用于《text-generation-webui》software的
- 参数tiktoken_model_name:
Optional[str] = None¶当使用此类时,将此模型名称传递给tikitoken。Tiktoken用于统计文档中的标记数量,以将它们约束在某个限制以下。默认情况下,当设置为None时,这将与嵌入模型名称相同。但有时你可能想使用此嵌入类与不支持Tiktoken的模型名称。这可以包括使用Azure嵌入或使用许多公开类似OpenAI API但使用不同模型的模型提供者之一。在这些情况下,为了避免在调用Tiktoken时出错,你可以在这里指定使用的模型名称。
- async def aembed_documents(texts: List[str], chunk_size: Optional[int] = 0) List[List[float]] [source]¶
异步调用OpenAI的嵌入端点进行文档嵌入。
- 参数
texts (List[str]) – 要嵌入的文本列表。
chunk_size (Optional[int]) – 嵌入的块大小。如果为None,将使用类中指定的块大小。
- 返回
嵌入列表,每个列表对应一条文本。
- 返回类型
List[List[float]]
- async aembed_query(text: str) List[float] [source]¶
异步调用 OpenAI 的嵌入端点以嵌入查询文本。
- 参数
text (str) – 要嵌入的文本。
- 返回
文本的嵌入。
- 返回类型
List[float]