langchain_community.embeddings.llamafile.LlamafileEmbeddings

class langchain_community.embeddings.llamafile.LlamafileEmbeddings[source]

基于: BaseModel, Embeddings

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

要开始,请参阅:https://github.com/Mozilla-Ocho/llamafile

使用这个类之前,您需要首先

  1. 下载一个 llamafile。

  2. 使下载的文件可执行: chmod +x 路径/到/model.llamafile

  3. 以服务器模式的嵌入开启启动 llamafile

    ./路径/到/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。

参数 base_url: str = 'http://localhost:8080'

llamafile 服务器监听的基本 URL。

参数 request_timeout: Optional[int] = None

服务器请求数据的超时时间。

async aembed_documents(texts: List[str]) List[List[float]]

异步嵌入文档。

参数

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

返回

嵌入列表。

返回类型

列表[列表[浮点数]]

async aembed_query(text: str) List[float]

异步嵌入查询文本。

参数

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

返回

嵌入。

返回类型

列表[浮点数]

embed_documents(texts: List[str]) List[List[float]][source]

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

参数

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

返回

每个文本一个嵌入列表。

返回类型

列表[列表[浮点数]]

embed_query(text: str) List[float][源代码]

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

参数

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

返回

文本的嵌入。

返回类型

列表[浮点数]

使用 LlamafileEmbeddings 的示例