最新の安定バージョンについては、Spring Cli 0.9.0 を使用してください!

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 [GitHub] (英語) ファイルがあります。

前提条件

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 [GitHub] (英語) を作成し、そのファイルに概説されている変更をプロジェクトに適用します。

NOTE : コードの生成には 3 ~ 4 分かかる場合があります。

レスポンスのプレビュー

--preview オプションを使用すると、プロジェクトに変更を加えずに README-ai-jpa.md ファイルが生成されます。これにより、ファイルを確認して、許容可能な解決策が提供されるかどうかを評価できます。

spring ai add "JPA functionality" --preview

このコマンドは、ファイル README-ai-jpa.md [GitHub] (英語) を作成します。プロジェクトは変更されませんが、コンテンツをレビューして、特定の要件に適合するかどうかを判断する機会が提供されることに注意してください。

生成された命令がニーズを満たしている場合は、コマンド spring guide apply README-ai-jpa.md を使用して変更をコードベースに適用できます。

必要なものを取得するために反復する

前の手順で作成したファイル README-ai-jpa.md [GitHub] (英語) を調べると、テストが含まれていないことがわかります。ベストプラクティスとしてテストを含めることが常に推奨されるため、提供される説明を更新する必要があります。

これは、ai add コマンドを使用するときに発生する一般的なやり取りです。

例: 前のケースでは、作成されたコードに統合テストがありませんでした。以下の説明を記載してコマンドを実行すると、期待どおりの結果が得られました。

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

ここには、前のコマンドを使用して作成された README-ai-jpa.md [GitHub] (英語) ファイルがあります。

プロジェクトの説明を自動的に書き換える

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 [GitHub] (英語) ファイルがあります。

README の適用

生成された README ファイルに満足したら、次のコマンドを使用して、ファイルに記述されている変更をコードベースに適用します。

spring guide apply README-ai-jpa.md