工具支持
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]告知我们。