OllamaEmbeddings#

class langchain_ollama.embeddings.OllamaEmbeddings[source]#

基础类:BaseModel, Embeddings

Ollama嵌入模型集成。

Set up a local Ollama instance:

安装Ollama包并按照这里的说明设置本地Ollama实例:ollama/ollama

您需要选择一个模型来服务。

您可以通过模型库查看可用模型的列表(https://ollama.com/library)。

要从Ollama模型库中获取模型,请使用ollama pull

例如,要拉取llama3模型:

ollama pull llama3

这将下载模型的默认标记版本。 通常,默认指向最新、最小参数大小的模型。

  • 在Mac上,模型将被下载到~/.ollama/models

  • 在Linux(或WSL)上,模型将存储在/usr/share/ollama/.ollama/models

您可以指定感兴趣的模型的确切版本,例如 ollama pull vicuna:13b-v1.5-16k-q4_0

查看拉取的模型:

ollama list

开始服务:

ollama serve

查看Ollama文档以获取更多命令。

ollama help
Install the langchain-ollama integration package:
pip install -U langchain_ollama
Key init args — completion params:
model: str

使用的Ollama模型名称。

base_url: Optional[str]

模型托管的基础URL。

请参阅参数部分中支持的初始化参数及其描述的完整列表。

Instantiate:
from langchain_ollama import OllamaEmbeddings

embed = OllamaEmbeddings(
    model="llama3"
)
Embed single text:
input_text = "The meaning of life is 42"
vector = embed.embed_query(input_text)
print(vector[:3])
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]
Embed multiple texts:
 input_texts = ["Document 1...", "Document 2..."]
vectors = embed.embed_documents(input_texts)
print(len(vectors))
# The first 3 coordinates for the first vector
print(vectors[0][:3])
2
[-0.024603435769677162, -0.007543657906353474, 0.0039630369283258915]
Async:
 vector = await embed.aembed_query(input_text)
print(vector[:3])

 # multiple:
 # await embed.aembed_documents(input_texts)
[-0.009100092574954033, 0.005071679595857859, -0.0029193938244134188]

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

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

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

param base_url: str | None = None#

模型托管的基础URL。

param client_kwargs: dict | None = {}#

传递给httpx客户端的额外kwargs。 有关参数的完整列表,请参阅此链接

param model: str [Required]#

使用的模型名称。

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

嵌入搜索文档。

Parameters:

文本 (列表[字符串])

Return type:

列表[列表[float]]

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

嵌入查询文本。

Parameters:

文本 (str)

Return type:

列表[float]

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

嵌入搜索文档。

Parameters:

文本 (列表[字符串])

Return type:

列表[列表[float]]

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

嵌入查询文本。

Parameters:

文本 (str)

Return type:

列表[float]

使用 OllamaEmbeddings 的示例