跳到主要内容
版本:V1.1.0

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 环境安装 pyseekdbopenai

示例:创建 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:输出向量维度(仅当所选模型/服务端支持时生效)。