OllamaEmbeddings#
- class langchain_community.embeddings.ollama.OllamaEmbeddings[source]#
基础类:
BaseModel
,Embeddings
自版本0.3.1起已弃用:请改用
:class:`~langchain_ollama.OllamaEmbeddings`
。在langchain-community==1.0.0之前不会移除。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][pydantic_core.ValidationError]。
self 被显式地设为仅位置参数,以允许 self 作为字段名称。
- param base_url: str = 'http://localhost:11434'#
模型托管的基础URL。
- param embed_instruction: str = 'passage: '#
用于嵌入文档的指令。
- param headers: dict | None = None#
传递给端点的额外头部信息(例如 Authorization, Referer)。 当 Ollama 托管在需要令牌进行身份验证的云服务上时,这非常有用。
- param mirostat: int | None = None#
启用Mirostat采样以控制困惑度。 (默认值:0,0 = 禁用,1 = Mirostat,2 = Mirostat 2.0)
- param mirostat_eta: float | None = None#
影响算法对生成文本反馈的响应速度。较低的学习率会导致调整较慢,而较高的学习率会使算法更敏感。(默认值:0.1)
- param mirostat_tau: float | None = None#
控制输出的一致性和多样性之间的平衡。较低的值将导致更集中和一致的文本。(默认值:5.0)
- param model: str = 'llama2'#
使用的模型名称。
- param model_kwargs: dict | None = None#
其他模型关键字参数
- param num_ctx: int | None = None#
设置用于生成下一个标记的上下文窗口的大小。(默认值:2048)
- param num_gpu: int | None = None#
使用的GPU数量。在macOS上,默认值为1以启用metal支持,0以禁用。
- param num_thread: int | None = None#
设置计算过程中使用的线程数。 默认情况下,Ollama 会自动检测以获得最佳性能。 建议将此值设置为系统物理 CPU 核心数(而不是逻辑核心数)。
- param query_instruction: str = 'query: '#
用于嵌入查询的指令。
- param repeat_last_n: int | None = None#
设置模型回溯的距离以防止重复。(默认值:64,0 = 禁用,-1 = num_ctx)
- param repeat_penalty: float | None = None#
设置对重复的惩罚力度。较高的值(例如1.5)将对重复进行更严厉的惩罚,而较低的值(例如0.9)则会更宽松。(默认值:1.1)
- param show_progress: bool = False#
是否显示tqdm进度条。必须安装tqdm。
- param stop: List[str] | None = None#
设置要使用的停止标记。
- param temperature: float | None = None#
模型的温度。增加温度会使模型的回答更具创造性。(默认值:0.8)
- param tfs_z: float | None = None#
尾部自由采样用于减少输出中不太可能的标记的影响。较高的值(例如2.0)将更多地减少影响,而值为1.0则禁用此设置。(默认值:1)
- param top_k: int | None = None#
减少生成无意义内容的概率。较高的值(例如100)将提供更多样化的答案,而较低的值(例如10)将更加保守。(默认值:40)
- param top_p: float | None = None#
与top-k一起工作。较高的值(例如0.95)将导致更多样化的文本,而较低的值(例如0.5)将生成更集中和保守的文本。(默认值:0.9)
- 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:
列表[浮点数]
使用 OllamaEmbeddings 的示例