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>

為了進一步改進和提高準確性,您可以讓 ChatGPT 使用 --rewrite 選項重寫描述

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 註冊 建立帳戶,並在 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