langchain_community.embeddings.ollama.OllamaEmbeddings

class langchain_community.embeddings.ollama.OllamaEmbeddings[source]

Bases: BaseModel, Embeddings

Ollama在本地运行大型语言模型。

要使用,请参考https://ollama.ai/上的说明。

示例

from langchain_community.embeddings import OllamaEmbeddings
ollama_emb = OllamaEmbeddings(
    model="llama:7b",
)
r1 = ollama_emb.embed_documents(
    [
        "Alpha is the first letter of Greek alphabet",
        "Beta is the second letter of Greek alphabet",
    ]
)
r2 = ollama_emb.embed_query(
    "What is the second letter of Greek alphabet"
)

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

如果输入数据无法解析为有效模型,则引发ValidationError。

param base_url: str = 'http://localhost:11434'

模型托管的基URL。

param embed_instruction: str = 'passage:'

用于嵌入文档的指令。

param headers: Optional[dict] = None

传递到端点(例如,Authorization,Referer)的额外头信息。当Ollama托管在需要令牌进行认证的云服务上时,这很有用。

param mirostat: Optional[int] = None

启用Mirostat采样以控制困惑度。(默认:0,0 = 禁用,1 = Mirostat,2 = Mirostat 2.0)

param mirostat_eta: Optional[float] = None

影响算法对生成的文本反馈的反应速度。较低的学习率会导致调整较慢,而较高的学习率会使算法更加灵敏。(默认:0.1)

参数 mirostat_tau: 可选[float] = None

控制输出之间的连贯性和多样性之间的平衡。值越低,文本越集中,连贯性越强。(默认:5.0)

参数 model : str = 'llama2'

要使用的模型名称。

参数 model_kwargs: 可选[dict] = None

其他模型关键字参数

参数 num_ctx: 可选[int] = None

设置用于生成下一个标记的上下文窗口大小。(默认:2048)

参数 num_gpu: 可选[int] = None

使用的GPU数量。在macOS上默认为1以启用metal支持,0以禁用。

参数 num_thread: 可选[int] = None

在计算期间设置要使用的线程数。默认情况下,Ollama将自动检测以获得最佳性能。建议将此值设置为您系统上的物理CPU核心数(而不是逻辑核心数)。

参数 query_instruction: str = 'query: '

用于嵌入查询的指令。

param repeat_last_n: Optional[int] = None

设置模型向后看的距离,以防止重复。 (默认:64,0 = 关闭,-1 = 环境数量)

param repeat_penalty: Optional[float] = None

设置重复的惩罚力度。较大的值(例如,1.5)会更强地惩罚重复,而较小的值(例如,0.9)则会更加宽容。(默认:1.1)

param show_progress: bool = False

是否显示 tqdm 进度条。必须有 tqdm 安装。

param stop: Optional[List[str]] = None

设置要使用的停止标记。

param temperature: Optional[float] = None

模型的温度。提高温度将使模型回答更具创造性。(默认:0.8)

param tfs_z: Optional[float] = None

尾巴自由采样用于减少输出中不常见标记的影响。较高的值(例如,2.0)将减少更多影响,而值为 1.0 将禁用此设置。(默认:1)

参数 top_k: Optional[int] = None

降低生成无意义内容的机会。值越大(例如100)生成的答案越多样化,而值越小(例如10)将更保守。(默认:40)

参数 top_p: Optional[float] = None

与top-k协同工作。值越大(例如,0.95)将导致更多样化的文本,而值越小(例如,0.5)将生成更专注和保守的文本。(默认:0.9)

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

异步嵌入搜索文档。

参数

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

返回

嵌入列表。

返回类型

列表[列表[浮点数]]

async aembed_query(text: str) List[float]

异步嵌入查询文本。

参数

text (字符串) – 要嵌入的文本。

返回

嵌入。

返回类型

列表[浮点数]

embed_documents(texts: List[str]) List[List[float]][源代码]

使用已部署的Ollama嵌入模型嵌入文档。

参数

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

返回

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

返回类型

列表[列表[浮点数]]

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

使用部署的Ollama嵌入模型对查询进行嵌入。

参数

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

返回

文本的嵌入向量。

返回类型

列表[浮点数]

使用OllamaEmbeddings的示例