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

應用 README

一旦您對生成的 README 檔案滿意,請使用以下命令將其中描述的更改應用於您的程式碼庫。

spring guide apply README-ai-jpa.md