AI 命令指南

像 OpenAI 的 ChatGPT 这样的大型语言模型,提供了利用人工智能生成代码的强大解决方案。 ChatGPT 不仅在 Java 代码上进行了训练,还在 Spring 开源生态系统内的各种项目上进行了训练。 这使得 Spring CLI 能够为应用程序增强功能,量身定制特定用例的需求,超越传统教程所能提供的范围。spring-doc.cadn.net.cn

使用一个简单的命令,您可以描述所需的功能,ChatGPT 便会生成一份全面的 README.md 文件,其中包含实现目标的逐步指导说明。 这就像是为您的项目需求量身定制的教程。spring-doc.cadn.net.cn

CLI 还能够自动将生成的指令应用到您的代码库中。spring-doc.cadn.net.cn

要开始使用,请运行以下命令:spring-doc.cadn.net.cn

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

优化生成的解决方案通常需要多次迭代修改描述。 --preview 选项的 spring ai add 命令会生成 README.md 文件而不修改您的项目,让您能够审查提议的更改。spring-doc.cadn.net.cn

一旦您对生成的 README.md 文件感到满意,您可以使用以下命令将其应用到您的代码库中:spring-doc.cadn.net.cn

spring guide apply <Name of the guide markdown file>

为了进一步的改进和准确性,您可以使用 --rewrite 选项让 ChatGPT 重写描述:spring-doc.cadn.net.cn

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

本页其余部分的详细文档提供了关于每个命令的全面信息。spring-doc.cadn.net.cn

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

例举

考虑以下示例:spring-doc.cadn.net.cn

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

此处是使用上一条命令创建的 README-ai-jpa.md 文件。spring-doc.cadn.net.cn

前置条件

在使用 AI 命令之前,请确保您拥有来自 OpenAI 的开发者Tokens。spring-doc.cadn.net.cn

为此,请在 OpenAI 注册 创建账户,并在 API 密钥 生成Tokens。将密钥保存在主目录(通常为 ~/.openai)下名为 .openai 的文件中。spring-doc.cadn.net.cn

该文件应包含以下内容:spring-doc.cadn.net.cn

OPEN_AI_API_KEY=<paste your key here>

使用人工智能添加

ai add 命令允许您向项目中添加由 OpenAI 的 ChatGPT 生成的代码。spring-doc.cadn.net.cn

为此,请使用 --description 选项提供您想要添加的代码的简要描述,该命令会将请求发送到 OpenAI 的 API。spring-doc.cadn.net.cn

默认情况下,此命令会修改您的代码库。spring-doc.cadn.net.cn

以下列表展示了一个示例:spring-doc.cadn.net.cn

spring ai add "JPA functionality"

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

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

预览响应

当您使用 --preview 选项时,将生成一个 README-ai-jpa.md 文件,且不会对项目进行任何更改。 这让您能够审查该文件,并评估其是否提供了可接受的解决方案。spring-doc.cadn.net.cn

spring ai add "JPA functionality" --preview

此命令会创建一个名为 README-ai-jpa.md 的文件。 请注意,它不会修改您的项目,但为您提供审查内容并确定其是否适合您特定需求的机会。spring-doc.cadn.net.cn

如果生成的指令符合您的需求,您可以使用 spring guide apply README-ai-jpa.md 命令将更改应用到您的代码库中。spring-doc.cadn.net.cn

迭代以获取所需内容

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

这是在使用 ai add 命令时通常会遇到的来回交互过程。spring-doc.cadn.net.cn

例如,在前面的案例中,创建的代码缺少集成测试。运行带有以下描述的命令得到了预期的结果。spring-doc.cadn.net.cn

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

以下是使用上一条命令创建的 README-ai-jpa.md 文件。spring-doc.cadn.net.cn

自动重写项目描述

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

考虑以下示例:spring-doc.cadn.net.cn

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 文件。spring-doc.cadn.net.cn

应用README

一旦您对生成的 README 文件感到满意,请使用以下命令将其中描述的更改应用到您的代码库中。spring-doc.cadn.net.cn

spring guide apply README-ai-jpa.md