此專案是一個 Todo 應用程式實作範例,旨在展示如何使用 GitHub Copilot 使用 Azure OpenAI 和 Azure Cosmos DB 建構由 AI 驅動的 todo 應用程式。
已完成的應用程式位於已完成的分支中。
您可以使用 GitHub Codespaces 直接從瀏覽器處理此專案:選擇Code按鈕,然後選擇Codespaces選項卡,然後按一下Create Codespaces on main 。
您也可以使用 VS Code 的開發容器擴展,使用現成的開發環境在本地工作。
在開發環境中複製或開啟專案後,執行以下命令來安裝依賴項:
npm install
此專案的結構為 monorepo,並使用 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 >
由於應用程式依賴 Azure 服務來完成 OpenAI 和 Cosmos DB 存儲,因此您需要先在 Azure 上預配這些資源(請參閱如何設定部署)。
然後,執行以下命令來產生.env
檔:
azd env get-values > .env
.env
檔案準備好後,您可以透過在專案根目錄中執行以下命令來啟動應用程式:
npm run start
這將同時運行客戶端和伺服器:
該項目歡迎貢獻和建議。大多數貢獻都要求您同意貢獻者授權協議 (CLA),聲明您有權並且實際上授予我們使用您的貢獻的權利。有關詳細信息,請訪問 https://cla.opensource.microsoft.com。
當您提交拉取請求時,CLA 機器人將自動確定您是否需要提供 CLA 並適當地修飾 PR(例如,狀態檢查、評論)。只需按照機器人提供的說明進行操作即可。您只需使用我們的 CLA 在所有儲存庫中執行一次此操作。
該專案採用了微軟開源行為準則。有關詳細信息,請參閱行為準則常見問題解答或聯繫 [email protected] 提出任何其他問題或意見。
該項目可能包含項目、產品或服務的商標或標誌。 Microsoft 商標或標誌的授權使用須遵守且必須遵循 Microsoft 的商標和品牌指南。在此項目的修改版本中使用 Microsoft 商標或標誌不得混淆或暗示 Microsoft 贊助。任何對第三方商標或標誌的使用均須遵守這些第三方的政策。