OctoAI嵌入#

class langchain_community.embeddings.octoai_embeddings.OctoAIEmbeddings[source]#

基础类:OpenAIEmbeddings

OctoAI 计算服务嵌入模型。

查看 https://octo.ai/ 了解有关OctoAI的信息。

要使用,您应该安装openai python包,并设置环境变量OCTOAI_API_TOKEN为您的API令牌。或者,您可以使用octoai_api_token关键字参数。

通过解析和验证来自关键字参数的输入数据来创建一个新模型。

如果输入数据无法验证以形成有效模型,则引发 [ValidationError][pydantic_core.ValidationError]。

self 被显式地设为仅位置参数,以允许 self 作为字段名称。

param allowed_special: Literal['all'] | Set[str] = {}#
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 = 'text-embedding-ada-002'#
param disallowed_special: Literal['all'] | Set[str] | Sequence[str] = 'all'#
param embedding_ctx_length: int = 8191#

一次嵌入的最大令牌数。

param endpoint_url: str = 'https://text.octoai.run/v1/'#

API请求的基本URL路径。

param headers: Any = None#
param http_client: Any | None = None#

可选的 httpx.Client。

param max_retries: int = 2#

生成时的最大重试次数。

param model: str = 'thenlper/gte-large'#

使用的模型名称。

param model_kwargs: Dict[str, Any] [Optional]#

保存任何适用于create调用但未明确指定的模型参数。

param octoai_api_token: SecretStr | None = None#

OctoAI 端点 API 密钥。

param openai_api_base: str | None = None (alias 'base_url')#

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

param openai_api_key: str | None = None (alias 'api_key')#

如果未提供,则自动从环境变量 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 = False#

对于非OpenAI实现的embeddings API,将此设置为False

param tiktoken_model_name: str | None = None#

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

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]

classmethod validate_environment(values: dict) dict[source]#

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

Parameters:

(字典)

Return type:

字典

使用 OctoAIEmbeddings 的示例