工具支持
2024 年 7 月 25 日
Ollama 现在支持使用 Llama 3.1 等流行模型进行工具调用。这使模型能够使用它所知道的工具来回答给定的提示,从而使模型能够执行更复杂的任务或与外部世界交互。
示例工具包括
- 函数和 API
- 网页浏览
- 代码解释器
- 更多!
工具调用
要启用工具调用,请通过 Ollama API 中的 tools
字段提供可用工具列表。
import ollama
response = ollama.chat(
model='llama3.1',
messages=[{'role': 'user', 'content':
'What is the weather in Toronto?'}],
# provide a weather checking tool to the model
tools=[{
'type': 'function',
'function': {
'name': 'get_current_weather',
'description': 'Get the current weather for a city',
'parameters': {
'type': 'object',
'properties': {
'city': {
'type': 'string',
'description': 'The name of the city',
},
},
'required': ['city'],
},
},
},
],
)
print(response['message']['tool_calls'])
支持的模型现在将使用 tool_calls
响应进行回答。工具响应可以通过带有 tool
角色的消息提供。有关更多信息,请参阅 API 文档。
支持的模型
支持模型的列表可以在 模型页面上的工具类别 中找到
注意:请运行
ollama pull <model>
检查您是否拥有最新模型。
OpenAI 兼容性
Ollama 的 OpenAI 兼容端点现在也支持工具,从而可以切换到使用 Llama 3.1 和其他模型。
import openai
openai.base_url = "https://127.0.0.1:11434/v1"
openai.api_key = 'ollama'
response = openai.chat.completions.create(
model="llama3.1",
messages=messages,
tools=tools,
)
完整示例
未来改进
- 流式工具调用:将工具调用流式传输回来,以便在返回多个工具时更快地采取行动
- 工具选择:强制模型使用工具
让我们一起构建
我们很高兴为您带来工具支持,并期待您用它构建的东西!
如果您有任何反馈,请随时通过我们的 Discord 或 [email protected] 告诉我们。