深圳Yolo 视觉
深圳
立即加入
词汇表

函数调用(工具使用)

探索函数调用和工具使用如何赋能AI与API和数据库交互。立即学习如何将Ultralytics YOLO26集成到智能体工作流中。

函数调用,通常被称为工具使用,是现代人工智能 (AI)中一种强大的范式,它允许模型将其能力扩展到静态文本或图像生成之外。模型不再仅仅基于内部训练数据回答提示,而是可以输出结构化命令来触发外部编程函数、查询数据库或与REST API交互。这种方法有效地赋予了AI在数字环境中采取具体行动的能力。

当AI系统利用函数调用时,开发者会向模型提供一个使用JSON Schema描述的可用工具列表。如果用户的提示需要实时数据或特定操作,模型会暂停其标准生成过程,并输出一个高度结构化的JSON格式负载,以匹配所选工具的所需参数。诸如OpenAI的函数调用APIAnthropic的工具使用框架等框架已经普及了这项技术,将对话代理转变为有能力的解决问题者。

实际应用

将工具使用集成到工作流中,正在改变软件的运作方式。通过伯克利函数调用排行榜等基准进行评估,这些能力正在推动向高度自主系统转变。

  • 自动化零售和客户服务:AI in retail中,虚拟助手可以使用函数调用来查询实时库存。如果客户问:“我的订单在哪里?”,模型会向数据库 API 生成一个函数调用,检索track状态,并返回自然语言响应。
  • 视觉辅助数据提取: 视觉语言模型 (VLM) 可以使用 Ultralytics YOLO 对象 detect 器作为工具。如果被要求验证工厂图像中的安全合规性,主对话式 AI 可以调用运行 Ultralytics YOLO26 模型的脚本来 detect 安全帽,并无缝地将 object detection 结果返回到用户的对话中。

将计算机视觉作为工具集成

您可以将计算机视觉模型作为整体AI智能体的功能性工具暴露。在这种架构中,您定义一个执行推理的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"))

区分相关术语

为了全面理解现代AI架构,了解函数调用与类似概念的关系和区别会很有帮助:

  • 模型上下文协议 (MCP): 虽然函数调用依赖于模型提示中传递的特定 API 定义,但 MCP 是一种全面的标准化架构。MCP 创建了一个通用协议,用于将 AI 模型连接到数据源,而函数调用是模型实际调用这些连接的局部机制。
  • 检索增强生成 (RAG): RAG 是一种专门设计用于获取相关文本或文档以增强 LLM 提示的方法。函数调用是一种更广泛的机制;AI 可以使用工具执行 RAG,但也可以使用工具将文件写入磁盘或发送电子邮件。您可以在 PyTorch DocumentationGoogle Gemini 多模态指南中找到利用工具的 RAG 综合实现。
  • AI 代理 AI 代理是一个完整的 自主系统,它感知环境并采取行动以实现目标。函数调用是赋予代理执行这些行动能力的主要技能。在部署大规模代理系统时,团队通常使用 Ultralytics Platform 来无缝训练和部署这些代理调用以感知世界的底层视觉模型。从静态模型过渡到代理工作流的组织通常依赖于像 TensorFlow 这样的深度学习库来优化这些函数通信的端点。

让我们一起共建AI的未来!

开启您的机器学习未来之旅