AI 命令指南
像 OpenAI 的 ChatGPT 这样的大型语言模型为使用 AI 生成代码提供了强大的解决方案。ChatGPT 不仅在 Java 代码上进行训练,还在 Spring 开源生态系统中的各种项目上进行训练。这使得 Spring CLI 能够通过超越传统教程提供的功能来增强应用程序,以满足特定用例的需求。
只需使用简单的命令,您就可以描述所需的功能,ChatGPT 将生成一个全面的 README.md
文件,其中提供了实现目标的逐步说明。这就像为您的项目需求创建定制教程一样。
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
本页面其余部分的详细文档提供了每个命令的全面信息。
随着我们继续探索 AI 技术的潜力,我们预计会进一步优化结果,以适应特定版本的 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 Signup 创建一个账户,并在 API Keys 生成令牌。将密钥保存在您的主目录(通常是 ~/.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 文件。