AI 命令指南

像 OpenAI 的 ChatGPT 这样的大型语言模型为使用 AI 生成代码提供了强大的解决方案。ChatGPT 不仅接受了 Java 代码的训练,还接受了 Spring 开源生态系统中各种项目的训练。这使 Spring CLI 能够通过超越传统教程的功能来增强应用程序,以满足特定用例的需求。

使用简单的命令,您可以描述所需的功

CLI 还能够自动将生成的说明应用于您的代码库。

要开始使用,请使用以下命令

spring ai add <Describe what functionality you want to add here> --preview

细化生成的解决方案通常需要修改描述的迭代。spring ai add 命令的 --preview 选项会在不修改您的项目的情况下生成 README.md 文件,让您可以查看建议的更改。

一旦您对生成的 README.md 文件满意,您可以使用以下命令将其应用到您的代码库中

spring guide apply <Name of the guide markdown file>

为了进一步改进和提高准确性,您可以使用 --rewrite 选项让 ChatGPT 重写描述

spring ai add <Description of functionality> --preview --rewrite

本页其余部分的详细文档提供了有关每个命令的全面信息。

随着我们继续探索人工智能技术的潜力,我们预计将进一步完善结果,以满足 Spring 项目特定版本的需要。

示例

请考虑以下示例

spring ai add "JPA functionality with an integration test. Include all Java code in the same package." --preview

以下是使用先前命令创建的 README-ai-jpa.md 文件。

先决条件

在使用 AI 命令之前,请确保您拥有来自 OpenAI 的开发者令牌。

为此,请在 OpenAI 注册 创建一个帐户,并在 API 密钥 生成令牌。将密钥保存在您主目录(通常为 ~/.openai)下的名为 .openai 的文件中。

该文件应包含以下内容

OPEN_AI_API_KEY=<paste your key here>

使用 ai add

ai add 命令允许您使用 OpenAI 的 ChatGPT 生成的代码添加到您的项目中。

为此,请使用 --description 选项提供要添加的代码的简要描述,该命令将向 OpenAI 的 API 发送请求。

默认情况下,此命令会修改您的代码库。

以下列表显示了一个示例

spring ai add "JPA functionality"

此命令创建一个名为 README-ai-jpa.md 的文件,并将该文件中概述的更改应用到您的项目中。

代码生成可能需要 3-4 分钟。

预览响应

当您使用 --preview 选项时,会生成一个 README-ai-jpa.md 文件,而不会对项目进行任何更改。这使您可以查看文件并评估它是否提供了可接受的解决方案。

spring ai add "JPA functionality" --preview

此命令创建一个名为 README-ai-jpa.md 的文件。请记住,它不会修改您的项目,但它提供了查看内容并确定其是否适合您的特定需求的机会。

如果生成的说明满足您的需求,您可以使用 `spring guide apply README-ai-jpa.md` 命令将更改应用到您的代码库。

迭代以获得您想要的内容

如果您检查上一步中名为 README-ai-jpa.md 的文件,您会发现它没有包含任何测试。我们始终建议将测试作为最佳实践,因此应更新提供的描述。

这是使用 `ai add` 命令时得到的通用来回。

例如,在前面的情况下,创建的代码缺少集成测试。使用以下描述运行命令会得到想要的结果。

spring ai add "JPA functionality with an integration test. Include all Java code in the same package." --preview

这是使用上一个命令创建的 README-ai-jpa.md 文件。

自动重写项目描述

为了从 AI 模型获得更好的结果,您可以选择让 AI 模型重写项目描述。有时,开发人员会以简写或简洁的风格编写描述,这可能不会产生最佳结果。使用 `--rewrite` 选项可以让您要求 AI 模型重写描述,提供更清晰的意图并改进生成的代码。

请考虑以下示例

spring ai add "JPA functionality" --preview --rewrite

The description has been rewritten to be: Please provide instructions for creating a Spring Java application that utilizes JPA functionality.

Generating code.  This will take a few minutes ...

这是使用上一个命令创建的 README-ai-jpa.md 文件。

应用 `README`

对生成的 `README` 文件满意后,使用以下命令将其中描述的更改应用到您的代码库。

spring guide apply README-ai-jpa.md