0Pricing
AI Prompt Engineering · 课时

LLM 的自定义工具与插件

开发并集成 LLM 可以利用的自定义工具,扩展其核心知识之外的能力

LLM 的自定义工具与插件 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 3 节课。

什么是自定义工具

欢迎来到“使用工具与智能体进行高级提示”课程的最后一课!今天,我们将深入了解大型语言模型(LLM)的自定义工具和插件。

自定义工具可以让 LLM 超越其训练数据,与现实世界或特定系统进行交互。您可以把它们想象成您教给 LLM 的特殊技能。

  • 扩展能力:添加新函数。
  • 访问实时数据:获取最新信息。
  • 执行操作:对外部系统进行更改。

自定义能力与内置能力对比

您已经了解了基础的函数调用和应用程序接口集成。自定义工具可以让这些能力更进一步。

虽然 LLM 可能天生就知道如何“总结文本”,但除非您为它提供相应工具,否则它并不知道如何“查看伦敦的天气”。自定义工具弥合了这一差距,为 LLM 提供核心知识库之外的特定外部能力。

自定义工具的构成

每个自定义工具都需要清晰的定义,这样 LLM 才知道何时以及如何使用它。主要组成部分包括:

  • 名称:唯一标识符(例如,get_current_time)。
  • 描述:解释工具的功能以及使用时机。这对 LLM 的决策至关重要。
  • 参数:工具运行所需的输入(例如,时间工具所需的 timezone)。
  • 预期输出:工具返回的信息类型。

使用架构描述工具

为了“教会”LLM 使用自定义工具,我们会以结构化格式提供工具定义,通常采用 JSON 架构。这一架构会告诉 LLM 正确调用工具所需了解的一切信息。

下面是对 get_current_time 工具进行描述的简化示例:

{
  "name": "get_current_time",
  "description": "Gets the current time in a specified timezone.",
  "parameters": {
    "type": "object",
    "properties": {
      "timezone": {
        "type": "string",
        "description": "The timezone to get the time for (e.g., UTC, America/New_York)."
      }
    },
    "required": []
  }
}

构建一个简单工具:获取时间

让我们创建一个实际示例:名为 get_current_time 的工具。这个工具只会返回当前时间,也可以选择返回指定时区的时间。

虽然 LLM 能够理解架构中的描述,但实际编写执行所述操作的代码是我们的责任。当 LLM 决定调用该工具时,这段代码会在外部运行。

工具实现示例

这段 Python 代码展示了 get_current_time 工具在幕后可能的实现方式。当 LLM 调用该工具时,它会执行这个函数(或您所选语言中的类似逻辑)并获取结果。

尝试运行它,看看输出结果吧!

import datetime

def get_current_time(timezone="UTC"):
    """
    Returns the current time in the specified timezone.
    """
    # For simplicity, we'll return UTC time and note timezone
    now = datetime.datetime.now(datetime.timezone.utc)
    return f"Current time in {timezone}: {now.strftime('%Y-%m-%d %H:%M:%S')} (UTC basis)"

# This is the entry point that would be called by the LLM's integration layer
if __name__ == "__main__":
    print(get_current_time())
    print(get_current_time(timezone="America/New_York"))

LLM 调用工具的流程

下面介绍 LLM 通常如何使用自定义工具:

  1. 用户提示词:您向 LLM 提出问题(例如,“纽约现在几点?”)。
  2. LLM 决策:LLM 会分析您的提示词和可用工具的描述。
  3. 工具调用:如果某个工具相关,LLM 会生成工具调用(例如,get_current_time(timezone="America/New_York"))。
  4. 执行:您的系统执行实际的工具代码。
  5. 结果:工具的输出会返回给 LLM。
  6. LLM 响应:LLM 使用工具的输出为您组织最终答案。

使用自定义工具进行提示

当您向能够访问自定义工具的 LLM 提示时,不需要明确告诉它使用工具。您只需提出一个暗示需要使用该工具的问题。

LLM 理解工具描述的能力是关键。优秀的描述能够帮助 LLM 在正确的时间选择正确的工具。

  • 提示词:"What is the current time right now?"
  • LLM 操作:调用 get_current_time()
  • 工具输出:"Current time in UTC: 2023-10-27 10:30:00 (UTC basis)"
  • LLM 响应:"The current time is 10:30 AM UTC."

自定义工具的优势

自定义工具为 LLM 解锁了强大的能力:

  • 领域专用性:为 LLM 提供超越通用训练范围的知识。
  • 实时交互:访问最新信息(例如股票价格、天气)。
  • 可执行的人工智能:让 LLM 能够执行操作(例如发送电子邮件、预约)。
  • 提高准确性:依靠基于事实的工具输出,减少幻觉。
  • 模块化:将 LLM 逻辑与外部系统交互分离。

快速检查:自定义工具

以下哪些是 LLM 的自定义工具定义中不可或缺的组成部分?

回顾:扩展 LLM 能力

本课中,我们探索了自定义工具和插件,这是一种扩展 LLM 能力的强大方式。

  • 自定义工具允许 LLM 与外部系统和数据进行交互。
  • 它们需要清晰的定义(名称、描述、参数),通常使用 JSON 架构。
  • 当 LLM 调用工具时,您需要实现实际运行的逻辑。
  • 自定义工具让 LLM 获得领域专用知识、访问实时数据并执行操作,从而超越简单的文本生成。

掌握自定义工具后,您就能构建真正智能且具有交互性的人工智能应用!

常见问题解答

「LLM 的自定义工具与插件」课时是免费的吗?

是的 — 「LLM 的自定义工具与插件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 3 节课。

「LLM 的自定义工具与插件」这节课中我会学到什么?

开发并集成 LLM 可以利用的自定义工具,扩展其核心知识之外的能力 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Prompt Engineering 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。

「LLM 的自定义工具与插件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Prompt Engineering 课中编写并运行代码吗?

能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 函数调用与 API 集成
  2. 多智能体提示系统
  3. LLM 的自定义工具与插件
← 返回 AI Prompt Engineering