本地运行大型语言模型,使用 Ollama

Ollama 是一个在本地运行模型的绝佳工具。

Ollama 支持多种开源模型。在此处 (https://ollama.com/library) 查看模型库。

我们建议进行实验,找到最适合您用例的模型。以下是一些通用建议:

  • llama3.3 模型适合大多数基本用例。
  • qwen 模型在工具使用方面表现尤其出色。
  • deepseek-r1 模型具有强大的推理能力。
  • phi4 模型功能强大,但体积小巧。

设置模型

安装 ollama 并运行模型

run model
ollama run llama3.1

这将为您提供与模型的交互式会话。

或者,下载模型以在 Agno 代理中使用

pull model
ollama pull llama3.1

示例

在本地拥有模型后,使用 Ollama 模型类来访问它

from agno.agent import Agent, RunResponse
from agno.models.ollama import Ollama

agent = Agent(
    model=Ollama(id="llama3.1"),
    markdown=True
)

# 在终端中打印响应
agent.print_response("创作一个两句话的恐怖故事。")
在此处 (../examples/models/ollama) 查看更多示例。

参数

参数 (Parameter)类型 (Type)默认值 (Default)描述 (Description)
idstr"llama3.1"要使用的模型的 ID。
namestr"Ollama"模型的名称。
providerstr"Ollama"模型的提供商。
formatOptional[Any]None响应的格式。
optionsOptional[Any]None要传递给模型的附加选项。
keep_aliveOptional[Union[float, str]]None模型的保持活动时间。
request_paramsOptional[Dict[str, Any]]None要传递给请求的附加参数。
hostOptional[str]None要连接的主机。
timeoutOptional[Any]None连接的超时时间。
client_paramsOptional[Dict[str, Any]]None要传递给客户端的附加参数。
clientOptional[OllamaClient]None预先配置的 Ollama 客户端实例。
async_clientOptional[AsyncOllamaClient]None预先配置的异步 Ollama 客户端实例。
structured_outputsboolFalse是否为此模型使用结构化输出。
supports_structured_outputsboolTrue模型是否支持结构化输出。

OllamaModel 类的子类,可以访问相同的参数。