このプロジェクトは、Todo アプリの実装例であり、GitHub Copilot を使用して、Azure OpenAI と Azure Cosmos DB を使用して AI を活用した Todo アプリを構築する方法を紹介することを目的としています。
完成したアプリケーションは、完成したブランチにあります。
GitHub コードスペースを使用して、ブラウザから直接このプロジェクトで作業することができます。 [コード]ボタンを選択し、次に[コードスペース]タブを選択して、メインで [コードスペースの作成]をクリックします。
VS Code の Dev Containers 拡張機能を使用して、すぐに使用できる開発環境を使用してローカルで作業することもできます。
開発環境でプロジェクトを複製するか開いた後、次のコマンドを実行して依存関係をインストールします。
npm install
このプロジェクトはモノリポジトリとして構造化されており、NPM ワークスペースを利用します。次のように構成されています。
.devcontainer/ # Dev container configuration
.github/ # GitHub Actions CI/CD pipeline
packages/ # The different parts of our app
| - server/ # The Express server, hosting the API and the website
+- client/ # The website client
package.json # NPM workspace configuration
npm run build
このコマンドはクライアントとサーバーのパッケージを構築します。
Azure でリソースをプロビジョニングし、サービスをデプロイするには、Azure Dev CLI を使用します。
# Only needed once
azd auth login --use-device-code
# Provision and deploy infrastructure
azd up
インフラストラクチャを個別にプロビジョニングおよびデプロイすることもできます。
# Provision infrastructure
azd provision
# Deploy infrastructure
azd deploy
アプリケーションをローカルで実行するには、プロジェクトのルートにある.env
ファイルに次の内容を含む環境変数を設定する必要があります。
AZURE_OPENAI_ENDPOINT= < your Azure OpenAI endpoint >
AZURE_COSMOS_DB_ENDPOINT= < your Azure Cosmos DB endpoint >
アプリケーションは OpenAI の完了と Cosmos DB ストレージに関して Azure サービスに依存しているため、最初にこれらのリソースを Azure にプロビジョニングする必要があります (「デプロイのセットアップ方法」を参照)。
次に、次のコマンドを実行して.env
ファイルを生成します。
azd env get-values > .env
.env
ファイルの準備ができたら、プロジェクトのルートで次のコマンドを実行してアプリケーションを開始できます。
npm run start
これにより、クライアントとサーバーの両方が実行されます。
このプロジェクトは貢献と提案を歓迎します。ほとんどの投稿では、投稿を使用する権利をお客様が有しており、実際に当社に付与することを宣言する投稿者ライセンス契約 (CLA) に同意する必要があります。詳細については、https://cla.opensource.microsoft.com をご覧ください。
プル リクエストを送信すると、CLA ボットが CLA を提供する必要があるかどうかを自動的に判断し、PR を適切に装飾します (ステータス チェック、コメントなど)。ボットが提供する指示に従ってください。 CLA を使用するすべてのリポジトリでこれを 1 回行うだけで済みます。
このプロジェクトはマイクロソフトのオープンソース行動規範を採用しています。詳細については、「行動規範に関するよくある質問」を参照するか、追加の質問やコメントがあれば [email protected] までお問い合わせください。
このプロジェクトには、プロジェクト、製品、またはサービスの商標またはロゴが含まれている場合があります。 Microsoft の商標またはロゴの許可された使用には、Microsoft の商標およびブランド ガイドラインが適用され、それに従わなければなりません。このプロジェクトの修正バージョンで Microsoft の商標またはロゴを使用することは、混乱を引き起こしたり、Microsoft のスポンサーであることを暗示したりしてはなりません。第三者の商標またはロゴの使用には、それらの第三者のポリシーが適用されます。