当前位置:网站首页 > Java教程 > 正文

ai java教程



Spring 通过 Spring AI 项目正式启用了 AI(人工智能)生成提示功能。本文将带你了解如何在 Spring Boot 应用中集成生成式 AI,以及 Spring AI 如何与模型互动。

首先回顾一下一些关键的领域术语和概念。

Spring AI 最初专注于处理语言输入和生成语言输出的模型。该项目的理念是为开发人员提供一个抽象接口,为将生成式 AI 作为独立组件纳入应用奠定基础。

接口 就是这样一个抽象,它有两个基本实现: 和 。

为生成函数提供了两个选项。简化版生成函数:,使用 作为输入和输出,可以避免使用 和 类的额外复杂性。

在 AI 领域,Prompt(提示)是指提供给 AI 的文本信息。它由上下文和问题组成,该模型用于生成答案。 从 Spring AI 项目的角度来看, 是一个参数化 列表。

使开发人员能够对文本输入进行更多控制。Prompt 模板就是一个很好的例子,它使用预定义文本和占位符集构建。然后,可以使用传递给 构造函数的 值填充它们。

接口还包含有关 AI 模型可处理的消息(Message)类别的高级信息。例如,OpenAI 实现区分会话角色,通过 进行映射。对于其他模型,它可以反映消息格式或其他一些自定义属性。更多详情,请参阅 官方文档。

由 (生成)对象列表组成,每个对象都包含来自相应 (提示)的输出。此外, 对象还提供 AI 响应的元数据信息。

不过,由于 Spring AI 项目仍处于测试阶段,并非所有功能都已完成并文档化。请关注 GitHub repository 中的 issues 进展。

首先, 与 OpenAI 平台的所有通信都需要 API Key。为此,可以在 “API Keys” 页面上创建一个 Token。

Spring AI 项目定义了配置属性:。

可以在 文件中进行设置。

下一步是配置依赖。Spring AI 项目在 Spring 里程碑库(Spring Milestone Repository)中提供了组件。

因此,需要添加 定义:

之后,就可以导入 open-ai-spring-boot-starter:

Spring AI 项目正在积极发展,你可以查看 官方 GitHub 页面 了解最新版本。

现在,编写一个简单的 REST API 用于演示。它由两个端点组成,可以返回想要的任何主题和流派的诗歌:

  • :实现基本的 方法,并返回一个关于猫的的俳句(简单的字符串)。
  • :演示 和 类的功能。

为了简单起见,从 cathaiku 端点开始。通过 注解,设置 并添加 方法映射:

接下来,按照 DDD 概念,Service 层将定义所有 domain 逻辑。要调用 方法,只需将 注入到 中。现在,可以定义字符串 Prompt,并在其中指定生成俳句的请求。

启动端点,处理请求。响应包含一个简单的字符串:

目前看来效果不错,但目前的解决方案存在一些缺陷。首先,纯字符串响应并不是 REST 标准的**解决方案。

用固定的 Prompt 来查询 ChatGPT 并没有太大的价值。因此,下一步是添加参数值: 和 。这就是 的用武之地。

就其本质而言, 的工作方式与 和 的组合非常相似。

与 端点类似,首先定义 Prompt 的基本字符串,然后再定义用实际值填充的占位符名称:

接下来,对端点的输出进行标准化。为此,引入简单的 Record 类 - ,其中将包含诗歌标题(title)、名称(poetry)和流派(theme):

下一步是在 类中注册 ;它提供了序列化和反序列化 OpenAI API 输出的功能。

然后,把该解析器(Parser)提供给 ,现在,消息(Message)将被序列化为 DTO 对象。

最后,生成函数如下:

现在,客户收到的响应看起来要好得多,更重要的是,它符合 REST API 标准和**实践:

Spring AI 项目通过 类提供了 OpenAPI Error 的抽象。遗憾的是,它没有为每种 Error 类型提供单独的类映射。不过,得益于这种抽象,我们可以在一个 Handler 中使用 处理所有异常。

下面的代码使用了 Spring 6 的 标准。如果你还不熟悉该标准,请查阅 中文文档。

现在,如果 OpenAPI 响应包含错误,该 Advice 就会进行处理。下面是一个响应示例:

可能出现的异常状态的完整列表请参见 官方文档页面。

本文介绍了 Spring AI 项目及其在 REST API 方面的功能,它为生成式 AI 集成到 Spring Boot 应用中提供了一个可靠的接口。在撰写本文时,spring-ai-starter 仍在积极开发中(可以访问快照版本)。

本文介绍了与 Spring AI 的基本集成和高级集成,包括 的底层原理,还通过实际案例介绍了 Spring AI 高级功能的示例:、 和 以及异常处理。


Ref:

  • 上一篇: java mysql视频教程
  • 下一篇: ip17mon java 教程
  • 版权声明


    相关文章:

  • java mysql视频教程2024-12-31 16:58:02
  • 怎么看java视频教程2024-12-31 16:58:02
  • java字符型教程2024-12-31 16:58:02
  • java修改源码教程2024-12-31 16:58:02
  • java购物结算教程2024-12-31 16:58:02
  • ip17mon java 教程2024-12-31 16:58:02
  • java打折教程2024-12-31 16:58:02
  • java的mysql安装教程视频2024-12-31 16:58:02
  • java教程朱2024-12-31 16:58:02
  • 少儿java教程视频2024-12-31 16:58:02