Guide to AI Commands
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>
为了进一步改进并提高准确性,你可以让 ChatGPT 使用 --rewrite 选项来重写描述:
spring ai add <Description of functionality> --preview --rewrite
本页的其他部分中提供的详细文档,提供了有关每个命令的全面信息。
随着我们不断探索人工智能技术的潜力,我们预期将进一步细化结果,以迎合 Spring 项目的特定版本。 |
Example
请考虑以下示例:
spring ai add "JPA functionality with an integration test. Include all Java code in the same package." --preview
这里使用上一个命令创建的 README-ai-jpa.md 文件。
Prerequisite
在使用 AI 命令之前,请确保你拥有来自 OpenAI 的开发者令牌。
为此,在 OpenAI Signup 创建一个帐户,并在 API Keys 中生成令牌。将密钥保存在你的主目录(通常为 ~/.openai
)下的名为 .openai
的文件中。
该文件应包含以下内容:
OPEN_AI_API_KEY=<paste your key here>
Using ai add
“ai add”命令可以让你将使用 OpenAI 的 ChatGPT 生成的代码添加到你的项目。
为此,请使用 “--description” 选项提供你想要添加代码的简要说明,并且该命令将把请求发送到 OpenAI 的 API。
默认情况下,此命令会修改你的代码库。
以下列表显示了一个示例:
spring ai add "JPA functionality"
此命令会创建一个名为 README-ai-jpa.md 的文件,并将该文件概述的更改应用到你的项目。
代码生成可能需要 3-4 分钟。 |
Previewing the Response
当你使用 “--preview” 选项时,将生成一个 README-ai-jpa.md 文件,而不会对项目进行任何更改。这可让你审阅文件并评估它是否提供了一个可以接受的解决方案。
spring ai add "JPA functionality" --preview
此命令会创建一个名为 README-ai-jpa.md 的文件。请记住,它不会修改你的项目,但它提供了一个机会来审查内容并确定其是否适合你的特定需求。
如果生成的说明符合你的需求,则可以使用“spring guide apply README-ai-jpa.md”命令将更改应用到你的代码库。
Iterating to Get What You Want
如果你检查上一步中称作 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文件。
Rewriting the Project Description Automatically
为了从 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文件。