LlamafileEmbeddings#

class langchain_community.embeddings.llamafile.LlamafileEmbeddings[source]#

基础类:BaseModel, Embeddings

Llamafile 允许您使用单个文件分发和运行大型语言模型。

要开始使用,请参阅:Mozilla-Ocho/llamafile

要使用这个类,你需要首先:

  1. 下载一个llamafile。

  2. 使下载的文件可执行:chmod +x path/to/model.llamafile

  3. 以服务器模式启动llamafile并启用嵌入功能:

    ./path/to/model.llamafile –server –nobrowser –embedding

示例

from langchain_community.embeddings import LlamafileEmbeddings
embedder = LlamafileEmbeddings()
doc_embeddings = embedder.embed_documents(
    [
        "Alpha is the first letter of the Greek alphabet",
        "Beta is the second letter of the Greek alphabet",
    ]
)
query_embedding = embedder.embed_query(
    "What is the second letter of the Greek alphabet"
)

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

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

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

param base_url: str = 'http://localhost:8080'#

llamafile 服务器监听的基础 URL。

param request_timeout: int | None = None#

服务器请求的超时时间

async aembed_documents(texts: list[str]) list[list[float]]#

异步嵌入搜索文档。

Parameters:

文本 (列表[字符串]) – 要嵌入的文本列表。

Returns:

嵌入列表。

Return type:

列表[列表[浮点数]]

async aembed_query(text: str) list[float]#

异步嵌入查询文本。

Parameters:

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

Returns:

嵌入。

Return type:

列表[浮点数]

embed_documents(texts: List[str]) List[List[float]][来源]#

使用运行在self.base_url的llamafile服务器嵌入文档。 在调用此方法之前,应在单独的进程中启动llamafile服务器。

Parameters:

文本 (列表[字符串]) – 要嵌入的文本列表。

Returns:

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

Return type:

列表[列表[float]]

embed_query(text: str) List[float][source]#

使用运行在self.base_url的llamafile服务器嵌入查询。 在调用此方法之前,应在单独的进程中启动llamafile服务器。

Parameters:

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

Returns:

文本的嵌入。

Return type:

列表[float]

使用 LlamafileEmbeddings 的示例