使用说明
Cloudflare AI
此存储库包含各种包和演示应用程序,它们与在客户端使用Cloudflare的AI产品相关。这是一个由 Nx公司 和 变更集.
包裹
workers-ai-provider:启用的自定义提供程序 工人AI的模型 Vercel AI SDK.ai-gateway-provider: AI网关 提供商 Vercel AI SDK.
地方发展
-
克隆存储库。
git clone git@github.com:cloudflare/ai.git -
安装依赖项。
从根目录运行:
cd ai pnpm install -
发展。
为了启动特定应用程序的开发服务器(例如,
tool-calling):pnpm nx dev tool-calling理想情况下,所有命令都应该从存储库根目录执行
pnpm nx前缀。这将确保正确管理依赖关系图,例如,如果一个包依赖于另一个包的输出。 -
测试和梳理。
-
为了执行特定项目的持续集成测试(例如。,
workers-ai-provider):pnpm nx test:ci workers-ai-provider -
要提取特定项目,请执行以下操作:
pnpm nx lint my-project -
要对一个或多个项目运行更全面的任务(lint、测试、类型检查、构建):
pnpm nx run-many -t lint test:ci type-check build -p "my-project other-project"
- 其他Nx任务。
build:编译一个项目或一组项目。test:在监视模式下运行项目测试。test:ci:在CI模式下运行测试(无监视)。test:smoke:运行烟雾测试。type-check:执行TypeScript类型检查。
创建新的演示应用程序
为了构建一个新的演示应用程序,您可以使用 create-demo 脚本。此脚本将在 demos 目录。
pnpm create-demo <demo-name>
在创建应用程序之后, pnpm install 将运行以安装依赖项,以及 pnpm nx cf-typegen <demo-name> 将运行以生成演示应用程序的类型。然后,只需使用以下内容启动应用程序:
pnpm nx dev <demo-name>
贡献
我们感谢捐款,并鼓励提款请求。请遵循以下指南:
- 项目设置:分叉或克隆后,使用安装依赖项
pnpm install. - 分支:为您的功能或修复创建新的分支。
- 进行更改:
- 添加或更新相关测试。
- 在推送更改时,将运行自动任务(由赫斯基预推挂钩提供)。
- 更改集:如果您的更改影响已发布的包,请运行
pnpm changeset创建变更集。在变更集提示中提供更改的简明摘要。 - Pull Request:向
main支。如果一切正常,团队将对其进行审查并合并。
发布过程
此存储库使用 变更集 要管理版本控制和发布,请执行以下操作:
-
变更集创建:每当做出需要新版本的更改(例如,错误修复、新功能)时,运行:
pnpm changeset提供对更改的清晰描述。
-
合并:一旦变更集合并到
main,我们的GitHub Actions工作流将:
- 检测已更改的包,并创建版本包PR。
- 自动增加版本(通过变更集)。
- 将任何有版本号的包发布到npm。(演示和其他内部项目不需要版本控制。)
- 出版物:发布工作流程(
.github/workflows/release.yml)将在每一次推main它确保每个发布的包都被标记并在npm上发布。任何包含版本字段的包package.json将包括在此过程中。
如有任何疑问或指导,请打开问题或提交拉取请求。我们希望这种结构和流程能帮助您做出有效贡献。