5.1.1.1、【AI技术新纪元:Spring AI解码】功能调用

功能调用
您可以在 OpenAiChatClient 中注册自定义 Java 函数,并让 OpenAI 模型智能地选择输出一个包含参数的 JSON 对象,以调用一个或多个已注册的函数。这允许您将 LLM 功能与外部工具和 API 连接。OpenAI 模型被训练以检测何时应调用函数,并以符合函数签名的 JSON 响应。

OpenAI API 不会直接调用函数;相反,模型会生成 JSON,您可以使用该 JSON 在代码中调用函数,并将结果返回给模型以完成对话。

Spring AI 提供灵活且用户友好的方法来注册和调用自定义函数。通常情况下,自定义函数需要提供函数名称、描述和函数调用签名(作为 JSON 架构),以让模型知道该函数期望的参数。描述有助于模型理解何时调用函数。

作为开发者,您需要实现一个函数,该函数接受来自 AI 模型的函数调用参数,并将结果返回给模型。您的函数可以进一步调用其他第三方服务来提供结果。

Spring AI 使支持函数调用的代码编写变得简单。它为您代理了函数调用对话。您可以简单地将您的函数定义为 @Bean,然后在调用 ChatClient 时提供该函数的 bean 名称。您还可以在提示选项中引用多个函数 bean 名称。

功能调用的工作原理
假设我们希望 AI 模型响应它没有的信息,例如给定位置的当前温度。

我们可以为 AI 模型提供有关我们自己函数的元数据,以便在处理您的提示时使用这些信息来检索该信息。

例如,如果在处理提示的过程中,AI 模型确定需要了解给定位置的温度信息,它将启动一个服务器端生成的请求/响应交互。AI 模型调用客户端函数。AI 模型提供方法调用细节作为 JSON,客户端负责执行该函数并返回响应。

模型-客户端交互在 Spring AI 功能调用流程图中进行了说明。

相关推荐

  1. 5.1.1.1、【AI技术新纪元:Spring AI解码功能调用

    2024-03-20 23:16:01       38 阅读
  2. 5.7、【AI技术新纪元:Spring AI解码】Prompts

    2024-03-20 23:16:01       38 阅读
  3. 5.5.7、【AI技术新纪元:Spring AI解码】Redis

    2024-03-20 23:16:01       36 阅读
  4. 5.5.9、【AI技术新纪元:Spring AI解码】Qdrant

    2024-03-20 23:16:01       40 阅读
  5. 5.3、【AI技术新纪元:Spring AI解码】图像生成API

    2024-03-20 23:16:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 23:16:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 23:16:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 23:16:01       87 阅读
  4. Python语言-面向对象

    2024-03-20 23:16:01       96 阅读

热门阅读

  1. SpringBoot 如何快速过滤出一次请求的所有日志?

    2024-03-20 23:16:01       42 阅读
  2. rtt自动初始化机制学习

    2024-03-20 23:16:01       45 阅读
  3. Linux 系统编程

    2024-03-20 23:16:01       37 阅读
  4. 在vue中使用海康web3.2插件连接云台摄像机

    2024-03-20 23:16:01       40 阅读
  5. C++: 多态实现原理解析

    2024-03-20 23:16:01       41 阅读
  6. 合成孔径雷达(SAR)中的雷达/信号相位

    2024-03-20 23:16:01       45 阅读
  7. 洛谷B3745 [语言月赛202304] 你的牌太多了

    2024-03-20 23:16:01       41 阅读
  8. 1.SQL获取列数和行数

    2024-03-20 23:16:01       43 阅读
  9. 猜数字——二分查找

    2024-03-20 23:16:01       40 阅读