langchain_community.embeddings.openai
.OpenAIEmbeddings¶
- class langchain_community.embeddings.openai.OpenAIEmbeddings[source]¶
基类:
BaseModel
,Embeddings
自版本 0.0.9 起已弃用: 请使用
langchain_openai.OpenAIEmbeddings
代替。OpenAI 嵌入模型。
使用时,您应该安装了
openai
Python 包,并且已设置环境变量OPENAI_API_KEY
为您的 API 密钥,或者将其作为命名参数传递给构造函数。示例
from langchain_community.embeddings import OpenAIEmbeddings openai = OpenAIEmbeddings(openai_api_key="my-api-key")
要使用与微软 Azure 端点配合的库,您需要设置
OPENAI_API_TYPE
,OPENAI_API_BASE
,OPENAI_API_KEY
和OPENAI_API_VERSION
。必须将OPENAI_API_TYPE
设置为 'azure',而其他选项对应于端点的属性。此外,必须将部署名称作为模型参数传递。示例
import os os.environ["OPENAI_API_TYPE"] = "azure" os.environ["OPENAI_API_BASE"] = "https://<your-endpoint.openai.azure.com/" os.environ["OPENAI_API_KEY"] = "your AzureOpenAI key" os.environ["OPENAI_API_VERSION"] = "2023-05-15" os.environ["OPENAI_PROXY"] = "http://your-corporate-proxy:8080" from langchain_community.embeddings.openai import OpenAIEmbeddings embeddings = OpenAIEmbeddings( deployment="your-embeddings-deployment-name", model="your-embeddings-model-name", openai_api_base="https://your-endpoint.openai.azure.com/", openai_api_type="azure", ) text = "This is a test query." query_result = embeddings.embed_query(text)
通过解析和验证来自关键字参数的输入数据来创建新模型。
如果输入数据无法解析为有效的模型,则引发 ValidationError。
- param allowed_special : Union[Literal['all'], Set[str]] = {}¶
- param chunk_size : int = 1000¶
每个批次中嵌入的最大文本数量
- param default_headers: Optional[Mapping[str, str]] = None¶
- param default_query: Optional[Mapping[str, object]] = None¶
- param deployment: Optional[str] = 'text-embedding-ada-002'¶
- param disallowed_special: Union[Literal['all'], Set[str], Sequence[str]] = 'all'¶
- param embedding_ctx_length: int = 8191¶
一次嵌入的最大token数量。
- param headers: Any = None¶
- param http_client: Optional[Any] = None¶
可选的httpx.Client。
- param max_retries: int = 2¶
生成时最大重试次数。
- 参数 model: str = 'text-embedding-ada-002'¶
- 参数 model_kwargs: Dict[str, Any] [Optional]¶
存储任何有效的模型参数,这些参数适用于 create 调用但没有明确指定。
- 参数 openai_api_base: Optional[str] = None (同义词: base_url)¶
API请求的基本URL路径,如果不使用代理或服务模拟器,则为空。
- 参数 openai_api_key: Optional[str] = None (同义词: api_key)¶
如果没有提供,将自动从环境变量 OPENAI_API_KEY 中推断出来。
- 参数 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¶
将此设置为False,用于非OpenAI实现嵌入API,例如为“text-generation-webui”的“–extensions openai”扩展
- param tiktoken_model_name: Optional[str] = None¶
此类在调用时传递给 تنكيtoken 的模型名称。Tiktoken 用于统计文档中的标记数量,以限制其长度不超过特定的限制。默认情况下,当设置为 None 时,与此嵌入模型名称相同。然而,在某些情况下,您可能需要使用此嵌入类与 Tiktoken 不支持的模型名称配合使用。这可能包括在使用 Azure 嵌入或其他许多公开类似 OpenAI API 但使用不同模型的服务提供者时。在这些情况下,为了避免在调用 Tiktoken 时出错,您可以在此处指定要使用的模型名称。
- async aembed_documents(texts: List[str], chunk_size: Optional[int] = 0) List[List[float]] [source]¶
使用 OpenAI 的嵌入端点异步调用嵌入搜索文档。
- 参数
texts (列表(字符串)) – 要嵌入的文本列表。
chunk_size (可选(整数)) – 嵌入的块大小。如果为 None,将使用类指定的块大小。
- 返回值
嵌入列表,每个文本一个。
- 返回类型
列表(列表[浮点数])
- async aembed_query(text: 字符串) List[float] [source]¶
使用 OpenAI 的嵌入端点异步调用嵌入查询文本。
- 参数
text (字符串) – 要嵌入的文本。
- 返回值
文本的嵌入。
- 返回类型
列表(浮点数)