Ollama
Ollama 支持在本地运行与管理开源模型,并提供 OpenAI 兼容的 API 接口用于生成 Embedding。seekdb 提供 OllamaEmbeddingFunction 封装,可通过 OpenAI 兼容接口调用 Ollama 的 embedding 模型。
提示
使用 Ollama 服务需要遵循 Ollama 的收费规则,可能产生相应费用。请在继续前,访问其官网或查阅相关文档,确认并接受其收费标准。如不同意,请勿继续操作。
依赖与环境
OllamaEmbeddingFunction 通过 OpenAI 兼容接口调用 Ollama 的 embedding 模型。通常需要:
-
Ollama 已安装并启动。
-
目标模型已在本地拉取(使用前需要
ollama pull <model_name>),例如:ollama pull nomic-embed-text -
Python 环境安装
pyseekdb与openai。
示例:创建 Ollama Embedding Function
-
基础用法
from pyseekdb.utils.embedding_functions import OllamaEmbeddingFunction
ef = OllamaEmbeddingFunction(model_name="nomic-embed-text") -
连接远端 Ollama(自定义 api_base)
from pyseekdb.utils.embedding_functions import OllamaEmbeddingFunction
ef = OllamaEmbeddingFunction(
model_name="nomic-embed-text",
api_base="http://remote-server:11434/v1",
timeout=30,
) -
指定 Dimensions(模型支持时可用)
from pyseekdb.utils.embedding_functions import OllamaEmbeddingFunction
ef = OllamaEmbeddingFunction(
model_name="nomic-embed-text",
dimensions=512,
)
参数说明:
model_name:本地已拉取的模型名称,例如nomic-embed-text。api_base:OpenAI 兼容的 Ollama API 基址;本地默认通常为http://localhost:11434/v1,远端需要替换为实际地址。timeout:请求超时时间(秒)。dimensions:输出向量维度(仅当所选模型/服务端支持时生效)。