Ollama Python 库 0.4 版本发布说明
Ollama Python 库 0.4 允许开发者直接将 Python 函数作为工具提供给 LLM,无需手动定义 JSON 模式。此更新简化了将外部功能(如数学运算或 API 请求)集成到模型工作流中的过程。
直接将 Python 函数作为工具集成
开发者现在可以将实际的 Python 函数引用传递给 ollama.chat 方法的 tools 字段。这使得模型能够根据用户的提示请求执行特定函数。
实现流程
将函数作为工具集成遵循三步流程:
- 函数定义:定义标准的 Python 函数。为了获得最佳模型性能,开发者应为参数和返回值添加类型注解,并包含 Google 风格的文档字符串,以向模型提供必要的上下文。
- 传递工具:在调用
ollama.chat时,将函数引用包含在tools列表中。 - 执行:遍历
response.message.tool_calls以识别请求的函数,并使用模型提供的参数执行该函数。
对外部库的支持
此功能扩展到了现有的 Python 库和 SDK。例如,可以将 requests 库中的 request 函数作为工具传递,使模型能够触发 HTTP 请求以获取外部网页内容。
自动化 JSON 模式生成
Ollama Python 库 0.4 自动创建模型所需的工具定义。此前,这些 JSON 模式必须手动提供。
该库现在利用 Pydantic 和 文档字符串解析,从 Python 函数的签名和文档中自动生 JSON 模式。此过程提取函数名称、描述和参数类型(例如,将 Python 的 int 映射为 JSON 的 integer),以创建适用于 LLM 的有效工具定义。
库的其他增强功能
除了函数调用的改进,0.4 版本还引入了以下更新:
- 完整的类型支持:该库现在具备全面的类型支持,允许直接访问对象,同时保持与现有功能的向后兼容性。
- 更新的示例:官方 Ollama Python GitHub 仓库中提供了新的和更新的实现示例。
Sources
相关
- Dispatch
- Dispatch
- 项目
- Dispatch
- Dispatch