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 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 檔案。