LocalAIEmbeddings#

class langchain_community.embeddings.localai.LocalAIEmbeddings[来源]#

基础类:BaseModel, Embeddings

LocalAI 嵌入模型。

由于LocalAI和OpenAI在API之间具有1:1的兼容性,此类使用openai Python包的openai.Embedding作为其客户端。因此,您应该安装openai Python包,并通过设置为随机字符串来覆盖环境变量OPENAI_API_KEY。您还需要指定OPENAI_API_BASE以指向您的LocalAI服务端点。

示例

from langchain_community.embeddings import LocalAIEmbeddings
openai = LocalAIEmbeddings(
    openai_api_key="random-string",
    openai_api_base="http://localhost:8080"
)

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

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

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

param allowed_special: Literal['all'] | Set[str] = {}#
param chunk_size: int = 1000#

每批嵌入的最大文本数量

param deployment: str = 'text-embedding-ada-002'#
param disallowed_special: Literal['all'] | Set[str] | Sequence[str] = 'all'#
param embedding_ctx_length: int = 8191#

一次嵌入的最大令牌数。

param headers: Any = None#
param max_retries: int = 6#

生成时的最大重试次数。

param model: str = 'text-embedding-ada-002'#
param model_kwargs: Dict[str, Any] [Optional]#

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

param openai_api_base: str | None = None#
param openai_api_key: str | None = None#
param openai_api_version: str | None = None#
param openai_organization: str | None = None#
param openai_proxy: str | None = None#
param request_timeout: float | Tuple[float, float] | None = None#

LocalAI请求的超时时间(以秒为单位)。

param show_progress_bar: bool = False#

是否在嵌入时显示进度条。

async aembed_documents(texts: List[str], chunk_size: int | None = 0) List[List[float]][source]#

异步调用LocalAI的嵌入端点以进行嵌入搜索文档。

Parameters:
  • texts (List[str]) – 要嵌入的文本列表。

  • chunk_size (int | None) – 嵌入的块大小。如果为None,将使用类指定的块大小。

Returns:

嵌入列表,每个文本对应一个。

Return type:

列表[列表[float]]

async aembed_query(text: str) List[float][来源]#

异步调用LocalAI的嵌入端点以嵌入查询文本。

Parameters:

文本 (str) – 要嵌入的文本。

Returns:

文本的嵌入。

Return type:

列表[float]

embed_documents(texts: List[str], chunk_size: int | None = 0) List[List[float]][来源]#

调用LocalAI的嵌入端点以进行嵌入搜索文档。

Parameters:
  • texts (List[str]) – 要嵌入的文本列表。

  • chunk_size (int | None) – 嵌入的块大小。如果为None,将使用类指定的块大小。

Returns:

嵌入列表,每个文本对应一个。

Return type:

列表[列表[float]]

embed_query(text: str) List[float][来源]#

调用LocalAI的嵌入端点以嵌入查询文本。

Parameters:

文本 (str) – 要嵌入的文本。

Returns:

文本的嵌入。

Return type:

列表[float]

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

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

Parameters:

(字典)

Return type:

字典

使用 LocalAIEmbeddings 的示例