Ollama 工具支持发布

Ollama 现在支持工具调用(tool calling),使兼容的模型能够通过执行函数、访问 API 以及使用代码解释器与外部世界进行交互。此次更新允许本地模型超越静态文本生成,从而执行复杂的现实世界任务。

工具调用实现

Ollama 通过允许用户通过 Ollama API 中的 tools 字段提供可用工具列表来实现工具调用。当模型确定需要使用工具来回答提示词时,它会返回一个 tool_calls 响应,而不是标准的文本回复。

为了完成闭环,工具的输出会通过分配了 tool 角色的消息发送回模型。这种机制允许模型处理外部数据并向用户提供最终的、有依据的回答。

支持的模型

通过 Ollama 可用的特定子集模型支持工具调用。建议用户运行 ollama pull <model> 以确保他们拥有最新版本。支持的模型包括:

  • Llama 3.1
  • Mistral Nemo
  • Firefunction v2
  • Command-R +

OpenAI API 兼容性

Ollama 的 OpenAI 兼容端点现在支持工具。这允许开发者通过简单地将 base_url 更新为本地 Ollama 实例(例如 http://localhost:11434/v1),将其现有的基于 OpenAI 的工具调用实现切换到 Llama 3.1 等本地模型。

未来路线图

Ollama 已确定了未来改进其工具支持的两个主要领域:

  1. Streaming Tool Calls:这将使系统能够将工具调用流式传输回应用程序,从而在请求多个工具时让操作启动得更快。
  2. Tool Choice:此功能将允许开发者强制模型使用特定工具,无论其内部决策过程如何。

Sources

相关

  • 项目
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch