此项目是一个 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 赞助。对第三方商标或徽标的任何使用均须遵守这些第三方的政策。