Function Calling (Tool Use)
探索函数调用 (Function Calling) 和工具使用如何授权 AI 与 API 及数据库进行交互。学习立即将 Ultralytics YOLO26 集成到代理工作流中。
函数调用 (通常被称为工具使用) 是现代 人工智能 (AI) 中的一种强大范式,它允许模型将其能力扩展到静态文本或图像生成之外。模型不再仅仅基于内部训练数据来回答提示,还可以输出结构化命令以触发外部编程函数、查询数据库或与 REST APIs 交互。这种方法有效地赋予了 AI 在数字环境中采取切实行动的能力。
当 AI 系统利用函数调用时,开发者会向模型提供一份使用 JSON Schema 描述的可用工具列表。如果用户的提示需要实时数据或特定操作,模型会暂停其标准的生成过程,并输出一个高度结构化的 JSON format 有效负载,以匹配所选工具所需的参数。像 OpenAI's function calling API 和 Anthropic's tool use framework 这样的框架已经普及了这项技术,将对话代理转变为能够解决问题的能手。
Link to this section实际应用#
将工具使用集成到工作流中改变了软件的运行方式。通过 Berkeley Function Calling Leaderboard 等基准测试的评估,这些功能正在推动系统向高度自治的方向转变。
- 自动化零售与客户服务: 在 AI in retail 中,虚拟助手可以使用函数调用来查询实时库存。如果客户询问“我的订单在哪里?”,模型会生成一个指向数据库 API 的函数调用,检索跟踪状态,并返回一段自然语言回复。
- 视觉辅助数据提取: 视觉语言模型 (VLM) 可以使用 Ultralytics YOLO 目标检测器作为工具。如果被要求核实工厂图像中的安全合规性,主要的对话式 AI 可以调用一个运行 Ultralytics YOLO26 模型的脚本来检测安全帽,并将 目标检测 结果无缝返回给用户的对话中。
Link to this section将计算机视觉作为一种工具进行集成#
你可以将计算机视觉模型作为一种功能性工具提供给顶层的 AI agent。在这种架构中,你需要定义一个执行推理的 Python 方法,当需要视觉数据时,推理模型即可触发该方法。
from ultralytics import YOLO
# Define a specific tool function for an AI agent to call
def count_objects_in_scene(image_url: str) -> str:
# Load the highly efficient YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference to analyze the visual data
results = model(image_url)
object_count = len(results[0].boxes)
# Return structured context back to the calling AI system
return f"Vision Analysis: Detected {object_count} objects in the scene."
# Simulated function call executed by an AI system
print(count_objects_in_scene("https://ultralytics.com/images/bus.jpg"))Link to this section区分相关术语#
为了充分掌握现代 AI 架构,了解函数调用与类似概念之间的联系和区别非常有帮助:
- 模型上下文协议 (MCP): 虽然函数调用依赖于在模型提示中传递的特定 API 定义,但 MCP 是一种总体性的标准化架构。MCP 为连接 AI 模型与数据源创建了一个通用协议,而函数调用则是模型实际调用这些连接所使用的本地化机制。
- 检索增强生成 (RAG): RAG 是一种专门用于获取相关文本或文档以增强 LLM 提示的方法论。函数调用是一种更广泛的机制;AI 可以使用工具来执行 RAG,但它也可以使用工具将文件写入磁盘或发送电子邮件。你可以在 PyTorch Documentation 和 Google Gemini multimodal guides 中找到利用工具实现 RAG 的综合方案。
- AI Agent: AI Agent 是一个完整的自治系统,它能够感知环境并采取行动以实现目标。函数调用是赋予 Agent 执行这些行动能力的主要技能。在部署大规模 Agent 系统时,团队通常使用 Ultralytics Platform 来无缝训练和部署这些 Agent 用来观察世界的基础视觉模型。从静态模型转向 Agent 工作流的组织通常依赖像 TensorFlow 这样的深度学习库来优化这些函数进行通信的端点。






